Course detail

C and C++ Programming Languages

FSI-VCPCompulsoryBachelor's (1st cycle)Acad. year: 2017/2018Winter semester1, 2. year of study4  credits

The C language is one of the most frequently used programming languages. It is a structured, modular, compiled, general-purpose language.
In the second part the course introduces the methods of object oriented programming (OOP) using the C++ programming language. C++ offers one of the best implementations of OOP from all existing programming languages. C++ is a commonly used programming language applicable to developing large programs solving various types of problems. It is one of the most favourite languages preferred by professional programmers.

Learning outcomes of the course unit

Students will obtain the basic skills and experiences of program writing and debugging of average stage of difficulty. Students gain insight into principles and methods of object-oriented programming using C++ language.

Prerequisites

The basic knowledge of algorithmisation principles and experience with a procedural programming language (e.g. Pascal) are expected.

Co-requisites

Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

Capper, D.M.: Introducing C++ for Scientists, Engineers and Mathematicians, 2001
Kernighan, B. W. - Ritchie, D. M.: The C Programming Language
Stroustrup, B.: The C++ Programming Language
Dumek, V. - Roupec, J.: Programování v jazyku C
Racek, S.: Objektově orientované programování v C++

Planned learning activities and teaching methods

The course is taught through lectures explaining the basic principles and theory of the discipline. Exercises are focused on practical topics presented in lectures.

Assesment methods and criteria linked to learning outcomes

The course-unit credit award requirements are both active participation in seminars and individual elaboration of two software projects (the first project in the C language and the second one in the C++ language). Students select their projects assignments, which are approved by the teacher. The examination is oral and consists of discussion on the created projects with possible complementary questions. The evaluation is fully in competence of a tutor according to the valid directives of BUT.

Language of instruction

Czech

Work placements

Not applicable.

Aims

Students will be able to prepare a programms of an average level of difficulty in the C and C++ languages. Students gain insight into principles and methods of object-oriented programming using C++ language.

Specification of controlled education, way of implementation and compensation for absences

The attendance at lectures is recommended; the attendance at seminars is obligatory. Education runs according to week schedules. The form of compensation for missed seminars is fully in the competence of the tutor.

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

1. Introduction, C-Language History, Basic Data Types. Expressions and Commands.
2. Declaration and Definition. Control Structures, Functions, Programm Structure.
3. Arrays and Pointers, Pointer Aritmetic, Structures, Unions, Type Definition.
4. Preprocessor. Files and Streams.
5. C++ Language History. Differences between C and C++ languages.
6. OOP, object data types, member functions.
7. Class member access control. Constructors and destructors.
8. Static members. Inheritance, base and derived classes.
9. Polymorphism, virtual functions, abstract classes. Operator overloading.
10. C++ data streams. Containers.
10. Exceptions handling. Templates.
12. Persistent classes. Serialization.
13. Design and development of large projects using C++.

seminars in computer labs

26 hours, compulsory

Teacher / Lecturer

Syllabus

1. Introduction to Borland and Microsoft developments tools.
2. Console applications developed in MS Visual C++ environment.
3.-5. Development of C-programs using arrays, pointers and dynamic data structures.
6. Development of simple C++ applications.
7. Using constructors and destructors.
8. Object implementation of genetic algorithm.
9. Events driven programming.
10. Basic principles of Windows applications.
11. Introduction to MFC. Database application using MFC.
12. Writing of dynamic-linked libraries.
13. Discussion on individual projects.

eLearning