Credits: 5

Schedule: 25.02.2019 - 24.05.2019

Teaching Period (valid 01.08.2018-31.07.2020): 

IV-V (Spring)

Learning Outcomes (valid 01.08.2018-31.07.2020): 

Upon successfully completing the course a student

(i) understands the essential functional structure of a programmable computer and its operation during program execution,

(ii) understands the physical limitations and possibilities of computers, including the main computational resources (time, space, parallelism, etc) and how to put these into use,

(iii) can determine/measure the performance of a computer program in practice, in simple cases by inspecting only the structure of the program,

(iv) understands what is meant by an abstract interface and its implementation, including the possibility of alternative implementations with different performance characteristics,

(v) understands the concept of recursion and can write programs that employ recursion and operate on recursive data structures, and

(vi) knows the basics of algorithm design and analysis, including selected designs for fundamental combinatorial tasks (searching, sorting, etc).

Content (valid 01.08.2018-31.07.2020): 

Introduction to computer architecture and program execution from gate level to high-level programming languages. Programming abstractions and analysis of program performance. Aspects of functional programming, e.g. recursive definitions and recursion. Introduction to computer science and problem-solving with algorithms.

Assessment Methods and Criteria (valid 01.08.2018-31.07.2020): 

Programming assignments and an exam

Workload (valid 01.08.2018-31.07.2020): 

Lectures: 24 (4) [3*2 weeks, 2*2h lecture/week] Work in small groups: 36 (4) [3*3 weeks, 2*2 work in Maarintalo / week] Independent work: 72, Exam: 3. Total 135 [5 cr]

Study Material (valid 01.08.2018-31.07.2020): 

Lecture notes, articles, and programming assignments

Substitutes for Courses (valid 01.08.2018-31.07.2020): 

ICS-A1120 Programming 2, T-106.1150 Tietokone ja käyttöjärjestelmä

Prerequisites (valid 01.08.2018-31.07.2020): 

CS-A1110 Programming 1 / CSE-A1110 Programming 1

Grading Scale (valid 01.08.2018-31.07.2020): 



Registration and further information