CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2020/2021

# Algorithmization and Programming

Code Completion Credits Range Language
E012035 KZ 4 1P+2C English
Lecturer:
Marta Čertíková (guarantor)
Tutor:
Marta Čertíková (guarantor), David Trdlička, Ondřej Winter
Supervisor:
Department of Technical Mathematics
Synopsis:

Students are acquainted with programming language C and exercised at basic problems of numerical mathematics.

Requirements:
Syllabus of lectures:

Illustration of a simple program, translation, loading and debugging program. Basic elements of C, variables and arrays. Expressions. Assignment expression and statement. Operators of incrementation and decrementation, if statement and conditional expression, switch statement. Go statement, loop statement. Input and output statements. Functions, call by reference and value. Solution of equations f(x) = 0. Numerical integration. Recursive function, pointers, dynamic allocation of memory. Sorting. Solution of system linear equations by finite and iterative methods. Type typedef, enumeration type, structures. Date structures in language C.

Syllabus of tutorials:

Illustration of a simple program, translation, loading and debugging program. Basic elements of C, variables and arrays. Expressions. Assignment expression and statement. Operators of incrementation and decrementation, if statement and conditional expression, switch statement. Go statement, loop statement. Input and output statements. Functions, call by reference and value. Solution of equations f(x) = 0. Numerical integration. Recursive function, pointers, dynamic allocation of memory. Sorting. Solution of system linear equations by finite and iterative methods. Type typedef, enumeration type, structures. Date structures in language C.

Study Objective:

1. Example of elementary program, program structure, programming process;, Algorithm statements; Building blocks of C language;, 2. Statements, assignment, priorities of operations; Mathematical functions, standard libraries; Flow control: Conditional statement, Switch, Goto;, 3. Cycles: For, While, Do-while; Break; Continue;, 4. Formatted and unformatted intput/output; Input/output from data files;, 5. Functions - call by value, call by reference; Recursive functions;, 6. Pointers; Array as a parameter of function; function as a parameter of function; Data types typedef, enumeration, structure;, 7. Dynamic memory allocation: one-dimensional arrays, multi-dimensional arrays;, 8. Sorting: direct selection, bubblesort, shakesort, quicksort;, 9. Numerical integration: trapezoidal method, Simpson's method;, 10. Equation f(x)=0: bisection method, iterative method, Newton's method;, 11. System of linear algebraic equations: Finite methods: Gaussian elimination, Gaussian elimination for tridiagonal system;, 12. System of linear algebraic equations: Iterative methods: Jacobi's method, Gauss-Seidel method;, 13. Cauchy problem for one ordinary differential equation

Study materials:

Barclay,K.A.: ANSI C Problem Solving and Programming, Prentice Hall 1990;, www.cplusplus.com/doc/tutorial

Note:
Time-table for winter semester 2020/2021:
 06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00 roomKN:A-447Čertíková M.09:00–10:30(lecture parallel1)Karlovo nám.Poč. učebna A447 roomKN:A-447Čertíková M.10:45–12:15(lecture parallel1parallel nr.101)Karlovo nám.Poč. učebna A447
Time-table for summer semester 2020/2021:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2020-09-18
For updated information see http://bilakniha.cvut.cz/en/predmet1763006.html