Skip to main content

C ProgrammingLaajuus (5 ECTS)

Course unit code: TX00GL99

General information


Credits
5 ECTS
Teaching language
English

Objective

This course prepares you to understand and apply key programming concepts using one of the most influential programming languages in history. With its hands-on approach and clear progression, the course enables you to:

- Understand the basics of algorithms and structured programming.
- Write and debug interactive C programs.
- Use arrays, functions, loops, and conditionals effectively.
- Manipulate data using pointers, structs, and files.
- Manage memory dynamically and work with advanced features like unions, enums, and bitwise operations.
- Grasp low-level mechanisms such as storage classes, function pointers, and preprocessor macros.

By mastering these skills, you will be ready to take on new challenges in software development, embedded systems, or academic programming projects.

Content

Module 1: Introduction to Programming
In this module, you will explore the foundational principles of programming, including how computers process instructions, how programs are structured, and how to design, write, and interact with simple C programs. The lessons guide you step by step from abstract thinking to practical implementation using the C programming language.

Module 2: Structured Programming
In this module, you will learn how to build programs that make decisions, repeat actions, and handle collections of data efficiently. These skills allow you to create more dynamic and interactive programs. You will explore conditional statements, loops, and arrays using the C programming language.

Module 3: Modular Programming
In this module, you will learn how to structure your C programs into modular components using functions and global variables. Modular programming helps you write reusable, maintainable, and organized code by dividing programs into logical building blocks. You’ll also explore the switch...case statement, which allows cleaner decision-making in multi-branch situations.

Module 4: Data Structures
In this module, you will deepen your understanding of data handling in C by learning to work with more advanced data structures and memory management techniques. You will explore strings, records, files, pointers, multidimensional arrays, dynamic memory, and linked data structures. These tools are essential for building efficient, flexible, and real-world C programs.

Module 5: Special Features of the C Language
In this module, you will explore advanced features of the C language that give you greater control over how programs behave and manage memory. These topics will deepen your understanding of how C works under the hood and allow you to write more efficient, flexible, and portable programs. You will learn about variable storage duration and scope, macros and preprocessing, command-line arguments, and how to work with low-level data using unions, bitwise operations, bit fields, and function pointers.

Final Test

Qualifications

There are no formal prerequisites. Basic computer usage skills (such as file handling and typing) are sufficient. The course starts from the ground up, making it an ideal starting point for new programmers.

Assessment criteria, approved/failed

Pass after all of five (5) Modules and the Final Test has been done.

Go back to top of page