Introduction to Programming (C++) (3 cr)
Code: TT00VI08-3048
General information
- Enrollment
-
05.08.2024 - 31.12.2025
Enrollment is ongoing
Enroll to the implementation in OMA
- Timing
-
05.08.2024 - 31.12.2026
Implementation is running.
- Number of ECTS credits allocated
- 3 cr
- Local portion
- 0 cr
- Virtual portion
- 3 cr
- Mode of delivery
- Online
- Unit
- School of ICT and Industrial Management
- Campus
- Karaportti 2
- Teaching languages
- Finnish
- Seats
- 0 - 500
- Degree programmes
- Information and Communication Technology
- Teachers
- Virve Prami
- Teacher in charge
- Janne Salonen
- Groups
-
CAMPUSONLINE_TIVI_NONSTOPCampusOnline implementations (Tivi Nonstop)
- Course
- TT00VI08
Objective
The student is familiar with C++ language and its specific features in object-oriented programming. The student knows how to define a class, instantiate it and write code, in which the objets created are used. The student knows how to make objects interact with each other, how to use inheritance and how to use dynamic binding.
The student knows how to define and use generic functions and classes as well as operator functions
Content
- automatic and dynamic creation of an object,
- constructors and destructors,
- inheritance, associations, aggregation,
- function overloading,
- virtual functions and dynamic binding,
- various parameter types,
- copy constructor,
- operator overloading,
- generic classes and functions,
- standard class library.
Location and time
Because course is 100% online (Self-Study) course, study place and timetable is up to Student her-/himself.
Materials
Can be find on study environment.
Teaching methods
100% online (Self-Study) course.
Employer connections
N/A
Exam schedules
Can be find on study environment.
International connections
N/A
Completion alternatives
N/A
Student workload
Up to Student her-/himself.
Content scheduling
Up to Student her-/himself.
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)
- knows how to select designs which help re-using the code
Assessment methods and criteria
Pass after you have done at least 80% of tasks.