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:
- Working Practices explains how to study the course, work responsibly, and use generative AI appropriately.
- Registration and Grading explains how progress is stored and where to look for grading information in active course offerings.
- Tools and Environments lists the main tools used in the course.
- Glossary collects the main Python terms used in the course.
- Python Quick Reference summarizes the most common Python patterns and safe working habits.