Object-Oriented Programming in C++ (OOPC) - IFE sem. III


Only the students having al least 50% from the "Programming and Data Structures in C" (PDSC) laboratory are allowed to take part in the OOPC laboratory. It means, that some students which have not passed the PDSC exam might be accepted. These students will be graded conditionally. This means, that at the date of the first OOPC examination they will have another chance to pass an examination on PDSC. If they fail, their score from the OOPC lab is invalidated, and they have to repeat both courses (PDSC and OOPC), including the laboratories. If they pass and have at least 50% from the OOPC lab, they are allowed to take an exam on OOPC at resit dates. Of course, these students can just skip OOPC this year and try to pass the PDSC exam at the first OOPC exam date or just repeat PDSC (including lab).

Grading policy

The laboratory and the examination are graded on a scale from 0 to 100%. It is necessary to obtain a minimum of 50% from both in order to pass a class. The final grade is determined on the basis of the weighted average of grades from laboratory (40%) and examination (60%). The following table is a mapping between the weighted average and the final grade. Example examination problem


The examination is a practical one of an open book type. You will be asked to write a computer program according to the specification. You are allowed to use No xerocopies are allowed. No electronic devices, apart from the simple watches, are allowed. Cellular phones are to be turned off during the examination. The network access will be limited to the intranet. During the examination you will be using new blank examination accounts, the access to your laboratory accounts will be disabled. Any attempt to access somebody else's account or facilitate access to your examination account by someone else will be considered cheating.

The examinations are graded in presence of the student. Student is required to write some test cases himself, the usage example in the examination problem is just an example and does not cover all corner cases. Programs not fulfilling the requirements (not working according to the specification, having resource management problems, buffer overruns, uninitialized variables etc.) will be graded 0%. In such a case, the student will have the opportunity to fix the errors, with some penalty in the score (approx. 10%-20% per problem detected by the grader, more if the problem is clearly visible when running valgrind), if submitted early enough (approx. two hours before the deadline). Programs must fulfill all the requirements stated in the specification in all cases (not only the ones presented in the example) and provide reasonable error handling to be considered as working according to the specification. After the acceptance of the program, the grader may ask the student a few questions regarding the program, and the answers will affect the score.

Lecture slides and material

Additional material

Recommended reading