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