Skip to main content

Introduction to Programming (5 cr)

Code: TE00CS88-3002

General information


Enrollment

01.12.2024 - 13.01.2025

Timing

13.01.2025 - 30.04.2025

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Kupittaa Campus

Teaching languages

  • English

Seats

0 - 60

Degree programmes

  • Degree Programme in Business Information Technology
  • Degree Programme in Information and Communications Technology

Teachers

  • Noora Maritta Nieminen

Groups

  • PINFOS24C
    PINFOS24C
  • PINFOS24A
    PINFOS24A
  • PINFOS24B
    PINFOS24B

Objective

After completing the course, the student will be able to:
describe the program flow on a diagram
discuss the choice of an applicable solution model
define basic concepts related to programming such as source code, compiler, variable and type
read and understand the finished program code
utilize selection and loop structures
use exception handling mechanisms
design and implement simple application programs, and document and test them

Content

structure of software application
different development environments
reception of input data required in the program
processing of data on the program in order to solve the given problem
presentation of result
data variables and data types, simple data structures
functions and parameters
conditional clauses and loops
exceptions
file handling
testing and documentation of the program

Materials

Recommended literature:
Python Basics: A Practical Introduction to Python3 4th edition by David Amos,Dan Bader,Joanna Jablonski, Fletcher Heisler, ISBN:9781775093329 (paperback), ISBN:9781775093336 (electronic)

AI-Assisted Programming by Tom Taulli, Released April 2024, Publisher(s): O'Reilly Media, Inc., ISBN: 9781098164560

Programming tools
- Python 3.12.x
- Visual Studio Code (with Extensions)
- Git / Github
- Github Copilot or other AI programming assistants

Teaching methods

Learning by programming
Learning efficient and responsible use of AI programming copilots
Theory and practical examples shared during lectures
Practical understanding gained in practice sessions

Exam schedules

No exam

International connections

Students will learn theoretical concepts and gain programming good practices in lectures.
Students will put their understanding into practice in weekly assignments.

Course material will be entirely digital.

Student workload

Contact hours 14x2h (theory) + 12x2h (practice) = 52h
Independent study continuously throughout the course 80h

TOTAL approx. 130h

Theory lectures are held onsite.
Programming labs in subgroups A, B and C are also onsite.

Content scheduling

TOPICS / CONTENTS
week 3: Introduction
week 4: Built-in functions print and input, variables and types
week 5: Arithmetic and bitwise operators
week 6: Branching
week 7: Loops
week 8: Winter Break - no teaching
week 9: Breaking loops
week 10: Collections
week 11: Collections and loops
week 12: Functions
week 13: Function parameters and return values
week 14: Modularity and unit testing
week 15: GUI, events and callback functions
week 16: File IO (text and binary files)
week 17-: Basics of exception handling, try-except-finally, with

Further information

ItsLearning
Email

Evaluation scale

H-5

Assessment methods and criteria

The course consists of 10 weekly assignment series, which include studying programming theory and completing related programming tasks. Students earn points by demonstrating their work to the instructor.

During the course, students complete a project in which they create a more extensive application (applying the knowledge they have gained during the course and innovatively utilizing AI programming copilots). This project allows students to apply what they have learned and demonstrate their skills.

Each weekly assignment can earn a maximum of 10 points. The overall assessment of the weekly assignment series follows the following scale:

40 points -> grade 1
55 points -> grade 2
70 points -> grade 3
80 points -> grade 4
90 points -> grade 5
The project is assessed separately on a scale of 1-5.

The student's course grade is the average of the weekly assignments and the project. Both components must be passed.

If, during the course, it appears that a student will not achieve the required points to pass, they will be given the opportunity to complete missing assignments retroactively. For these assignments, they can earn up to half of the available points. The student must collect the required points before the course end date.

Assessment criteria, fail (0)

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

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

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 can find easy errors
• can make simple programs

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 can use debugger and error-handling
• can make programs that include aforesaid concepts.