Please note! Course description is confirmed for two academic years, which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.

LEARNING OUTCOMES

The student knows the principles and concepts of the object oriented programming in C++ programming language. The student can produce programs in C++ language.

Credits: 5

Schedule: 06.09.2023 - 08.12.2023

Teacher in charge (valid for whole curriculum period):

Teacher in charge (applies in this implementation): Yusein Ali

Contact information for the course (applies in this implementation):

CEFR level (valid for whole curriculum period):

Language of instruction and studies (applies in this implementation):

Teaching language: English. Languages of study attainment: English

CONTENT, ASSESSMENT AND WORKLOAD

Content
  • valid for whole curriculum period:

    Basic concepts of C++. Object oriented programming and generic programming in C++. C++ standard library. Tools for robust programming.

  • applies in this implementation

    In this course, object-oriented programming principles of C++ language are covered. The course does not cover all supported software constructs of C++ language, but it covers the basic topics in 5 online modules. The most important part is a group project, where the students will complete a group-project with their peers. 

    THE COURSE IS ONLINE. THERE ARE NO FACE-TO-FACE LECTURES.

    1. The basic topics are presented in A+ platform
      • The platform allows reading the materials online.
      • There are some number of programming tasks that are required to be submitted to the system.
      • A number of online exercise sessions where students can get help and/or ask about some more information. 
        Students are NOT required to attend online exercise sessions.
      • There will be a Zulip organization for the course so that students can ask for help from teaching assistants or their peers.
    2. The group-project is to develop fairly complex programming task using C++.
      • A group is composed of 4 peers.
      • A number of different topics will be defined as a possible project task.
      • The workload organization, development environment setup, and related practicalities will be handled by the group.
      • Each group will have an advisor (a teaching assistant) so that they can get help, and will be informed about their progress.
      • The projects will be hosted in a GIT repository. Therefore, the students will be required to 
        • Learn GIT version control system basics.
        • Use the features of GIT to collaboratively develop a project.
        • GIT is not covered in the course material in details. The students will be consulting external material to learn how to use GIT.
      • The groups can use different external libraries in their development. The details of these libraries are not covered in the course material. The groups will consult documentations of these libraries to be able to properly use them.

Assessment Methods and Criteria
  • valid for whole curriculum period:

    Course material is online and course is mainly conducted as self study. In addition to smaller programming exercises, there is a programming project that is done in group. Assistance is available in exercise sessions in computer class.

    Assessment is based on the programming exercises and programming project.

Workload
  • valid for whole curriculum period:

    Lectures 4h

    Voluntary assisted exercises, about 8 h a week, available for participation as needed.

    Exercises (self-study): 40-60 h

    Programming project done in a group: 50 - 70 h

DETAILS

Substitutes for Courses
Prerequisites

FURTHER INFORMATION

Further Information
  • valid for whole curriculum period:

    Teaching Language : English

    Teaching Period : 2022-2023 Autumn I - II
    2023-2024 Autumn I - II

    Enrollment :

    Registration for Courses on Sisu (sisu.aalto.fi).