58127 Programming in C (ohtk 25.8.2011)

Primary topics

Prerequisites

Approaches the learning objectives

Reaches the learning objectives

Deepens the learning objectives

The basic structures of the language
- simple data types and type variables
- control statements
- character strings and arrays
- functions
- bit fields and operations

Knows the basic structure of programming languages, has basic programming skills and can create algorithms.

(From the courses Introduction to Programming, Programming in Java, and Programming Project)

 

Can use different information types and statements, as well as menus.  

Can define and use character strings, arrays, and bit fields.

Can create and use functions.

Can implement a simple assignment with C (structure. compilation, testing).

Can divide a program into sensible modules.

Writes clear and readable code using idioms and pre-ready library functions.

Adds features that enable tracing to the program, as well as correctness checks for the functions.

Comments and documents the program suitably.

Can appropriately use different data types and statements, as well as menus.  

Can identify features that hinder portability and avoid them.

Can implement a challenging assignment with C, using modular programming.

Can create a  portable program when necessary.

Can select the programming language best suited to the task at hand, and can implement the program in that language.

Implementation of web applications
- communication methods learned during the course

Can use the most common system calls.

Files and their handling

 

Can handle files: open and close files, read files, and write in files.

Can select and implement a sensible storage form for files.

 

 Indexes and structural records

 Has basic knowledge of the structure of the main memory and the memory use of programs
- the concepts of stack and heap (from the course Computer Organization 1)

Can specify and use indexes and different index operations.
Can reserve and free memory areas, as well as copy memory areas.
Can relay memory areas as function parameters and in return values.

Can use indexes appropriately and efficiently to implement a given assignment.
Can relay functions as parameters and return values.

 

 Data structures and their use

 Basic data structures and their use
- linked lists, stacks, strings and binary trees
(From the course Data Structures and algorithms)

Can specify both static and dynamic data structures.
Can implement basic data structures and use them (creating and destroying them, overhauling them, adding and removing elements)

 Can implement an efficient data structure that suits the assignment brilliantly.
Can connect linking to other multi-part structures (such as hash tables, networks)

Can connect linking to multi-part structures without losing memory or time.

 

12.09.2015 - 16:08 Tiina Niklander
10.03.2015 - 15:56 Marina Kurtén