Title: | The C++ Programming Language |
---|
Code: | ICP |
---|
Ac.Year: | 2010/2011 |
---|
Term: | Summer |
---|
Curriculums: | Programme | Field | Year | Duty |
IT-BC-3 | BIT | 2nd | Compulsory-Elective - group T |
|
---|
Language of Instruction: | Czech |
---|
Public info: | http://www.fit.vutbr.cz/study/courses/ICP/public/ |
---|
Credits: | 4 |
---|
Completion: | credit |
---|
Type of instruction: | Hour/sem | Lectures | Sem. Exercises | Lab. exercises | Comp. exercises | Other |
---|
Hours: | 0 | 26 | 0 | 0 | 13 |
---|
| Examination | Tests | Exercises | Laboratories | Other |
---|
Points: | 0 | 0 | 0 | 0 | 100 |
---|
|
---|
Guarantor: | Peringer Petr, Dr. Ing., DITS |
---|
Instructor: | Martinek David, Ing., DIFS Peringer Petr, Dr. Ing., DITS |
---|
Faculty: | Faculty of Information Technology BUT |
---|
Department: | Department of Intelligent Systems FIT BUT |
---|
Prerequisites: | |
---|
| Learning objectives: |
---|
| | The goal is to introduce students to object-oriented programming in C++ language and to generic programming using templates. | Description: |
---|
| | ISO C++ language overview. Objects, classes, inheritance, polymorphism. Operator and function overloading. Templates. Exceptions. Standard library, STL. | Learning outcomes and competences: |
---|
| | Students are able to exploit C++ for creating middle-sized applications based on the object-oriented approach and generic programming concepts. | Syllabus of lectures: |
---|
|
- Introduction. Basic overview of ISO C++. Examples of C++ use.
- The differences of C and C++. Declarations, definitions, namespaces. Types.
- Statements and operators of C++. The terminology and principles of object-oriented programming in C++.
- Objects, classes, class members. Member access control. Member functions, this keyword, static members.
- Object creation and destruction: constructors, destructors, operators new and delete.
- Function and operator overloading. Type conversion operators.
- Input/output (iostream). Output formating, file streams and string streams.
- Inheritance, base and derived classes. Multiple inheritance, virtual base classes.
- Polymorphism, virtual methods, abstract classes. Runtime type information.
- Templates, (partial) specialization.
- Standard template library, algorithms, iterators, containers, function objects.
- Exceptions, exception specifications.
- Standard library overview. Pointers to class members. Effective C++ programming.
| Syllabus - others, projects and individual work of students: |
---|
| | Fundamental literature: |
---|
|
- Stroustrup, B.: The C++ programming language, third edition, Addison-Wesley, 1997
- Stroustrup, B.: The C++ programming language, special edition, Addison-Wesley, 2000
- Eckel, B.: Thinking in C++, 2nd edition, Prentice-Hall, 2000
- Booch, G.: Object-Oriented Design with applications, 2nd edition, The Benjamin/Cummings Publishing Company 1994
- ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1988
- British Standards Institute: The C++ Standard: Incorporating Technical Corrigendum No. 1, Willey, 2003, ISBN: 978-0-470-84674-2
- ISO: Programming Language C++, WG21/N1043 Draft Proposed International Standard, 1996
| Study literature: |
---|
|
- Eckel, B.: Thinking in C++, 2nd edition, Prentice-Hall, 2000 [available online on WWW]
- ISO: Programming Language C++, WG21/N1043 Draft Proposed International Standard, 1996 [available online on WWW]
- Teaching materials available on WWW.
| Exam prerequisites: |
---|
| | At least 50% of the points you can get during the semester
| |
|