| TDDD33 |
Programming, 6 ECTS credits.
/Programmering/
For:
CS
|
| |
Prel. scheduled
hours: 102
Rec. self-study hours: 58
|
| |
Area of Education: Technology
Main field of studies: Computer Science, Computer Engineerring
|
| |
Advancement level
(G1, G2, A): G2
|
|
Aim:
In the course the student will work to gain programming skill in C++. It is not an introduction to programming, but may be used as such if the student is prepared to spend extra time learning the foundations of programming. The course focuses on experimental work aimed to discover an learn concepts and limitations of the C++ programming language, as well as common programming practices. After the course the student will be able to:
- Explain and compare C++ language features and be able to apply them to relevant problems.
- Use the programming environment and tools provided by a standard Linux/UNIX system.
- Explain the workings of existing C++ implementations and examples.
- Write readable well structured solutions to small programming problems.
|
|
Prerequisites: (valid for students admitted to programmes within which the course is offered)
Programming experience in at least one imperative language such as Java, Ada or C. Ability to find, read and understand relevant programming documentation such as books, tutorials and reference manuals. Knowledge of common programming control statements, operators and types. Know several of the general concepts of references, pointers, exceptions, classes, functions, dynamic memory, namespace, templates, enumerations and inheritance. Understanding of the program execution environment and insight in one programming paradigm.
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:
Advanced C++
|
|
Organisation:
The course runs over the entire autumn semester and consist of:
- A voluntary web-based self-study course in how to use the department's computer system (UNIX).
- A set of lectures introducing each of the areas of C++ language that we cover. Participating on lectures, lessons and labs is essential to enjoy all course material. The first part of the course will deal with basic programming in mostly the C subset of C++. The second part of the course will expand with typical C++ topics.
- A set of computer laborations performed in pairs.
- Self studies in order to prepare and complete each laboration on time.
- A final individual computer exam with problems covering the topics discussed at lectures, lessons and labs. The exam will, as the laboration assignments, be performed on computers with UNIX environment. The exam will however make available only a limited set of tools, programs and resources. A demonstration of the system will take place during the course.
|
|
Course contents:
- Programming: Creating algorithms and problem solving.
- Syntax: C++ language features including control statements, operators and types, references, pointers, exceptions, classes, functions, dynamic memory, namespaces, templates, enumerations, inheritance and polymorphism.
- Tools: Programming environment, including the compiler g++, the build tool make, and the text editor (and more) emacs.
|
|
Course literature:
Problem Solving With C++ by Walter Savitch or other relevant C++ book. See the course web page for recommendations and complementary resources online.
|
|
Examination: |
|
Computer examiantion Web introduction Computer tasks |
2 ECTS 1 ECTS 3 ECTS
|
| |
|
|
Course language is English.
Department offering the course: IDA.
Director of Studies: Tommy Färnqvist
Examiner: Klas Arvidsson
Link to the course homepage at the department
Course Syllabus in Swedish
|
|