C++

Why C++

The recording and presentation are available on https://www.youtube.com/watch?v=UdTzHmjMYBc 

Info for Economic Informatics (English) students (2025-2026)

  • all students (2nd, 3rd and supplementary year)  from the Economic Informatics (English) program are invited to join the dedicated Slack workspace, created for the Objected Oriented Programming course. The registration link is https://csieenoop2025.slack.com/join/signup. The registration is done using the @stud.ase.ro email address
  • the Slack channel will be used in parallel with online.ase.ro for messaging, Q&A and announcements
  • the course coordinator is Catalin Boja (catalin.boja@ie.ase.ro)

To register on online.ase.ro into the course section use the next link https://online.ase.ro/course/view.php?id=59766 and the key asg45. For seminar registration, you need to attend an activity.

Seminar retake for 3rd year and additional year students

Students who did not pass the course in previous years must: :

  • to redo all seminar and course activities in the current academic year
  • to get involved in activities during the year because points accumulated in previous years are NOT kept
  • to check the conditions specific to the current academic year (described in the subject sheet)
  • to participate at seminar and course activities alongside 2nd year students

Distribution of 3rd year or additional year students into 2nd year groups

  • students are asked (the first 2 weeks of the semester) to check the 2nd year schedule of the study program they are part of (English Computer Science) and to choose a group to participate;
  • to avoid crowding of rooms, students are asked to obtain the approval of the seminar coordinator; this is done in person, by participating in a seminar in the first weeks of the semester; each 2nd year group will accept a maximum of 10-12 students
  • each student will upload any phases of the project and any assignments on the platform https://online.ase.ro within the group in which he/she was enrolled by the seminar coordinator

To register on online.ase.ro into the course section use the next link https://online.ase.ro/course/view.php?id=59766 and the key asg45For seminar registration, you need to attend an activity.

Course curricula for the academic year 2025-2026

Fisa disciplinei pentru programul de Informatica Economica in limba romana - https://fisadisciplina.ase.ro

Course description for the Economic Informatics program in English - https://fisadisciplina.ase.ro

Course and laboratory structure

  1. Using an IDE (Visual Studio or Visual Code), compiling, debugging, correcting compilation errors, identifying and correcting bugs
  2. Review of pointers, one-dimensional arrays (vectors and strings)
  3. Review of passing parameters to functions. Passing parameters by value or by address. Pointer vs. C++ Reference
  4. Classes, access specifiers, encapsulation, attributes, methods, static attributes, constant attributes
  5. Constructors, Destructor;
  6. Copy constructor, operator overloading =;
  7. Operator overloading (<<, >>, +, -, *, /, ++, --);
  8. Operator overloading (+=, [], ( ), !, cast);
  9. Derivation/Inheritance
  10. Virtual functions, overriding, multiple inheritance
  11. Abstract classes, interfaces, try-catch mechanism, namespaces;
  12. Stream-oriented I/O operations
  13. Template classes, concept, implementation, specialization
  14. STL (Standard Template Library), containers, iterators and algorithms, RTTI (Run Time Type Identification

Exemplu de clasa implementata in C++ (just to get an idea)

Course and seminar evaluation, 2025-2026

  • 10% of the final grade - laboratory live test (in weeks 5-6 but the exact date will be established during the seminar)
  • 15% of the final grade - laboratory live test (in weeks 9-10 but the exact date will be established during the seminar)
  • 5% of the final grade - seminar activities (homework, active participation, etc.)
  • 5% of the final grade - course activities (quizes, active participation, etc.)
  • 15% of the final grade - quiz in the last 2 weeks of the semester
  • 50% of the final grade - oral computer exam

For the overall evaluation the following are considered:

  • According to the course syllabus, the examination assessment has a weight of 50%, and the seminar grade has a weight of 50%. Final grade = (50/100 * Exam_Grade) + (50/100 * Seminar_Laboratory_Grade).
  • To pass, the exam grade in the session must be at least 5, and the final grade after weighting (exam + seminar) must be at least 5 (with normal rounding).
  • To be able to take  the exam in the spring session is conditioned by obtaining a minimum of 2 points during the semester (out of a maximum of 5)
  • Each teacher from the seminar/laboratory activity establishes his own evaluation method and internal weights, but there is at least 2 live tests during the semester, a quiz test and a project/homework(s)
  • Mandatory conditions for passing the exam:
    • NO compiler or linker errors - zero errors
    • all requirements (including grade 5) must be implemented and tested in the "main()" function
    • be able to use the debugger in VS 2022
    • implement complete class definition and create objects in the calling function "main()"
    • define private fields with extension in dynamic memory - must implement a default constructor and with parameters, a copy constructor, a destructor and overloading the "= operator".
    • overloading of unary operators (++,--, etc.), binary (+, -, etc.) as well as those that involve the implementation of "friend" operators.
    • working with byte streams for processing files/console + serialization/deserialization of objects/instances in classes.
    • Implementing inheritance/derivation mechanisms and abstract classes plus "interfaces" (classes with pure virtual methods/functions) including implementation of "pure" polymorphism.
    • Implementing template classes and functions.
    • Using classes for standard data structures (STL - Standard Template Library).
    • *optional: elements of the Static and dynamic "cast" type, try-catch type mechanisms, optimizing memory usage (avoiding "memory leaks" and "dangling-pointers") and execution speed are also evaluated.

Consultation/Extra meetings schedule

  • Boja Catalin - TBA during courses

Practical preparation for the exam

Theoretical part preparation

Exam subject model

Bibliografie

Sursele principale pentru pregatirea examenului sunt resursele bibliografice [SMEU02] si [SMEU01]. Se recomanda studierea si implementarea in programe scrise, compilate si rulate pe calculator a urmatoarelor: