FI:PB161 C++ Programming - Course Information
PB161 C++ Programming
Faculty of InformaticsAutumn 2008
- Extent and Intensity
- 2/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
- Teacher(s)
- Ing. Jan Kučera (lecturer)
RNDr. Mgr. Jaroslav Bayer (seminar tutor)
Mgr. Pavel Černohorský (seminar tutor)
Mgr. Zbyněk Diviš (seminar tutor)
Mgr. Jan Hegr (seminar tutor)
Mgr. Vít Klouček (seminar tutor)
Mgr. Bc. Adam Libuša (seminar tutor)
Bc. Martin Moráček (seminar tutor)
Mgr. Michal Strehovský (seminar tutor)
RNDr. Šimon Tóth (seminar tutor) - Guaranteed by
- prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics - Timetable
- Mon 14:00–15:50 D3
- Timetable of Seminar Groups:
PB161/02: Tue 8:00–9:50 B130, J. Bayer, Š. Tóth
PB161/03: Mon 16:00–16:50 B117, J. Kučera
PB161/04: Mon 17:00–17:50 B117, M. Moráček
PB161/05: Tue 16:00–16:50 B116, M. Strehovský
PB161/06: Tue 17:00–17:50 B116, M. Strehovský
PB161/07: Tue 18:00–18:50 B117, V. Klouček
PB161/08: Tue 19:00–19:50 B117, V. Klouček
PB161/09: Wed 12:00–12:50 B117, A. Libuša
PB161/10: Wed 13:00–13:50 B117, P. Černohorský
PB161/11: Wed 14:00–14:50 B117, P. Černohorský
PB161/12: Wed 15:00–15:50 B117, Z. Diviš
PB161/13: Thu 8:00–8:50 B117, Z. Diviš
PB161/14: Thu 9:00–9:50 B117, A. Libuša
PB161/15: Wed 8:00–9:50 B130, J. Bayer, Š. Tóth
PB161/16: No timetable has been entered into IS. J. Hegr - Prerequisites
- Knowledge of programming language C (to the extent covered by PB071 course) is supposed. User level knowledge of the Unix OS is also supposed (practical exercises are performed under Unix).
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Applied Informatics (programme FI, B-AP)
- Bioinformatics (programme FI, B-AP)
- Economic Information Systems (programme ESF, B-SI)
- Informatics with another discipline (programme FI, B-BI)
- Informatics with another discipline (programme FI, B-FY)
- Informatics with another discipline (programme FI, B-GE)
- Informatics with another discipline (programme FI, B-GK)
- Informatics with another discipline (programme FI, B-CH)
- Informatics with another discipline (programme FI, B-IO)
- Informatics with another discipline (programme FI, B-MA)
- Informatics with another discipline (programme FI, B-SO)
- Informatics with another discipline (programme FI, B-TV)
- Informatics (programme FI, B-IN)
- Mathematical Informatics (programme FI, B-IN)
- Mathematics for Multi-Branches Study (programme PřF, B-MA)
- Mathematics with Informatics (programme PřF, N-MA)
- Mathematics (programme PřF, B-MA)
- Parallel and Distributed Systems (programme FI, B-IN)
- Computer Graphics and Image Processing (programme FI, B-IN)
- Computer Networks and Communication (programme FI, B-IN)
- Computer Systems and Data Processing (programme FI, B-IN)
- Profesional Mathematics (programme PřF, B-MA)
- Programmable Technical Structures (programme FI, B-IN)
- Upper Secondary School Teacher Training in Informatics (programme FI, M-SS)
- Upper Secondary School Teacher Training in Informatics (programme FI, M-TV)
- Artificial Intelligence and Natural Language Processing (programme FI, B-IN)
- Course objectives
- Students will learn how to write programs in ANSI C++ using the object oriented approach. The language is covered in sufficient details but not to full extent. Stress is laid on the practical work of students under Unix-like OS.
- Syllabus
- History of C++, standards, compilers.
- Basic features of C++ (with respect to C).
- Procedural vs. Object programming methodologies.
- User defined data types. Classes in C++. Class components. Encapsulation.
- Constructors and destructors. Inheritance and polymorphism.
- Casting objects. Dynamic memory allocation. Automatic and class pointers. Name spaces.
- Input and output in C++.
- Exceptions and handling them. Safe constructors.
- Templates. Standard C++ library and standard template library. Libraries for numeric computing.
- Java as compared to C++. Further OO languages.
- Literature
- STROUSTRUP, Bjarne. The C++ programming language. 3rd ed. Reading: Addison-Wesley, 1997, x, 910 s. ISBN 0-201-88954-4. info
- VIRIUS, Miroslav. Programování v C++. 1. vyd. Praha: ČVUT, 1998, 364 s. ISBN 8001018741. info
- VIRIUS, Miroslav. Pasti a propasti jazyka C++ : podrobný průvodce pokročilého uživatele. 1. vyd. Praha: Grada, 1997, 251 s. ISBN 8071696072. info
- VIRIUS, Miroslav. Od C k C++. 1. vyd. České Budějovice: KOPP, 2000, 227 s. ISBN 80-7232-110-2. info
- LOUIS, Dirk, Petr MEJZLÍK and Miroslav VIRIUS. Jazyky C a C++ podle normy ANSI/ISO: kompletní kapesní průvodce. 1. vyd. Praha: Grada Publishing, 1999, 644 s. ISBN 80-7169-631-5. info
- MEYERS, Scott. Effective C++ :50 specific ways to improve your programs and designs. 2nd ed. Reading: Addison-Wesley, 1998, xx, 256 s. ISBN 0-201-92488-9. info
- Bookmarks
- https://is.muni.cz/ln/tag/FI:PB161!
- Assessment methods
- In seminars, the students create programs requested (usu. one per week, finishing it as individual work). The programs are rated in a point scale using previously given criteria. Preferably the course is ended by an examination made by a computer testing program. To be allowed to pass the test, the student must obtain the credit from the seminar and produce a final program. The classification depends on the quality of work in the seminar, quality of the final program and the result of the test. If the student choses finishing the course with a seminar credit only, he has to finish the programs given througout the term. No final program nor the test is required in that case.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course is taught annually. - Listed among pre-requisites of other courses
- IB113 Introduction to Programming and Algorithms
!NOW(IB111) && !IB111 && !PB162 && !PB161 && !PB071 && !IB001 && !program(B-INF) && !program(B-PVA) && !program(B-CS) - PB007 Software Engineering I
PB160 || PB161 || PB162 || PB174 || PV178 || PB112 - PV255 Game Development I
PB009 && PV112 && (PB161 || PB162 || PV178) - PV294 Advanced C++
PB161
- IB113 Introduction to Programming and Algorithms
- Teacher's information
- http://www.fi.muni.cz/usr/jkucera/pb161/
- Enrolment Statistics (Autumn 2008, recent)
- Permalink: https://is.muni.cz/course/fi/autumn2008/PB161