C++ Programming (3 ECTS)
Code: TT00CB04-3054
General information
- Enrollment
- 02.07.2024 - 31.07.2024
- Registration for the implementation has ended.
- Timing
- 01.01.2024 - 31.07.2024
- Implementation has ended.
- Number of ECTS credits allocated
- 3 ECTS
- Virtual portion
- 3 ECTS
- Mode of delivery
- Online
- Teaching languages
- Finnish
- Degree programmes
- Information and Communication Technology
Further information
Online course
Evaluation scale
Hyväksytty/Hylätty
Assessment criteria, satisfactory (1)
After completing this course the student will
- understand the difference between a class and an object and knows how to use straightforward pre-coded classes in a software application
- understands why classes are generally speaking necessary and how they are used (the importance of differentiating between implementation and user interface)
- is able to design and use simple classes
- understands the goal of making classes to be applicable for multiple purposes
- understands how the vector class model operates and knows how to correctly use it instead of a C language array
Assessment criteria, good (3)
After completing this course the student will
- understand the benefits and disadvantages of dynamic memory management when designing and using objects
- when designing classes understand and be prepared for the challenges brought by any dynamic data members (need for a destructor, need for a copy constructor, need for an assignment operator etc.)
- knows how to select a suitable class relation type (inheritance, association, aggregation) according to the situation when using an existing class to implement a new class
- also knows how to implement a new class using the class relation types mentioned above
- understands the implementation differences between various STL container class models thus being able to select a suitable model based on the requirements of the current application
Assessment criteria, excellent (5)
After completing this course the student will
- deeply understand the meaning of function models and class models and how these operate on the compiler level
- knows when designing classes how to be prepared for eventual memory leaks and knows how to prevent these leaks in all situations (exceptional situations included)
- is able to very expertly use pointers, not just by trial and error (defining a pointer, indirect referencing, using references)