Skip to main content

Introduction to Programming (5 cr)

Code: 5051111-3048

General information


Enrollment

31.05.2023 - 16.09.2023

Timing

04.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages

  • English

Seats

75 - 120

Degree programmes

  • Degree Programme in Information and Communications Technology

Teachers

  • Tiina Ferm

Groups

  • PINFOS23B
    PINFOS23B
  • PINFOS23C
    PINFOS23C
  • PINFOS23A
    PINFOS23A
  • 11.09.2023 08:00 - 10:00, Introduction to Programming, theory
  • 11.09.2023 12:00 - 16:00, Introduction to Programming 5051111-3048
  • 13.09.2023 08:00 - 12:00, Introduction to Programming 5051111-3048
  • 15.09.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 18.09.2023 08:00 - 10:00, Introduction to Programming, theory
  • 18.09.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 20.09.2023 09:00 - 12:00, Introduction to Programming 5051111-3048
  • 22.09.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 25.09.2023 08:00 - 10:00, Introduction to Programming, theory
  • 25.09.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 27.09.2023 09:00 - 12:00, Introduction to Programming 5051111-3048
  • 29.09.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 02.10.2023 08:00 - 10:00, Introduction to Programming, theory
  • 02.10.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 04.10.2023 10:00 - 12:00, Introduction to Programming 5051111-3048
  • 06.10.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 09.10.2023 08:00 - 10:00, Introduction to Programming, theory
  • 23.10.2023 08:00 - 10:00, Introduction to Programming, theory
  • 23.10.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 25.10.2023 09:00 - 12:00, Introduction to Programming 5051111-3048
  • 27.10.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 30.10.2023 08:00 - 10:00, Introduction to Programming, theory
  • 30.10.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 01.11.2023 09:00 - 12:00, Introduction to Programming 5051111-3048
  • 03.11.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 06.11.2023 08:00 - 10:00, Introduction to Programming, theory
  • 06.11.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 08.11.2023 10:00 - 12:00, Introduction to Programming 5051111-3048
  • 10.11.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 13.11.2023 08:00 - 10:00, Introduction to Programming, theory
  • 13.11.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 15.11.2023 09:00 - 12:00, Introduction to Programming 5051111-3048
  • 17.11.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 20.11.2023 08:00 - 10:00, Introduction to Programming, theory
  • 27.11.2023 08:00 - 10:00, Introduction to Programming, theory
  • 27.11.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 29.11.2023 09:00 - 12:00, Introduction to Programming 5051111-3048
  • 01.12.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 04.12.2023 08:00 - 10:00, Introduction to Programming, theory
  • 11.12.2023 13:00 - 16:00, Introduction to Programming 5051111-3048
  • 13.12.2023 10:00 - 12:00, Introduction to Programming 5051111-3048
  • 15.12.2023 13:00 - 16:00, Introduction to Programming 5051111-3048

Objective

After completing the course the student can:
- describe the most important software application types and their typical features
- discuss the selection of a proper solution technology
- define the main concepts of programming such as source code, compiler, variable and data type
- read program code written by someone else
- utilize the most important decision and control structures
- recognize basic object-oriented concepts (class and its members, object, reference, exceptions)
- design and implement simple software applications
- draw a flow chart of the program.

Content

- software application structure
- development environment and tools
- variables and data types
- functions
- decision and control structures
- arrays and lists

Materials

Python Basics: A Practical Introduction to Python3 4th edition by David Amos,Dan Bader,Joanna Jablonski, Fletcher Heisler, ISBN:9781775093329 (paperback), ISBN:9781775093336 (electronic)
Programming tools 
- Python 3.11.x
- IDLE

Teaching methods

Learning by programming

Completion alternatives

The course can be compensated with an e-exam. More instructions on how to enrol is given in itslearning.
The exam can be done using a programming language e.g. C/C++/#, java, javascript a student states when enrolling.

Student workload

Contact hours 77 h
Independent study continuously throughout the course, preparation for the exam 58 h

Content scheduling

The course consists of eight topics with rehearsal questions, quizzes and labs for each.
week 36: Introduction
week 37: Basic syntax
week 38: Input and output in the console
week 39: Variables and types, quiz and lab 1 (total 10 points)
week 40: Operators and branching, quiz and lab 2 (total 10 points)
week 41: Exam 1 (10 points)
week 43:  Loops (for and while), quiz and lab 4 (total 10 points)
week 44: Collections (list, tuple, set, dictionary), quiz and lab 3 (total 10 points)
week 45: Exam 2 (10 points)
week 46: Functions, quiz and lab 5 (total 10 points)
week 47: File IO, quiz and lab 6 (total 10 points)
week 48: Review, quiz and lab 7 (total 10 points)
week 49: Exam 3 (10 points)

total of 100 points

Further information

Lectures and labs are implemented at the campus. This is not an online course. The classes will be on the timetable by the beginning of the semester.

Evaluation scale

H-5

Assessment methods and criteria

7 Quizzes – online, evaluated, minimum 14, maximum 35
7 Labs – classroom activity, evaluated, plagiarism check result must be < 50%, minimum 14, maximum 35
3 Exams – classroom activity, evaluated, 10 points each, minimum 12, maximum 30


To pass the course a student has to reach a minimum in all categories (quizzes, labs and exams). If the minimum is reached all the points are added and a scale of 1 – 5 is calculated.

Assessment criteria, fail (0)

Student
• does not know the basic concepts of programming
• cannot read or write simple programs

< 40 points or failed the exam

Assessment criteria, satisfactory (1-2)

Student
• knows such basic concepts of programming as variables, control structures and functions
• understands how the program flow is going
• can read or write simple programs

40 - 59 points and the minimum is reached in all categories (quizzes, labs and exams)

Assessment criteria, good (3-4)

Student
• knows such basic concepts of programming as variables, control structures, functions, classes, objects and arrays
• understands how the program flow is going and is able to find easy errors
• can make simple programs

40 - 79 points and the minimum is reached in all categories (quizzes, labs and exams)

Assessment criteria, excellent (5)

Student
• knows such basic concepts of programming as variables, control structures and functions, classes and objects
• utilizes some data Structures such as arrays, lists and hash tables.
• understands how the program flow is going and is able to use debugger and error handling
• can make programs that include aforesaid concepts.

> 80 points and the minimum is reached in all categories (quizzes, labs and exams)

> 90 points, 1 additional credit (total of 6 credits)

Qualifications

Basic computer skills and high school or vocational school mathematics curriculum or equivalent skills.