Skip to main content

Introduction to Programming (C++) (3 cr)

Code: TT00VI08-3020

General information


Timing

28.02.2022 - 06.08.2022

Number of ECTS credits allocated

3 op

Virtual portion

3 op

Mode of delivery

Distance learning

Unit

School of ICT

Campus

Karaportti 2

Teaching languages

  • Finnish

Seats

0 - 1000

Degree programmes

  • Information and Communication Technology

Teachers

  • Mika Hyyryläinen

Teacher in charge

Janne Salonen

Groups

  • ATX22TVK
    Ope UAS: NonStop Spring 2022

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.

Further information

ILMOITTAUTUMINEN

- Avoimen AMK:n sekä CampusOnline opiskelijat: e-lomake

- Metropolian tutkinto-opiskelijat: https://vw4.viope.com/login?org=metropolia. Rekisteröidy klikkaamalla sisäänkirjautumisikkunan vasemmasta laidasta Ilmoittaudu kurssille (Enroll on the Course). Valitse jokin Viope-kurssi, jonka lopussa lukee tämä ENROLLING
Open UAS and CampusOnline Student: Please fill in eform

Metropolia's Degree Student: https://vw4.viope.com/login?org=metropolia
- Register to system -> Click the link “Enroll on the course”
- Choose any course of (NonStop).
- Fill the others fields

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

When you have done 80% of tasks, please send email to viopesupport@metropolia.fi.