Course detail

Introduction to Programming

FEKT-BPC-UDPAcad. year: 2018/2019

The first part of course familiarizes students with basis of data storage in computer (integer number, floating point numbers, IEEE 754-2008 standard), binary arithmetic, characters coding (ASCII, ISO-8859-X, UNICODE), BASE64 coding, Von Neumann principles and concept of the computer, OS basis principles. The second part is focused on foundations of C language programming. The students should learn to use simple variables, operators, assignment commands, branch statements, programming of loops, employ functions, arrays, structures and pointers.

Language of instruction

Czech

Number of ECTS credits

7

Mode of study

Not applicable.

Learning outcomes of the course unit

Graduate should be able to:
- express the number in the various numeral systems,
- express decimal number by IEEE 754-2008 standard,
- express character in ASCII, ISO-8859-X, UNICODE (UTF-32, UTF-16, UTF-8) coding,
- code binary octet string by BASE64 standard, decode BASE64 text,
- utilise base Linux/UNIX command,
- describe basic and structured C language data types,
- apply C language statements and operators,
- create and call C functions,
- design simple algorithm and create C program for it.

Prerequisites

Not applicable.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Techning methods include lectures and computer laboratory lectures. Students have to create assignments during the computer laboratory lectures.

Assesment methods and criteria linked to learning outcomes

Up to 50 points for the laboratory lectures (2 tests up to 25) points. Minimal needed points from tests is 20.
Up to 50 points for the final examination. Minimal needed points from final examination is 20.

Course curriculum

1. Introduction to the course. Numeral systems, translation between numeral systems. Binary arithmetic. Negative number representation.
2. Float point representation, IEEE 754-2008 standard. Von Neumann principles a computer conception. Machine instruction. Operating system (OS), role of OS, abstractions provided by OS.
3. Character encoding: ASCII, ISO-8859-X, Windows-1250, UNICODE (UTF-32, UTF-16, UTF-8). Binary-to-text encoding BASE64. Algorithms, algorithm description by flow charts.
4. Programming and markup languages. Programming language types. History and C language standards. Base C language program standards.
5. C language variables, variable identifiers. Simple and structured data types. Definition and initialization of variables. Global and local variables. Variables visibility. Constants. Constant variables.
6. Expressions and commands. Priority, associativity and arity of operators. Binary and unary operators. Assign statements. L-value, R-value. Increment and decrement operators. Compound statements. Blocks and variable definitions.
7. Branch statements if - else. Relational and logical operators. Logical expressions. Conditional expression. while loop statement.
8. do-while and for loop statements. break and continue statements. switch statement. Arrays. Strings.
9. Function – definition, calling, arguments passing, return value, stack frame. Preprocessor statements: #include, #define, #ifdef, #ifndef, #endif. Macros with parameters. Include files.
10. Pointers. sizeof operator. Pointers and fields. Dynamic allocation. Pointers as arguments of functions. Field as argument of function.
11. Structure. C Structure initialization. Structure as argument of function and as function return value.
12. Pointer to pointer. Array of pointers. Arguments of function main(). API. ABI. Library of functions. Library building process (dynamic and static). Standard C functions library.
13. Standard I/O functions: scanf(), printf().

Work placements

Not applicable.

Aims

The aim of the course is to familiar students with basis date representation in the computer, binary operations, basis Von Neumann computer function, and basis C language programming.

Specification of controlled education, way of implementation and compensation for absences

The computer exercises is mandatory, the properly excused missed computer exercises can be compensate.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Not applicable.

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme BPC-AMT Bachelor's, 1. year of study, winter semester, compulsory

  • Programme EEKR-CZV lifelong learning

    branch ET-CZV , 1. year of study, winter semester, compulsory

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer