HU Credits:
2
Degree/Cycle:
1st degree (Bachelor)
Responsible Department:
computer sciences
Semester:
Teaching Languages:
Hebrew
Campus:
E. Safra
Course/Module Coordinator:
Danny Barash
Coordinator Office Hours:
By appointment
Teaching Staff:
Mr. Yoni Sher Mr. Danny Barash
Course/Module description:
Outline the programming paradigm of CPP (C++11) language.
Course/Module aims:
Understanding the special characteristics, benefits and faults of using C++ programming language.
Learning outcomes - On successful completion of this module, students should be able to:
Read and write programs in C++ language.
Understand memory management.
Design readable, extendible and optimal programs.
Attendance requirements(%):
0
Teaching arrangement and method of instruction:
Frontal lectures and programming assignments.
Course/Module Content:
References
Functions overloading
Classes, fields and methods, members and static, constructors and destructors
Static and dynamic memory understanding and management
Const methods and objects
Nested classes
Namespaces
Inheritance
Virtual methods and polymorphism
Encapsulation, abstract classes and interfaces, multiple inheritance
Operators overloading
Copying and casting
Move semantics and perfect forwarding
Exceptions handling
Argument dependant lookup
Templates functions and classes
Principles of generic programming
Generic iterators
Templates specialization
Template meta-programming (TMP)
Standard template library (STL)
Smart pointers
Run time type information
The new use of "auto" keyword
Lambda functions and Functors
Return value optimization
Multithreading
Required Reading:
NA
Additional Reading Material:
NA
Grading Scheme :
Additional information:
NA
|