SylabUZ

Generate PDF for this page

Principles of programming - course description

General information
Course name Principles of programming
Course ID 11.3-WE-INFP-PrinofProgr-Er
Faculty Faculty of Computer Science, Electrical Engineering and Automatics
Field of study Computer Science
Education profile academic
Level of studies First-cycle Erasmus programme
Beginning semester winter term 2022/2023
Course information
Semester 1
ECTS credits to win 5
Course type obligatory
Teaching language english
Author of syllabus
  • dr inż. Andrzej Popławski
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Lecture 30 2 - - Credit with grade
Laboratory 30 2 - - Credit with grade

Aim of the course

To provide basic knowledge about computer system architecture and programming.

To provide basic knowledge about C program structure and design.

To give basic skills in using C commands and functions to solve programming problems.

Prerequisites

-

Scope

Computer system structure: Operating memory, CPU, I/O devices. Computer system architecture and resources. Operating system. Program design. Programming languages. The data and its representation. Algorithm visualisation. Algorithmic languages.

C programming. Program structure, commands syntax. Constants, variables, data types. Operators, expressions and basic instructions of C.

Basic operations on variables. Arithmetical operators, hierarchy. Data input and output. Printout formatting with printf function. Flag, field width, precision, formatting character. Character conversion. ASCII table.

Complex instructions, expressional instruction, empty instruction, grouping instruction. Control instructions: if, if-else, switch. Loops: do, while, for.

Expressions and operators. Functions: structure, arguments, result, prototype, declaration, calling out. Communication with other elements. Use of functions. Recursion functions.

Pointers: rules of operation, declaration, using the address and the pointed value. Use of pointers to communicate with other elements.

Arrays: declaration, usage, examples. String as an array of characters. Name of an array as a pointer. Array of arrays: declaration, usage, examples. Dynamic arrays, memory allocation, memory release. Functions: malloc(), calloc(), free().

Data structures. Features, operation. Arrays of structures. Bit fields. Unions.

Disk file. Definition, structure, buffering. Directory, path. File operations: creating a stream, file opening, reading/writing, closing.

Teaching methods

Lecture, laboratory exercises.

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Lecture – the passing condition is to obtain a positive mark from the final test.

Laboratory – the passing condition is to obtain positive marks from all laboratory exercises to be planned during the semester.

Calculation of the final grade: lecture 50% + laboratory 50%

Recommended reading

  1. Peter G. Aitken, Bradley Jones. Teach Yourself C in 21 Days, Sams, 2003
  2. Mike Banahan, Declan Brady and Mark Doran, The C Book, Addison Wesley, 1991, available free on-line: http://publications.gbdirect.co.uk/c_book/
  3. K. N. King, C Programming: A Modern Approach, 2008
  4. Silberschatz A., Galvin P.B., Gagne G.: Operating system concepts. Seventh Edition, Wiley, 2005.

Further reading

Notes


Modified by dr inż. Andrzej Popławski (last modification: 19-04-2022 13:24)