Teaching in English
tut.ot.prog2
Main
Grading
Exercises
Homework
Lectures
Material
Exams
Printable version
Page map
|
Introduction
Programming II is a 5-credit-unit course that covers basic programming
topics such as aspects of data structures, design and analysis of
computer algorithms, recursion and program development and debugging.
After completing the course, a student can design and implement small
programs independently and has the required abilities for taking
further courses in the department of Information Technology.
Finnish students can also participate in the course. The course is
equivalent to the course Ohjelmointi 2. It is, however,
held completely in English.
Objectives
- Understanding different ways of representing data in a computer
- Learning how to use the basic data structures
- Learning to use modularity, subprograms and libraries
- Learning the basics of the C++ standard library
- Understanding abstraction
Organization
The course is a two-period course and it consists of 24 lecture sessions
and 13 exercise sessions. The course also includes programming assignments that need to be turned in in order to pass
the course
Each week, there are four hours of lectures and two hours of exercises during
the first period and two hours of lectures and two hours of exercises
during the second period on the course.
The course is held yearly during the periods three and four. It is
NOT possible to take the course during the other periods or with other
special arrangements.
Prerequisites
OHJ-1106 Programming I
Active participation
Active participation in the lectures and exercises adds 5 points to your overall course score.
(subject to change)
|
Week
|
Monday Lecture
|
Wednesday Lecture
|
Friday Exercises
|
Work Due
|
Reading
|
1:
09.01-15.01
|
- Get to Know
- Introduction
|
Classes and Data Abstraction
|
No exercise session
|
-
|
-
|
2:
16.01-22.01
|
Classes and Data Abstraction (cont'd)
|
Classes and Data Abstraction (cont'd)
|
Tutoring session
|
-
|
Skansholm: 7
Savitch: 10, 11.3
|
3:
23.01-29.01
|
Modularity
|
Pointers and Dynamic Data
|
Questions
Solution
|
Homework 1
(published)
|
Skansholm: 5.4
Savitch: 9
|
4:
30.01-05.02
|
Pointers and Dynamic Data (cont'd)
|
Pointers and Dynamic Data (cont'd)
|
Questions
Solution
|
-
|
Skansholm:14
Savitch:17
|
5:
06.02-12.02
|
Templates
|
STL
|
Questions
Solution
|
-
|
Skansholm:12
Savitch:18
|
6:
13.02-19.02
|
STL (cont'd)
|
STL (cont'd)
|
Questions
Solution
|
-
|
Skansholm:12
Savitch:18
|
7:
20.02-26.02
|
Linked Structures
|
Linked Structures (cont'd)
|
Questions
Solution
|
-
|
Skansholm:13
Savitch:13
|
8:
27.02-04.03
|
Linked Structures (cont'd)
|
Recursion
|
Questions
Solution
|
Homework 1
(deadline)
|
Skansholm:4.8
Savitch14:
|
9:
05.03-11.03
|
Examination week
|
10:
12.03-18.03
|
Recursion(cont'd)
|
-
|
Questions
Solution
|
Homework 2
(published)
|
Skansholm:4.8
Savitch:14
|
11:
19.03-25.03
|
Binary Trees
|
-
|
Questions
Solution
|
-
|
Skansholm:13.4
Savitch:13.1
|
12:
26.03-01.04
|
Stacks
|
-
|
Questions
Solution
|
-
|
Skansholm:12.6
Savitch:13.2
|
13:
02.04-08.04
|
Queues
|
-
|
Questions
Solution
|
-
|
Skansholm:12.6
Savitch:13.2
|
14:
09.04-15.04
|
No lecture
|
-
|
Automatic Compilation (Makefiles)
|
-
|
Skansholm:
Savitch:
|
15:
16.04-22.04
|
Parameters of the Main Function
|
-
|
Version Control (RCS)
|
-
|
Skansholm:
Savitch:
|
16:
23.04-29.04
|
Exception Handling
|
-
|
-
|
-
|
Skansholm: 10
Savitch: 16
|
17:
30.04-06.05
|
Namespaces
|
-
|
-
|
-
|
Skansholm: 15.1
Savitch: 12.2
|
18:
07.05-13.05
|
Testing & Debugging
|
-
|
-
|
Homework 2
(deadline)
|
Skansholm:1.4
Savitch:5.4
|
|