Introduction to Programming
Rakennetyyppi: | Opintojakso |
---|---|
Koodi: | IT00BS99 |
OPS: | IT 2025 |
Taso: | Insinööri (AMK) |
Laajuus: | 5 op |
Vastuuopettaja: | Matila, Jukka |
Opetuskieli: | Englanti |
Osaamistavoitteet
This course introduces students to the basic concepts of programming in the C language, emphasizing practical applications in embedded systems and system-level programming. Students will learn the fundamentals of programming, how to utilize external libraries, organize projects using Makefiles, and manage version control with Git. The course focuses on hands-on exercises and real-world applications, preparing students for more advanced programming and software development.
After completing the course, students will be able to:
Understand the syntax, semantics, and structure of the C language.
Write, debug, and test simple C programs.
Effectively utilize external libraries in their projects.
Create and manage Makefiles for project automation.
Use Git for version control and teamwork.
Opiskelijan työmäärä
Contact teaching: 20 hours
Independent work: 115 hours
Programming exercises
Reading and studying course materials
Implementation of a final mini-project
Edeltävät opinnot / Suositellut valinnaiset opinnot
No prior programming knowledge is required.
Basic skills in computer use and file management are recommended.
Sisältö
The course begins with an introduction to programming concepts and the role of the C language, including setting up the development environment (Linux or Windows). Students will become familiar with the basics of C programming, such as data types, control structures, and modular programming using functions.
The course also delves into advanced topics, such as pointers, memory management, and data structures (arrays, strings, structures, and unions). Students will learn to use libraries for mathematical and string manipulation tasks and will be introduced to automation through Makefiles. Version control with Git will be covered, with a particular focus on collaboration practices in software development.
Throughout the course, debugging techniques and error-handling methods are emphasized. Practical applications include building simple projects, such as a calculator or a text-based game. All learned concepts are integrated into a final mini-project that utilizes Git’s collaboration and version control tools.
Aluevaikuttavuus
The course provides students with programming skills essential to meet the needs of local industries, particularly in embedded systems development and software production.
Kansainvälisyys
The course introduces programming practices and tools widely used globally, preparing students for international software development environments.
Opiskelumateriaali
Course materials provided:
C Programming: A Modern Approach by K.N. King
Opetusmuoto / Opetusmenetelmät
Lectures: Introduction to key programming concepts.
Practical exercises: Programming practice under instructor guidance.
Assignments: Weekly programming tasks to support learning.
Final mini-project: An application integrating the course concepts.
Arviointikriteerit
Satisfactory (1-2):
Basic understanding of C syntax and structure.
Limited ability to use pointers, libraries, and Makefiles.
Partial completion of practical tasks.
Good (3-4):
Proficient in writing and debugging moderately complex C programs.
Able to effectively use libraries, Makefiles, and Git version control.
Successfully completes tasks and projects with minimal guidance.
Excellent (5):
Demonstrates deep understanding of C programming, including memory management.
Fluent in using Makefiles and Git tools in collaborative projects.
Completes all tasks and the final project with high quality and thorough documentation.
Arviointimenetelmät
Assignments (40%): Weekly exercises to develop programming skills.
Final Project (50%): A comprehensive application demonstrating mastery of course concepts.
Exams (10%): Testing theoretical and practical knowledge.