460-2052/02 – Introduction to Programming (UPR)

Gurantor departmentDepartment of Computer ScienceCredits5
Subject guarantorIng. Jan Gaura, Ph.D.Subject version guarantorIng. Jan Gaura, Ph.D.
Study levelundergraduate or graduateRequirementCompulsory
Year1Semestersummer
Study languageEnglish
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
ABD006 Ing. Hussam Abdulla, Ph.D.
GAU01 Ing. Jan Gaura, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 1+3
Combined Graded credit 0+18

Subject aims expressed by acquired skills and competences

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.

Teaching methods

Lectures
Tutorials

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.

Compulsory literature:

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.

Recommended literature:

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.

Way of continuous check of knowledge in the course of semester

Hand in tasks completed during exercises. Completing the final test.

E-learning

Další požadavky na studenta

No additional demands are required.

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.

Subject syllabus:

Lectures: 1. Introduction to course organization. Introduction to C programming language. Basic data types, variable, print to standard output. Function definition. Fundamentals of flow control. 2. Representation of strings, working with dynamically alocated memory. 3. Structured data types and their usage. Fundamentals of programs debugging. 4. Working with files. Loading and saving data into text and binary files. 5. Use of recursion. 6. Program testing, source code documentation. 7. Brief introduction to C++ Concepts. Exercises: 1. Getting familiar with a development environment. Compiling source code. 2. Basic data types, variable, standard output. 3. Definition of function. Fundamentals of flow control. Reading input data. 4. Representing and working with strings. 5. Use of dynamically allocated memory. 6. Utilization of dynamically allocated memory for the implementation of simple data structures. 7. Structured data types and their usage. Using the preprocessor. 8. Fundamentals of program debugging. 9. Working with files. Loading and saving data into text and binary files. 10. Use of recursion and its relation to cycles. 11. Program testing, source code documentation. 12. Using library functions. 13. Brief Introduction to C++ concepts. 14. Final test.

Conditions for subject completion

Conditions for completion are defined only for particular subject version and form of study

Occurrence in study plans

Academic yearProgrammeField of studySpec.FormStudy language Tut. centreYearWSType of duty
2019/2020 (B2647) Information and Communication Technology P English Ostrava 1 Compulsory study plan
2019/2020 (B2647) Information and Communication Technology K English Ostrava 1 Compulsory study plan
2019/2020 (B0714A060011) Telecommunication technology P English Ostrava 2 Choice-compulsory type A study plan
2019/2020 (B0714A150004) Computer Systems for the Industry of the 21st. Century P English Ostrava 2 Compulsory study plan
2019/2020 (B3973) Automotive Electronic Systems P English Ostrava 1 Compulsory study plan
2019/2020 (B0613A140010) Computer Science P English Ostrava 1 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner