Programming and Algorithmics 1
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BIK-PA1.21 | Z,ZK | 7 | 14KP+8KC | Czech |
- Course guarantor:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
Students gain the ability to formulate algorithms for solving basic problems and write them in the C language. They understand data types (simple, structured, pointers), expressions, statements, functions, concept of recursion. They learn to analyse simple cases of algorithm complexity. They know fundamental algorithms for searching, sorting, and manipulating with linked lists.
- Requirements:
-
None.
- Syllabus of lectures:
-
1. Algorithm, program, programming languages. Development environments. Variables, assignment statement, input and output for integer data types.
2. Data types for real numbers. Expressions. Control structures, branching, cycles.
3. Functions, input/output parameters. Decomposition of a problem into subproblems, recursion.
4. Arrays, strings. Pointers, dynamic variables.
5. Files. Complexity of algorithms, sorting and searching.
6. Structures, structured files. Linked lists.
7. Modular programming, other features of C.
- Syllabus of tutorials:
-
1. Numeral systems, conversions. Bit, byte, word, double word. Development environments. Integer types, variables, assignments, I/O. Displaying integers, two?s complement code. Real data types. Displaying floating-point numbers. Expressions. Conditional statements. Cycles, processing sequences. Functions. Recursive functions.
2. Arrays and strings. Pointers and dynamic variables. Files. Complexity of algorithms, examples of algorithms with various complexities. Structures, structured files. Linked lists. Reserved.
- Study Objective:
-
The module provides fundamental algorithmics and procedural programming skills that are crucial for further studying.
- Study materials:
-
1. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. : Introduction to Algorithms (3rd Edition). MIT Press, 2016. ISBN 978-0262033848.
2. Brassard G., Bratley P. : Fundamentals of Algorithmics (3rd Edition). Pearson, 2015. ISBN 978-0133350685.
3. Sedgewick R. : Algorithms (4th Edition). Addison Wesley, 2011. ISBN 978-0321573513.
4. Kochan S.G. : Programming in C (4th Edition). Addison-Wesley, 2014. ISBN 978-0321776419.
5. Virius M : Jazyky C a C++: kompletní průvodce, 2. vydání, Grada, 2011. ISBN 978-80-247-3917-5.
- Note:
- Further information:
- https://courses.fit.cvut.cz/BIK-PA1.21
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Bachelor Specialization Information Security, part-time, in Czech, 2021 (compulsory course in the program)
- Bachelor Specialization Software Engineering, part-time, in Czech, 2021 (compulsory course in the program)
- Bachelor Specialization Computer Systems and Virtualization, part-time, in Czech, 2021 (compulsory course in the program)
- Bachelor program, unspecified specialization, part-time, in Czech, 2021 (compulsory course in the program)