Skip to main content
Skip header

Introduction to Programming

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

Course Unit Code460-2052/03
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Compulsory
Level of Course Unit *First Cycle
Year of Study *First Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites There are no prerequisites or co-requisites for this course unit
Name of Lecturer(s)Personal IDName
GAU01Ing. Jan Gaura, Ph.D.
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
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 (100)51
        ProjectProject30 15
        Entrance QuestionaryOther task type 
        Final QuestionaryOther task type 
        Handout of Solved Tasks from ExercisesLaboratory work15 8
        Final TestWritten test15 8
        Handout of Solved Home Assigned TasksOther task type40 20