TIE-02207 Programming 2: Basics, 5 cr

Additional information

Study material in Plussa (https://plus.cs.tut.fi/).

Person responsible

Terhi Kilamo, Maarit Harsu, Essi Isohanni

Lessons

Implementation Period Person responsible Requirements
TIE-02207 2019-01 1 - 2 Maarit Harsu
Weekly programming assignments, projects, and exam approved. All parts of the course have to be accomplished in the same course implementation.
TIE-02207 2019-02 3 - 4 Maarit Harsu
Weekly programming assignments, projects, and exam approved. All parts of the course have to be accomplished in the same course implementation.

Learning Outcomes

A student attaining grade "good" can design and implement smallish programs independently: the student is able to divide the program to parts that can be implemented separately in a practicable way plus design simple data structures and algorithms. The student can evaluate the structure of a program written by another person.

Content

Content Core content Complementary knowledge Specialist knowledge
1. Compiling compared to interpreting.  Preprocessor features (such as #include, #define #if(n)def). Makefile.   
2. Classes and modularity. Basics of object-oriented programming.  Basics of inheritance.   
3. Recursion.     
4. STL (Standard Template Library). Basic containers (vector, set, map). Iterators.  STL algorithms. More containers (list, deque).   
5. Values, references, and pointers. Dynamic memory management. Basics of dynamic data structures. Linked list.  Function pointers. Doubly-linked list.   
6. Basics of graphical user interfaces (Qt Designer). Most common widgets. Signal-slot mechanism.     
7. Version control and Git (in single programmer's projects).  Remote repositories.   

Instructions for students on how to achieve the learning outcomes

The grade is affected by the points collected from the exam, weekly exercises, and project works.

Assessment scale:

Numerical evaluation scale (0-5)

Partial passing:

Completion parts must belong to the same implementation

Study material

Type Name Author ISBN URL Additional information Examination material
Other online content             Yes   

Prerequisites

Course Mandatory/Advisable Description
TIE-02107 Programming 1: Introduction Mandatory    

Additional information about prerequisites
Basic programming knowledge, use of TUT computer systems required.



Correspondence of content

Course Corresponds course  Description 
TIE-02207 Programming 2: Basics, 5 cr TIE-02206 Basic Course on Programming, 5 cr  

Updated by: Kunnari Jaana, 05.03.2019