Skip to main content
Skip header

ECTS Course Overview



Introduction to Programming

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2052/02
Number of ECTS Credits Allocated5 ECTS credits
Type of Course Unit *Optional
Level of Course Unit *First Cycle
Year of Study *
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionEnglish
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
GAU01Ing. Jan Gaura, Ph.D.
DOL0133Ing. Vít Doleží
Summary
The course introduces students to all the basics of software development problems using procedural programming. The topics of simple data taps, dynamic memory allocation, program debugging, file handling, structured data types are discussed. It also explains the use of library functions.
Learning Outcomes of the Course Unit
The aim of the course is to familiarize students with the basics of procedural programming and its real use in solving some programming tasks. Students are familiarized with the overall ecosystem of software development from its writing, through compilation, debugging, but also with how to properly document source codes. An integral part is understanding the principles of dynamic memory allocation and how data is represented in it.
Course Contents
Lectures:

1. Introduction to course organization. Basic data types, variable, print to standard output.
2. Function definition. Fundamentals of flow control.
3. Representation of strings.
4. Structured data types and their usage. Fundamentals of programs debugging.
5. Working with files. Loading and saving data into text and binary files.
6. Use of recursion.
7. Program testing, source code documentation.

Exercises:

1. Getting familiar with a development environment. Running source code.
2. Basic data types, variable, standard output.
3. Fundamentals of flow control. Reading input data.
4. Definition of function.
5. Representing and working with strings.
6. Structured data types and their usage.
7. Fundamentals of program debugging.
8. Working with files. Loading and saving data into text and binary files.
9. Use of recursion and its relation to cycles.
10. Program testing, source code documentation.
11. Using library functions.
12. Implementation of some abstract data types.
13. Drawing of graphical images.
14. Final test.
Recommended or Required Reading
Required Reading:
STROUSTRUP, Bjarne. Programming: principles and practice using C++. Second edition. Upper Saddle River, NJ: Addison-Wesley, 2014. ISBN 978-0321-992789.

HOLDEN, Daniel. Build Your Own Lisp, CreateSpace Independent Publishing Platform; 1 edition, 2014, ISBN 978-1501006623.
STROUSTRUP, Bjarne. Programming: principles and practice using C++. Second edition. Upper Saddle River, NJ: Addison-Wesley, 2014. ISBN 978-0321-992789.

VIRIUS, Miroslav. Jazyky C a C++: kompletní průvodce. 2., aktualiz. vyd. Praha: Grada, 2011. Knihovna programátora (Grada). ISBN 978-80-247-3917-5.

HOLDEN, Daniel. Build Your Own Lisp, CreateSpace Independent Publishing Platform; 1 edition, 2014, ISBN 978-1501006623.
Recommended Reading:
Kochan, Stephen, G. : Programming in C (3rd Edition) 3rd Edition, 2004, ISBN 978-0672326660.

GRIFFITHS, David. Head First C, Shroff; First edition, 2012, ISBN 978-9350236925.
Kochan, Stephen, G. : Programming in C (3rd Edition) 3rd Edition, 2004, ISBN 978-0672326660.

HEROUT, Pavel. Učebnice jazyka C. Praha: [Středisko pro podporu studentů se specifickými potřebami ELSA ČVUT], 2015. ISBN 978-80-7232-383-8.

GRIFFITHS, David. Head First C, Shroff; First edition, 2012, ISBN 978-9350236925.
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Tasks are not Defined