Programming II
Public syllabus for 2025-2026
Academic overview
Teaching team
Learning time distribution
| Total | ||||||
|---|---|---|---|---|---|---|
| Curriculum | Lecture | Practice | Total Weekly | Lecture | Practice | |
| 56 | 28 | 28 | 4 | 2 | 2 | |
| Exam hours | ||||||
| 4 | ||||||
| Individual Study | Bibliography study | Field study | Homework | Tutoring | Others | |
| 65 | 31 | 19 | 12 | 3 | 0 | |
| Overall | ||||||
| 125 |
Learning outcomes
Knowledge
- (6a03a0962355ae3a04d2f35b) Basic principles of analysis, implementation and maintenance of relevant software and hardware techniques and methods in cybersecurity;
- (6a03a0962355ae3a04d2f35c) Identification, understanding and use of essential languages in the field of cybersecurity;
Skills
- (6a03a0962355ae3a04d2f363) Identification of relevant solutions from a cybersecurity perspective, in the context of service-oriented technologies (cloud/edge/fog computing);
- (6a03a0962355ae3a04d2f364) Use of modeling and simulation tools, relevant to the analysis, understanding and inoculation of cybersecurity concepts;
Responsibility
- (6a03a0952355ae3a04d2f2fe) Maintaining autonomy, integrity and independence in professional opinions
- (6a03a0962355ae3a04d2f36a) Continuous improvement in the field of activity;
Online platform
Course content
| Content | Methods | Obs |
|---|---|---|
| C1 The C/C++ programming languages. Program structure. Building stages. Data types. Functions. Macros | Lecture, discussion, presentationActive student involvement through open discussions and questionnaires | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 2] |
| C2 Pointers. Arrays. References | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 7] |
| C3 Structures. Unions. Bitfields. Enumerations | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 8] |
| C4 – C6 Object oriented programming concepts in C++. Classes: access control. Constructors. Destructor. Self-reference. Modifiers. Scopes. | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 16] |
| C7 Objects: object lifecycle. | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 16] |
| C8 Class relationships. Association. Composition. Aggregation | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 |
| C9 Inheritance. Derived classes. Accessing base class members. Constructors. Destructor. Virtual functions. | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 20] |
| C10 Inheritance. Abstract classes. Polymorphism. Class hierarchies. Multiple inheritance | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 16] |
| C11 Exception handling. Definition. Throw-try-catch mechanism. Exception | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 13] |
| C12 Generic programming. Introduction. Template classes. Template functions. | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 23] |
| C13 Generic programming. Specializations. Inheritance. Covariance. Contravariance | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 25] |
| C14 C++ Standard Library. Introduction. Containers. Algorithms. Iterators. Strings. Streams. Numerics | Idem | Bjarne Stroustrup – The C++ Programming Language 4th Edition, Addison Wesley, 2013 [Chapter 30] |
Course bibliography
[1] Bjarne Stroustrup – The C++ Programming Language 4th Edition. Addison Wesley, 2013. [2] Brett McLaughlin, Gary Pollice, David West – Head First Object-Oriented Analysis and Design, O'Reilly, 2006 [3] https://bitbucket.org/danielpop/programming-ii-lectures/src/year-2024-2025/
Seminar content
| Content | Methods | Obs |
|---|---|---|
| L1 Functions, arrays, strings. | Lab instructors will offerguidance and explanationsfor the code challenges.Each student will solve thecode challenges and submitthe solution on the supported platform.Additionally, codechallenges can be solved on local IDE.Home assignments will beused to complete additionalexercises | Labs will be conducted using Stepik platform |
| L2 Pointers | Idem | Idem |
| L3 Pointers and structures | Idem | Idem |
| L4. C and C++ basic differences: Default argument values. I/O streams. Reference type. Memory allocation in C++ | Idem | Idem |
| L5 - L6 Class declarations. Constructors and destructor. const modifier | Idem | Idem |
| L7 Modifiers: static. Operators | Idem | Idem |
| L8 - L9 Class relationships | Idem | Idem |
| L10 – 11 Inheritance and polymorphism | Idem | Idem |
| L12 Exception handling | Idem | Idem |
| L13 Generic programming. Template classes and functions | Idem | Idem |
| L14 Test - Lab assessment | Test on Stepik | Test on Stepik |
| Bibliography: [1] https://bitbucket.org/danielpop/programming-ii-labs/src/master/ [2] Laboratories on Stepik platform [3] Bjarne Stroustrup – The C++ Programming Language 4th Edition. Addison Wesley, 2013 |
Seminar bibliography
It is nearly impossible to develop applications nowadays that are not using object-oriented paradigms. Object-oriented modelling and implementation are the de-facto approach to implement complex systems across multiple businesses (financial, automotive, or online commerce) or research projects in academia. The local, national, and international workforce market is continuously looking for highly skilled personnel to develop applications and platforms using object-oriented paradigm.
Corroboration
(none)
AI tools guidance
Evaluation and delivery
| Activity | Criteria | Methods | Percentage |
|---|---|---|---|
| C |
|
|
|
| S |
|
|
|
Performance standards
Minimum Performance Standard ------------------------------------ - Knowledge of basic concepts of procedural and object-oriented paradigms in C/C++ languages; - Ability to model a simple problem using object-oriented concepts (e.g. class complex number); - Ability to understand and model simple problems using template classes and functions (e.g. class stack); - Ability to write a simple program (up to 3 related classes) in C++ programming languages, to compile it and run it successfully. - Ability to use basic collections and algorithms from STL (Standard Template Library) (e.g. class vector). Students’ Evaluation Details ------------------------------- For students enrolled in the 1st year of study: The final grade is computed as the average of grades obtained for components 10.4 and 10.5. The exam is passed if each individual grade obtained at components 10.4 and 10.5 (i.e. both lecture and lab grades) is greater or equal to 5. The component 10.4 (Lecture assessment) is composed of the result of a multiple-choice test in the exam session weighted with the results obtained on each lecture quiz. In the final examination sessions (A2/B2) ONLY the final test can be retaken. Quiz grades are computed as the ratio between student’s points over the total points from all lectures, and it is NOT changeable in exam session(s). The component 10.5 (Lab assessment) is evaluated during the semester through a test in the last laboratory and will yield a final Lab grade. If the Lab grade is less than 5, then the student can retake the lab test in the examination session(s) (A2/B2). For students enrolled in the 2nd or 3rd year of study, who need to retake the exam: the grade obtained for component 10.5 (laboratories) gets carried over previous years and one MUST retake ONLY the final multiple-choice lecture test. In case of re-examination, the lecture quizzes from previous years are NOT considered. Attendance Rules ------------------- For laboratories, minimum 10 laboratory attendances are mandatory. For students who have filed for 50% frequency reduction and got approved by the faculty, attendance at minimum 7 laboratories.
Additional info
(none)