Skip to main content

C Programming (5 ECTS)

Code: TX00GL99-3003

General information


Timing
25.05.2025 - 31.12.2025
Implementation is running.
Number of ECTS credits allocated
5 ECTS
Virtual portion
5 ECTS
Mode of delivery
Online
Unit
School of ICT and Industrial Management
Campus
Karaportti 2
Teaching languages
English
Seats
0 - 500
Degree programmes
Information and Communication Technology
Teachers
Virve Prami
Teacher in charge
Janne Salonen
Groups
ATX25TV
NonStop virtual studies year 2025
Course
TX00GL99
No reservations found for implementation TX00GL99-3003!

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

Location and time

All content is accessed directly through Moodle, allowing you to study at your own pace and on your own schedule.

Materials

Can be find via course pace.

Teaching methods

This course includes:

- 5 learning modules
- Hands-on programming exercises
- Module-specific quizzes
- Final test to assess overall understanding

All content is accessed directly through Moodle, allowing you to study at your own pace and on your own schedule.

Employer connections

N/A

Exam schedules

Before taking the Final Test, make sure you have fully completed all course modules:

- Module 1–5 Theory Lessons
- Practice Exercises in each module
- Module Quizzes after each theory section

Completing all Practice Exercises and Quizzes is mandatory to unlock the Final Test. Once you have successfully completed them, the Final Test will become available.

International connections

N/A

Completion alternatives

N/A

Student workload

Depends on Students starting level.

Content scheduling

Before taking the Final Test, make sure you have fully completed all course modules:

- Module 1–5 Theory Lessons
- Practice Exercises in each module
- Module Quizzes after each theory section

Completing all Practice Exercises and Quizzes is mandatory to unlock the Final Test. Once you have successfully completed them, the Final Test will become available.

Further information

Cross-study students from other universities register for online courses through the cross-study service of their home university's study information system.

Metropolia degree students do not register for online courses through OMA, but according to the instructions found at this link: https://users.metropolia.fi/~salja/nonstoplinkit/index.htm

Evaluation scale

Hyväksytty/Hylätty

Assessment criteria, approved/failed

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

Assessment methods and criteria

Pass after Student has fully completed all course modules and Final Test has been passed.

? Module 1–5 Theory Lessons
? Practice Exercises in each module
? Module Quizzes after each theory section

The Final Test consists of:
- 40 automatically graded questions (multiple choice, matching, and true/false)
- 5 short programming exercises

You must complete both parts to pass the test and receive a grade.

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.

Go back to top of page