TDDC74 |
Programming: Abstraction and Modelling, 8 ECTS credits.
/Programmering - abstraktion och modellering/
For:
Mat
MED
Y
Yi
|
|
Prel. scheduled
hours: 64
Rec. self-study hours: 149
|
|
Area of Education: Technology
Main field of studies: Computer Science, Computer Engineering
|
|
Advancement level
(G1, G2, A): G1
|
|
Aim:
After completing this course, the students should be able to use data and program structures to represent computational problems and their solutions. More specifically, the students should be able to:
- exhibit a good understanding of the basic concepts in computer programming
- use an interactive programming environment to systematically and incrementally construct programs
- represent recursive and interative algorithms for problem solving
- construct data and program structures that facilitate design of programs that are reusable, easy to understand and easy to maintain
- successfully carry out a small programming project and write the required documentation
|
|
Prerequisites: (valid for students admitted to programmes within which the course is offered)
Elementary computer usage.
Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshhold requirements for progression within the programme, or corresponding.
|
|
Supplementary courses:
Programming - data structures and algorithms. Data and program structures.
|
|
Organisation:
Lectures, problem classes and laboratory work with programming assignments. The course runs over the entire spring semester.
|
|
Course contents:
- Introduction to the programming environment used during the labs.
- The programming language SCHEME (a dialect of LISP): expressions, symbols, lists, variables and environments, lambda-notation, procedures, higher-order procedures.
- Abstraction methods: procedure abstraction, data abstraction with abstract data types and interfaces.
- Evaluation models: recursive and iterative processes.
- Basic data structures: trees, queues and tables. Pointers.
- Programming paradigms: functional, imperative and object oriented programming,
- Models for program interpretation: the substitution model and the environment model.
- Models for objects and state. Assignment.
- Organization and modularity of larger programs. Data-driven programming,
- Specification and documentation of a project.
|
|
Course literature:
Abelson, H, Sussman, G, J, Structure and Interpretation of Computer Programs. MIT Press. The book is available at
http://mitpress.mit.edu/sicp/full-text/book/book.html
|
|
Examination: |
|
Written examination Computer exercises and documentation of a more comprehensive programming task Project assignment Optional written test Optional written test |
2 ECTS 3 ECTS 3 ECTS 0 ECTS 0 ECTS
|
|
|
The written examination can be substituted by three quizzes during the first period of the course. Written examinations of the entire course are given in June, January and August. |
Course language is Swedish.
Department offering the course: IDA.
Director of Studies: Jalal Maleki
Examiner: Johannes Schmidt
Link to the course homepage at the department
Course Syllabus in Swedish
|