Course Unit Code | 460-2043/01 |
---|
Number of ECTS Credits Allocated | 3 ECTS credits |
---|
Type of Course Unit * | Compulsory |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | First Year |
---|
Semester when the Course Unit is delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| KUD007 | doc. Mgr. Miloš Kudělka, Ph.D. |
Summary |
---|
The course is focused on the introduction of the key concept of object-oriented programming, and basics of C++ language necessary for the design of simple object-oriented programs.
After finishing the course, students will understand the difference between structured and object-oriented programming. To a limited extent, students will be able to handle the practical object-oriented design and implementation of a program using object-oriented techniques.
|
Learning Outcomes of the Course Unit |
---|
Object-oriented approaches are an essential part of the computer science curricula. OOP is not only a key concept of thinking but also the technological support of software solutions.
The course "Programming II" is closely connected to "Algorithms II". Skills associated with using C ++ will be practically applied in the design of object-oriented programs.
The expected inputs for "Programming II" is the successful completion of course "Programming I" and "Algorithms I". These courses provide students the necessary skills and knowledge related to the implementation of data structures and algorithms in an environment structured and procedural programming.
|
Course Contents |
---|
Lectures
1. Evolution of programming paradigms.
2. Aspects of software quality. Reusing.
3. Class x object. Object as a computer representation of real-world entity. Data and functions of objects.
4. OOP principles. Encapsulation, composition, message sending, inheritance, polymorphism.
5. Constructors and destructors I. How it works and why.
6. Public and private part of objects. Hiding of implementation.
7. Design of object-oriented program I.
8. Simple and multiple inheritance. Polymorphism.
9. Virtual methods. Abstract class.
10. Constructors and destructors II. Special kinds of constructors, copy constructor.
11. Design of object-oriented program II.
12. Templates. How it works and why.
13. Standard object libraries of C++ language.
14. Design of object-oriented program III.
Labs
1. Comparison of source codes of procedural and object oriented programs.
2. Example of implementation – cooperating classes, analysis of object behavior, hiding of details of implementation.
3. Implementation of object-oriented program I.
4. Example of implementation – simple inheritance, analysis of object behavior.
5. Implementation of object-oriented program II.
6. Example of implementation – templates and standard C++ libraries.
7. Implementation of object-oriented program III.
|
Recommended or Required Reading |
---|
Required Reading: |
---|
Eckel B.: Thinking in C++. Prentice Hall, 2000, ISBN 0-13-979809-9. |
Eckel B.: Myslíme v jazyku C++, GradaPublishing, 2000, ISBN 80-247-9009-2.
|
Recommended Reading: |
---|
Stroustrup, B.: The C++ Programming Language. Addison-Wesley Professional, 1997, ISBN 0201889544.
Meyer, B.: Object-Oriented Software Construction, Prentice Hall, 1997, ISBN: 978-0136291558. |
Stroustrup, B.: C++ Programovací jazyk. Česky: BEN-technická literatura, Praha 1997.
Meyer, B.: Object-Oriented Software Construction, Prentice Hall, 1997, ISBN: 978-0136291558. |
Planned learning activities and teaching methods |
---|
Lectures, Tutorials |
Assesment methods and criteria |
---|
Task Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Graded exercises evaluation | Graded credit | 100 (100) | 51 |
Průběžný test znalostí | Other task type | 40 | 20 |
Písemná práce | Written test | 60 | 31 |