TIE-02207 Programming 2: Basics, 5 cr

Additional information

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

Person responsible

Terhi Kilamo, Maarit Harsu

Lessons

Implementation Period Person responsible Requirements
TIE-02207 2019-01 1 - 2 Maarit Harsu
Eliisa Vškevš
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
Eliisa Vškevš
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. Dividing program code into manageable parts and other style issues. Modularity and use of classes. Basics of object-oriented programming.  Basics of inheritance.   
2. Recursion.     
3. STL (Standard Template Library). Basic containers (vector, set, map). Iterators.  STL algorithms. More containers (list, deque).   
4. Values, references, and pointers. Dynamic memory management. Basics of dynamic data structures. Linked list. Smart pointers.  Function pointers. Pointer arithmetics. Arrays.   
5. Basics of graphical user interfaces. Most common widgets. Basics of signal-slot mechanism.  More widgets.   
6. Version control (in single programmer's projects). Compiling compared to interpreting.  Remote repositories. Compilation process (preprocessor, linking).   

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: Harsu Maarit, 13.05.2020