VAMK

Change language: Suomi

Front Page > Current Education > Information Technology (TT) > 2025 > Johdatus ohjelmointiin (TT00BT65)

Johdatus ohjelmointiin

Structure Type: Study unit
Code: TT00BT65
Curriculum: TT 2025
Level: Bachelor of Engineering
Credits: 5 cr
Responsible Teacher: Matila, Jukka
Language of Instruction: Finnish

Learning Outcomes

This course introduces students to the fundamental concepts of programming using the C language, with a focus on practical application in embedded and system-level programming. Students will learn the basics of programming, using external libraries, organizing projects with Makefiles, and managing code with Git. The course emphasizes hands-on practice and real-world applications, preparing students for advanced programming and software development.

By the end of the course, students will: Understand the syntax, semantics, and structure of the C language. Write, debug, and test C programs for simple applications. Use external libraries effectively in their projects. Create and manage Makefiles for project automation. Use Git for version control and collaboration.

Student's Workload

Contact Teaching: 20 hours
Independent Work: 115 hours

Programming assignments
Reading and studying course materials
Completing a final mini-project

Prerequisites / Recommended Optional Courses

No prior programming knowledge required.
Familiarity with basic computer operations and file management is recommended.

Contents

The course begins with an introduction to programming concepts and the role of the C language, including setting up the development environment using Linux or Windows tools. Students will explore the fundamentals of C programming, such as data types, control structures, and modular programming with functions.

The course delves into advanced topics like pointers, memory management, and data structures (arrays, strings, structs, and unions). Students will learn to use libraries for mathematical and string manipulation tasks, and will be introduced to automation techniques through Makefiles. Version control with Git will be covered, focusing on collaborative software development.

Throughout the course, debugging techniques and error-handling methods will be emphasized. Practical applications include building simple projects, such as a calculator or text-based game, integrating all learned concepts into a final mini-project using Git for collaboration and version control.

Regional Impact

Equips students with programming skills essential for local industries, particularly in embedded systems development and software engineering roles.

Internationality

The course introduces programming practices and tools commonly used globally, preparing students for international software development environments.

Recommended or Required Reading and Other Learning Resources/Tools

Material provided in course online learning space
“C Programming: A Modern Approach” by K.N. King.

Mode of Delivery / Planned Learning Activities and Teaching Methods

Lectures: Introducing key programming concepts.
Hands-On Labs: Practicing coding with guidance from instructors.
Assignments: Weekly programming tasks to reinforce learning.
Final Mini-Project: An application integrating course concepts.

Assessment Criteria

Satisfactory (1-2):
Basic understanding of C programming syntax and structure.
Limited ability to use pointers, libraries, and Makefiles.
Partial completion of practical assignments.

Good (3-4):
Proficient in writing and debugging C programs with moderate complexity.
Effective use of libraries, Makefiles, and Git for version control.
Successful completion of assignments and projects with guidance.

Excellent (5):
Demonstrates a deep understanding of C programming, including advanced concepts like memory management.
Efficiently uses Makefiles and Git for collaborative projects.
Completes all assignments and the final project with high-quality, well-documented code.

Assessment Methods

Assignments (40%): Weekly exercises to build programming skills.
Final Project (50%): A comprehensive application showcasing course knowledge.
Quizzes/Exams (10%): Testing theoretical and practical understanding.

Further Information


Back