Advanced C ProgrammingLaajuus (3 ECTS)
Course unit code: TT00AA12
General information
- Credits
- 3 ECTS
Objective
On completion of the course, the student will be familiar with C language and the most common data structures (arrays, structs, list structures). The student can write programs with C using pointers, structs and data streams. The student is familiar with the dynamic memory allocation mechanism and knows how to use C standard library.
Content
Pointers and data structures (arrays, structs, linked lists)
Data streams and files
Dynamic memory allocation
C standard library
Qualifications
Introduction to Programming (C)
Assessment criteria, satisfactory (1)
Pointers and data structures (arrays, structs, linked lists)
- The student is able to reference basic data structures using pointers (especially parameters).
- The student understands what linked data structures are.
Data streams and files
- The student understands the purpose of files and data streams.
Dynamic memory allocation
- The student understands the differences between static, automatic and dynamic memory allocation.
C standard library
- The student is able to interpret the function declarations in standard library documentation.
Assessment criteria, good (3)
Pointers and data structures (arrays, structs, linked lists):
- The student is able to declare a self referential pointer.
- The student is able to describe the operations and parameters of linked structures.
Data streams and files:
- The student is able to write programs, which read and write files.
Dynamic memory allocation:
- The student knows how to allocate and free memory dynamically.
C standard library:
- The student is able to use C standard library.
Assessment criteria, excellent (5)
Pointers and data structures (arrays, structs, linked lists):
- The student is able to understand the stucture, control flow and purpose of any program, which is written using pointers.
- The student is able to describe the operations of a queue and a stack.
Data streams and files:
- The student is able to write programs which update files.
Dynamic memory allocation:
- The student is able to implement a queue and a stack using dynamic memory allocation.
C standard library:
- The student is able to explain and teach other people how to use C standard library.