Timetable (with links to learning events and recordings)¶
Timetable will be updated as the course advances.
All links¶
- Link to Zoom exercises: https://tuni.zoom.us/j/67184287658
- Kooditorio: https://discord.gg/Rhrfxr3 [NOTE! Use Discord with Chrome browser]
- Consulting hours (Wed 9-10 from 20.1.2021 on):
- https://tuni.zoom.us/j/64123690434?pwd=blJicjQvSlJmNEZ2dElmNW9MamFHQT09
- Meeting ID: 641 2369 0434
- Passcode: 386134
Times and places during the whole course¶
The first lecture will be held in Zoom 13.1.2021 at 12.15-14, and you can join it. Link:
- https://tuni.zoom.us/j/64123690434?pwd=blJicjQvSlJmNEZ2dElmNW9MamFHQT09
- Meeting ID: 641 2369 0434
- Passcode: 386134
Later lectures will be recorded, and you cannot join them. However, you can see recordings afterwards (see at All links).
Consulting hours (from 20.1 on):
- Wed 9-10 (Maarit)
During consulting hours, you can meet the responsible person of the course and ask any questions concerning the course (content, arrangement etc.). Consulting hours are meant especially for those questions that arise after lectures. Questions can be asked by visiting room TF106, or you can ask them via Zoom (see at All links).
Weekly exercises will take place in Zoom at the following time (from 19.1 on):
- Tue 16-18 (Anton)
In addition, weekly exercises will be recorded (check link from All links).
Weekly exercises will consider an exercise (or a couple of them) from the previous round. At each week, you can before-hand see, which exercise(s) will be considered. Exercises are not necessarily finished nor submitted in Plussa, and thus, you may need to complete them or fix them before submitting them in Plussa successfully.
Kooditorio hours will be given with Discord weekly (from 15.1 on):
- Tue 10-12 (Minna) (from 19.1 on)
- Fri 14-16 (Pauli) (from 15.1 on)
See Discord link at All links.
When project deadlines are close, there will be more Kooditorio hours. The additional hours can be found here and at each week a bit later.
Additional times for the 1st project:¶
- Wed 10.2 at 10-12 (Joel, Kiti)
- Thu 11.2 at 10-12 (Joel, Wilho-Pekka)
- Fri 12.2 at 10-12 (Joel, Kiti)
- Fri 12.2 at 14-16 (Kiti, Esra)
- Mon 15.2 at 10-12 (Joel, Kiti)
- Mon 15.2 at 12-14 (Joel, Kiti)
- Mon 15.2 at 14-16 (Wilho-Pekka)
- Mon 15.2 at 16-18 (Pauli)
Additional times for the 2nd project:¶
- Wed 10.3 at 14-16 (Joel, Kiti)
- Thu 11.3 at 12-14 (Kiti, Wilho-Pekka)
- Fri 12.3 at 10-12 (Joel, Kiti)
- Fri 12.3 at 14-16 (Wilho-Pekka, Joel)
- Mon 15.3 at 10-12 (Joel, Esra)
- Mon 15.3 at 12-14 (Joel, Wilho-Pekka)
- Mon 15.3 at 14-16 (Wilho-Pekka, Kiti)
- Mon 15.3 at 16-18 (Pauli, Kiti)
Additional times for the 3rd project:¶
- Wed 14.4 at 14-16 (Joel, Kiti)
- Thu 15.4 at 12-14 (Kiti, Wilho-Pekka)
- Fri 16.4 at 10-12 (Joel, Kiti)
- Fri 16.4 at 14-16 (Wilho-Pekka, Joel)
- Mon 19.4 at 10-12 (Joel, Esra)
- Mon 19.4 at 12-14 (Joel, Wilho-Pekka)
- Mon 19.4 at 14-16 (Wilho-Pekka, Kiti)
- Mon 19.4 at 16-18 (Pauli, Kiti)
Additional times for the 4th project:¶
- Wed 5.5 at 14-16 (Joel, Kiti)
- Thu 6.5 at 10-12 (Kiti)
- Thu 6.5 at 12-14 (Joel, Kiti)
- Fri 7.5 at 14-16 (Joel, Kiti)
- Fri 7.5 at 16-18 (Kiti, Wilho-Pekka)
- Mon 10.5 at 10-12 (Joel, Wilho-Pekka)
- Mon 10.5 at 12-14 (Joel)
- Mon 10.5 at 16-18 (Wilho-Pekka, Esra)
Week 1 in period III¶
Lectures: Course practicalities. Qt Creator and remote desktop. Version control. Submitting programming assignments for review.
Lecture will be given in Zoom on Wed 13.1 at 12.15-14. Link:
- https://tuni.zoom.us/j/64123690434?pwd=blJicjQvSlJmNEZ2dElmNW9MamFHQT09
- Meeting ID: 641 2369 0434
- Passcode: 386134
- Exercise hours will start only on next week.
Kooditorio hours are especially meant for problems with Git.
- Thu 14.1 at 10-12 (Minna)
- Fri 15.1 at 14-16 (Pauli)
If you have no problems with Git nor with other things concerning the course, you need not (and should not) join Kooditorio.
Week 2 in period III¶
Lectures: Continuing the topics from the previous round (if necessary). Interpretation vs compilation. Variables and typing (static typing). Control structures.
Lecture is recorded in parts (see folder Round 2 in Panopto):
- 2: Static typing
- 2: C++ control structures and operators
Exercise hours: To be considered assignments from Round 1 (mainly the exercise 1.6.1 Submission policy of the course).
Kooditorio:
- Tue 19.1 at 10-12 (Minna)
- Fri 22.1 at 14-16 (Pauli)
Week 3 in period III¶
Lectures: Value semantics and reference semantics. Introduction to pointers. Concepts of object-oriented programming.
Lecture is recorded in parts (see folder Round 3 in Panopto):
- 3: Value and reference semantics
- 3: Introduction to pointers
- 3: Object-oriented programming (in two parts)
Exercise hours:
To be considered assignments from Round 2 (mainly the exercises 2.4.1 Cube and 2.6.1 Encryption, and if there is time enough, also the exercise 2.3.2 Nearest factors).
Kooditorio:
- Tue 26.1 at 10-12 (Minna)
- Fri 29.1 at 14-16 (Pauli)
Week 4 in period III¶
Lectures: Vectors (from STL). Datadriven programming. The Waterdrop game. The first project.
Lecture is recorded in parts (see folder Round 4 in Panopto):
- 4: Vectors
Exercise hours:
To be considered assignments from Round 3 (mainly the exercise 3.4.1 Count the points of the game Mölkky, and if there is time enough, also the exercise 3.3.2 Library book).
Kooditorio:
- Tue 2.2 at 10-12 (Minna)
- Fri 5.2 at 14-16 (Pauli)
Week 5 in period III¶
Lectures: General principles of STL: iterators and algorithms. Additional containers. Combining containers.
Lecture is recorded in parts (see folder Round 5 in Panopto):
- 5: cin vs getline
- 5: Iterators and algorithms
- 5: More containers and combining containers
Exercise hours:
To be considered assignments from Round 4 (mainly the exercise 4.2.2 Splitting a string, and if there is time enough, also the project assignment).
Kooditorio (upcoming hours):
- Tue 9.2 at 10-12 (Minna) [usual time]
- Wed 10.2 at 10-12 (Joel, Kiti)
- Thu 11.2 at 10-12 (Joel, Wilho-Pekka)
- Fri 12.2 at 10-12 (Joel, Kiti)
- Fri 12.2 at 14-16 (Kiti, Esra)
- Mon 15.2 at 10-12 (Joel, Kiti)
- Mon 15.2 at 12-14 (Joel, Kiti)
- Mon 15.2 at 14-16 (Wilho-Pekka)
- Mon 15.2 at 16-18 (Pauli)
- Tue 16.2 at 10-12 (Minna) [usual time]
Week 6 in period III¶
Lectures: Recursion in programming. Tail recursion.
Lecture is recorded in parts:
- 6: Recursion in general
- 6: Writing a recursive function
- 6: Tail recursion
Exercise hours:
To be considered assignments from Round 5 (mainly the exercises 5.4.2 Word counter line by line and 5.3.1 Mixed text).
Kooditorio (additional times for the 1st project included):
- Mon 15.2 at 10-12 (Joel, Kiti)
- Mon 15.2 at 12-14 (Joel, Kiti)
- Mon 15.2 at 14-16 (Wilho-Pekka)
- Mon 15.2 at 16-18 (Pauli)
- Tue 16.2 at 10-12 (Minna) [usual time]
- Fri 19.2 at 14-16 (Pauli) [usual time]
Week 7 in period III¶
Lectures: Practical tips and demonstrations: Debugging in Qt Creator and detecting errors at different phases (compilation, linkage, execution). About the project and style issues.
Lecture is recorded in parts:
- 7: Debugging and errors
- 7: Using const
Exercise hours:
To be considered assignments from Round 6 (mainly the exercise 6.3.1 Networking and possibly also the exercise 6.1.3 Vertical print).
Kooditorio:
- Tue 23.2 at 10-12 (Minna)
- Fri 26.2 at 14-16 (Pauli)
Week 1 in period IV (week 8 of the course)¶
Lectures: Memory and memory addresses. Pointers. Arrays.
The lecture is recorded in parts:
- 8: Introduction to memory management
- 8: Pointers
- 8: Arrays
Exercise hours:
To be considered assignments from Round 7 (i.e. project). This exercise hour will mainly concentrate on how to read data from the input file and store it to a suitable data structure, and how to implement the command
LINES
.Kooditorio (upcoming hours):
- Tue 9.3 at 10-12 (Minna) [usual time]
- Wed 10.3 at 14-16 (Joel, Kiti)
- Thu 11.3 at 12-14 (Kiti, Wilho-Pekka)
- Fri 12.3 at 10-12 (Joel, Kiti)
- Fri 12.3 at 14-16 (Wilho-Pekka, Joel)
- Mon 15.3 at 10-12 (Joel, Esra)
- Mon 15.3 at 12-14 (Joel, Wilho-Pekka)
- Mon 15.3 at 14-16 (Wilho-Pekka, Kiti)
- Mon 15.3 at 16-18 (Pauli, Kiti)
Week 2 in period IV (week 9 of the course)¶
Lectures: Dynamic memory allocation. Dynamic data structures.
The lecture is recorded in parts:
- 9: Dynamic memory allocation
- 9: Linked list
Exercise hours:
To be considered assignments from Round 8 (mainly the exercise 8.3.2 Student register, and if there is time enough, also the exercise 8.4.1 Array operations).
Kooditorio (additional times for the 2nd project included):
- Mon 15.3 at 10-12 (Joel, Esra)
- Mon 15.3 at 12-14 (Joel, Wilho-Pekka)
- Mon 15.3 at 14-16 (Wilho-Pekka, Kiti)
- Mon 15.3 at 16-18 (Pauli, Kiti)
- Tue 16.3 at 10-12 (Minna) [usual time]
- Fri 19.3 at 14-16 (Pauli) [usual time]
Week 3 in period IV (week 10 of the course)¶
Lectures: Function pointers and smart pointers. More dynamic data structures.
All essential things on this round have been explained in the material, and thus, there will be no lecture recordings. In addition, the content on this round (except for valgrind) is not mandatory on next rounds nor in later projects. However, you should practice using valgrind, since the last two projects requires that there are no errors concerning memory management.
Exercise hours:
To be considered the assignments from Round 9 (mainly the exercise 9.2.1 Moving cards).
Kooditorio:
- Tue 23.3 at 10-12 (Minna)
- Fri 26.3 at 14-16 (Pauli)
Week 4 in period IV (week 11 of the course, includes Easter holiday)¶
Lectures: Modularity. Fraction example. Waterdrop game, the second version.
The lecture will be recorded in parts:
- 11: Modularity
- 11: Abstract data types
Exercise hours:
To be considered the assignments from Round 10 (10.3.1 Moving cards again and 10.2.1 Pocket calculator with a bit more than four operations).
Kooditorio:
- Tue 30.3 at 10-12 (Minna)
- Fri 9.4 at 14-16 (Pauli)
Week 5 in period IV (week 12 of the course)¶
Lectures: Basics of inheritance. Basics of Qt.
The lecture is recorded in parts:
- 12: Inheritance
- 12: Qt demo
Exercise hours:
To be considered the assignments from Round 11 (i.e. project). It will mainly concentrate on explaining the template code. This is an important starting point for writing new code.
Kooditorio (upcoming hours):
- Tue 13.4 at 10-12 (Minna) [usual time]
- Wed 14.4 at 14-16 (Joel, Kiti)
- Thu 15.4 at 12-14 (Kiti, Wilho-Pekka)
- Fri 16.4 at 10-12 (Joel, Kiti)
- Fri 16.4 at 14-16 (Wilho-Pekka, Joel)
- Mon 19.4 at 10-12 (Joel, Esra)
- Mon 19.4 at 12-14 (Joel, Wilho-Pekka)
- Mon 19.4 at 14-16 (Wilho-Pekka, Kiti)
- Mon 19.4 at 16-18 (Pauli, Kiti)
Weeks 6-7 in period IV (weeks 13-14 of the course)¶
Content of round 13: Preparing for the Qt project. The examples on typewriting, moving circle, and fruits. Waterdrop game, the third version.
The lecture is recorded in parts:
- 13: GUI project
- 13: Summary
Exercise hours 20.4.2021:
To be considered the assignments from Round 12 (mainly the exercises 12.5.1 Colorpicker and 12.6.1 Timer).
Exercise hours 27.4.2021:
To be considered the 4th project. No project code will be considered but possible solution principles will be shown based on the examples on the round. They have a lot of code similar to that needed in the project.
Kooditorio (additional times for the 4th project included):
- Mon 19.4 at 10-12 (Joel, Esra)
- Mon 19.4 at 12-14 (Joel, Wilho-Pekka)
- Mon 19.4 at 14-16 (Wilho-Pekka, Kiti)
- Mon 19.4 at 16-18 (Pauli, Kiti)
- Tue 20.4 at 10-12 (Minna) [usual time]
- Fri 23.4 at 14-16 (Minna) [usual time]
- Tue 27.4 at 10-12 (Pauli) [usual time]
- Wed 28.4 at 12-14 (Pauli)
- Wed 5.5 at 14-16 (Joel, Kiti)
- Thu 6.5 at 10-12 (Kiti)
- Thu 6.5 at 12-14 (Joel, Kiti)
- Fri 7.5 at 14-16 (Joel, Kiti)
- Fri 7.5 at 16-18 (Kiti, Wilho-Pekka)
- Mon 10.5 at 10-12 (Joel, Wilho-Pekka)
- Mon 10.5 at 12-14 (Joel)
- Mon 10.5 at 16-18 (Wilho-Pekka, Esra)