1 of 28

Course Introduction

Introduction to Programming

4.9.2025

2 of 28

Outline

  • 5 ECTs.
  • 4.9. - 16.10.2024
  • One lecture per week on Thursdays at 10.15
  • Additional workshop times, listed in MOOC.fi

​

  • Focus on independent work

3 of 28

Teachers

Erkki, Heljä

Senior and junior instructors

  • erkki.kaila@helsinki.fi - use email primarily
  • ohjelmoinnin-mooc@helsinki.fi - concerning material (GIT issues or PR's work also nicely!)
  • C213, Exactum (though I'm rarely there)
  • +358 50 3454 325 (if I remember to switch it on occasionally)

​

4 of 28

What are we learning?

Basic programming concepts using Python as a programming language

​

Continued in Advanced Programming Course in the second period

5 of 28

Contents

Week

Topic

1

Introduction, I/O, variables, conditional statements

2

More conditions, loops

3

More loops, strings

4

Own functions

5

Lists and other data structures

6

Files

7

External libraries

6 of 28

Initial Exam

If you know programming already and haven't completed similar course with MOOC.fi or in any other Finnish higher institute, you can pass the course with initial exam

Exam takes place on Wednesday September 10th at 16.00

​

Register via email by the end of this week: erkki.kaila@helsinki.fi

Email subject: "Initial exam"

7 of 28

What is programming?

Writing programs using a programming language

8 of 28

Why?

Although there is a lot of discussion about artificial intelligence and machine learning etc., computers are still quite "stupid"

​

However, they are great at executing simple tasks repeatedly with great speed

​

With programming, these kind of tasks can be used to construct solutions to complex problems

​

9 of 28

Real Life Example

Learning analytics data from elementary school level

​

Calculations and students' answers to calculations

​

Goal was to filter the needed rows from the entire data

10 of 28

Example (cont.)

Several tasks, such as

"Find all subtractions where the first number is less than 21 and the second one has only one digit"

...so these are ok:

11 - 6�19 - 4

...but these need to be filtered out:

24 - 7�19 - 11

11 of 28

Short excerpt from the file

SUBTRACTION,70-30,1,48553,anon9159,"2016-01-18 10:29:11"

SUBTRACTION,70-60,1,16787,anon9159,"2016-01-18 10:29:11"

SUBTRACTION,90-40,1,12990,anon9159,"2016-01-18 10:29:11"

SUBTRACTION,14-6,1,35139,anon9159,"2016-01-18 10:29:11"

SUBTRACTION,50-30,1,6575,anon9159,"2016-01-18 10:29:11"

SUBTRACTION,19-3,1,23239,anon9159,"2016-01-18 10:29:11"

SUBTRACTION,80-60,1,7785,anon9159,"2016-01-18 10:29:11"

​

Approx. 250 000+ lines per file, several files

12 of 28

Program

Python program which filtered 8 different kind of tasks from all files

​

Writing and testing the program took around 30 minutes

​

Handling 5 million rows of data took less than a minute

13 of 28

What is Python?

Translated programming language

​

Used for various purposes, very popular in e.g. AI and bio technology

​

Powerful and versatile, still simple syntax

14 of 28

What Do We Do in Course?

Two components:

​

  1. Thursday shared sessions (such as this)
  2. Completing exercises in MOOC.fi

Finally, an exam

15 of 28

Workload

Learning to program requires a lot of work

​

Workload is around 10 to 20 h per week

​

...although with previous experience the first weeks may be completed faster

16 of 28

Course Material

All course material is found here

​

​

17 of 28

Workshops

Exercises are completed independently, but you don't need to complete them alone

​

Help can be asked in workshops and in Discord, detailed information is found in MOOC.fi

​

Attending a workshop live (for the first time) earns you a one bonus points for the course!

​

18 of 28

Is Programming Difficult?

It may appear to be at first.

Different to other skills

  • Not math, although math is important in some areas of programming
  • Not pure logic either

All research emphasizes the importance of active learning

19 of 28

TMC

Programming tasks, quizzes

​

Automatic assessment, immediate feedback

​

All exercises can be retaken as many times as needed

​

First weeks in browser, after that with Visual Studio Code plugin

20 of 28

Registrations

Go to https://programming-25.mooc.fi

​

If you're a student in University of Helsinki, use the @helsinki.fi email address. Remember to add your student number!

​

​

​

21 of 28

Deadlines

There are no weekly deadlines, all material closes at the end of the year

​

At least 25 % of points is required from each round to attend the exam

22 of 28

Passing the Course

Minimum requirements:

  • 25 % of all points from each round
  • 50 % of exam score

​

Tasks get harder during the course, so it is a good idea to try to complete as much as possible from the very beginning

23 of 28

Passing the Course (2)

Grade includes MOOC points (50 %) and exam score (50 %)

​

​

Total points

Grade

90%

5

80%

4

70%

3

60%

2

50%

1

<50%

Fail

24 of 28

Exams

Three exams, dates to be announced in the material. Exam dates at mooc.fi

​

Done electronically with own computer; open between 10.00 and 22.00

You can attend as many exams as you like

25 of 28

Use of AI

In this course, the use of language models is:

  • Permitted for information retrieval or explaining and summarizing topics.
  • Permitted for identifying or explaining errors in self-produced code.
  • Prohibited for generating program code.
  • Completely prohibited during the exam.

​

26 of 28

About AI

"If AI is going to write all the code in the future, do we really need to learn programming ourselves?"

​

​

27 of 28

About AI (cont.)

The role of the programmer will definitely change (and has already changed)

Still, very important to understand the code and be able to write and refactor the code

Even more programmers are needed in the future than before!

28 of 28

Previous Course Feedback

Lots of exercises

​

The course exam was too easy

​

Why we need to use VS Code?

​

Why is the deadline of exercises at the exam day?