This is the introductory programming course for Cybersecurity students. The course consists of video lectures by Charles Severance and/or reading materials, which will be complemented by online practice sessions on Thursdays.
Before each practice session you have to watch the video lectures, solve a quiz about the current topic, and solve and submit programming exercises. In the practice sessions, main topics and exercises are reviewed and more exercises are solved.
- Thu 14:15-15:45 (group 1)
- Thu 18:15-19:45 (group 2)
|2.||Homework||18.02||Variables, expressions, and statements|
|5.||Homework||11.03||Loops and Iterations|
|12.||Homework||29.04||Graphics (Tkinter)||Project alpha|
|16.||Homework||27.05||Regular Expressions||Project beta|
For both tests there will be a retake, which will be scheduled and announced separately. In addition, there will be a programming project starting on week 7, and exam in June.
|Quizzes + homeworks||Weeks 1-16||14||7||1 point per week||Before each session|
|Practice sessions||Weeks 1-16||6||0.5 points per week||Each session|
|Project||Weeks 7-16||24||12||In two parts (12 + 12)||Week 12 + Week 16|
|First test||Week 6||16||Quiz passed||Quiz + programming|
|Second test||Week 11||16||Quiz passed||Quiz + programming|
|Exam||In June||24||Quiz passed||Quiz + programming|
To get points for the pre-session work (quizzes + programming homeworks), it has to be submitted through Moodle before each session. To get points for practice session work, active participation in the session and own contribution should be visible.
To pass the course, all minimum tresholds must be met.
Grades: A - 90...110, B - 80...90, C - 70...80, D - 60...70, E - 50...60, F - 0...50
After passing this course the student:
- knows and can use fundamental programming constructions: variables, expressions, assignments, conditionals, loops, subroutines, recursion, simple input/output
- knows basic datatypes and -structures (numeric types, booleans, strings, lists etc) and can use corresponding standard operations
- can analyze and explain in detail the behavior of simple programs, and modify, complement and develop them
- can design algorithms for solving simple problems, and implement, test and debug the corresponding program
- can implement projects related to programming in collaboration with teammates.
In case of questions please write to the forum in Moodle or ask the supervisor:
- Reimo Palm (reimo.palm at ut.ee)