Course Practicalities

Course Overview


Course in Brief

This course teaches the foundations of programming through Python. You will learn to read, write, and trace small programs, organize code into named and tested functions and classes, handle errors and validate user input, work with files and structured data, use libraries to work with a range of domains, and develop a practical stance toward AI coding assistants.

The course is currently only available for credit at Aalto University, but the materials are freely available for anyone to study. The course is designed to be self-contained and assumes no prior programming experience.

Workload

This is a 5 ECTS course. A workload of 5 ECTS corresponds roughly to 135 study hours. The actual time varies between learners depending on earlier background, study habits, and target depth of understanding.

High-Level Learning Objectives

After completing the course, you should be able to:

  • read small Python programs and predict what they will do,
  • write programs that handle input, perform arithmetic, branch on conditions, and repeat work,
  • organize code into named, tested, specified functions,
  • handle errors and validate user input,
  • read and write data in files,
  • model data using lists and dictionaries and class instances,
  • work in a modular way with libraries and packages in a set of domains,
  • and work in a responsible and productive way with generative AI coding assistants.

The more detailed learning objectives are listed separately in the chapters.

Prerequisites

The course assumes no prior programming experience. Having a computer that allows installing and running Python on your own is strongly recommended. Installation instructions for tools and environments are provided in Tools and Environments.

Practicalities Pages

This practicalities section collects the main support pages for the course: