Siirry suoraan sisältöön

Ohjelmoinnin perusteet (C++) (3 cr)

Code: TT00VI08-3008

General information


Enrollment

01.05.2019 - 30.05.2019

Timing

01.01.2020 - 31.12.2020

Number of ECTS credits allocated

3 op

Virtual portion

3 op

Mode of delivery

Distance learning

Unit

ICT ja tuotantotalous

Campus

Karaportti 2

Teaching languages

  • Finnish

Seats

0 - 3000

Degree programmes

  • Tieto- ja viestintätekniikan tutkinto-ohjelma

Teachers

  • Mika Hyyryläinen

Groups

  • ATX20TV
    Avoin amk - NonStop vuosi 2020

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

Up to Student her-/himself.

Materials

Online in Metropolia's Viope environment.

Teaching methods

100% online (Self-Study) course.

Employer connections

N/A

Exam schedules

N/A

International connections

N/A

Completion alternatives

N/A

Student workload

Up to Student her-/himself.

Content scheduling

Up to Student her-/himself.

Further information

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

Pass, after Student have done 80% or more of the course.