| TDDC60 |
Programming: Abstraction and Modelling, 7,5 ECTS credits.
/Programmering - abstraktion och modellering/
For:
CII
Mat
Y
|
| |
Prel. scheduled
hours: 96
Rec. self-study hours: 104
|
| |
Area of Education: Technology
Subject area: Computer Science
|
| |
Advancement level
(A-D): B
|
|
Aim:
The aim of this course is to give a modern introduction to computer science in general, and programming in particular. The structure of the course is partially based on MIT's introductory computer science course. The emphasis is on introducing various abstraction techniques as a basis for problem decomposition and program design.
|
|
Prerequisites: (valid for students admitted to programmes within which the course is offered)
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:
TDDB 11 Imperative Programming Languages.
TDDB 20 Programming - data structures and algorithms.
TDDA 69 Data and program structures.
|
|
Organisation:
Lectures, problem classes and laborations. The course continues throughout the entire autumn semester.
|
|
Course contents:
Introduction to the programming environment used during the labs.
The programming language SCHEME (a dialect of LISP): Procedures, Symbols, Lambda-notation, Expression, Lists, Higher-Order Procedures, Names and Environments.
Abstraction methods: data abstraction, procedure abstraction, standard interfaces, linguistic abstraction.
Data and program structures.
Recursive and Iterative Processes.
Evaluation Models and Strategies. Overview of various Programming Paradigms: Functional Programming, Imperative Programming, Object Oriented Programming, Data-Driven Programming, Logic Programming.
Models for program interpretation: Substitution Model, the Environment Model.
Strategies for program interpretation: normal-order, applicative order, delayed (or lazy) evaluation.
|
|
Course literature:
Abelson, H, Sussman, G, J, Structure and Interpretation of Computer Programs. MIT Press.
Compendium compiled at the Department of Computer and Information Science (IDA).
Further references:
Aho A, Hopcroft, J, E, Ullman, J, D, Data Structures and Algorithms, Addison-Wesley, 1987.
Haraldsson, A, Programmering i Lisp, (Swedish), Studentlitteratur 1993.
Harel, D, Algorithmics, Addison Wesley, 1992.
Lunell, H, Datalogi, en inledande översikt, (Swedish), Studentlitteratur, 1991.
Goldschlager, L, Lister, A, Computer Science - A Modern Introduction, 2nd edition, Prentice Hall, 1988
|
|
Examination: |
|
Written examination Computer exercises and documentation of a more comprehensive programming task Project assignment |
1 p 2 p 2 p
|
| |
|
Grades are given as â?~Failâ?T or â?~Passâ?T.
The written examination is given the first time as 3 quizzez within the course.
Next opportunity for the examination is i December and August. |
Course language is Swedish/English.
Department offering the course: IDA.
Director of Studies: Jalal Maleki
Examiner: Jalal Maleki
Course Syllabus in Swedish
|
|