-
The course aims to present the principles of C++ and covers topics that are not presented or are faced differently in prior offered programming courses.
Issues that are covered in the course:
• C++ Programming Basics
• Bult-in Data Types & User Defined Types
• Structures, Classes and Objects
• Functions, Methods
• Macros and Inline functions
• References, Pointers, and Arrays
• Bit-wise operations
• Operator Overloading
• Inheritance, String
• Virtual Functions, Abstract Classes
• Streams and Files
• Templates
• Standard Template Library (STL)
• Function binding
• GUI and Graphics Libraries
Two hours lectures per week, two hours seminar-exercises per week, plus two hours exercises in the computer lab..
Evaluation
— A written exam at the end of the semester for the theoretical part of the course.
— A written exam at the end of the semester in the lab where the students solve one or more programming problems
Undertaking projects
Upon successful completion of the course, students will be able to
• present the principles of object-oriented problem solving and programming.
• outline the essential features and elements of the C++ programming language.
• explain programming fundamentals, including statement and control flow.
• apply the concepts of class, method, constructor, instance, data abstraction, function abstraction, inheritance, overriding, overloading, and polymorphism.
• program with basic data structures using array, pointers, references, list, and linked structures, files.
• program using objects and data abstraction, class, and methods in function abstraction.
• analyze, write, debug, and test basic C++ codes using the approaches introduced in the course.
• analyze problems and implement simple C++ applications using an object-oriented software.
— LAFORE Robert. Object Oriented Programming in C++
— Savich Walter. Absolute C++, 2nd ed.
— Heller Steve. C++: A Dialog – Programming with C++ Standard Library. Online free book
— The C++ Programming Language , 3rd Edition / Stroustrup Addison-Wesley.
— C++ Primer, 3rd Edition / Lippman and Lajoie Addison-Wesley.
–Scott Meyers, Addison-Wesley:
Effective C++ : 50 Specific Ways to Improve Your Programs and Designs, 2nd Edition
More Effective C++ : 35 New Ways to Improve Your Programs and Designs
Beginners’ C++ Course, 3rd Edition (zipped word file, 70K) / Ron Wein.