Object-Oriented Programming in C++ (OOPC) - IFE sem. III
Prerequisites
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.
- <0.5-0.6) - 3
- <0.6-0.7) - 3.5
- <0.7-0.8) - 4
- <0.8-0.9) - 4.5
- <0.9-1.0> - 5
Example examination problem
Examination
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
- Any original books ( not a printout nor a xerocopy).
- Printouts of lecture slides. No other printouts are allowed.
- Your own handwritten notes in non-black ink.
- The computer provided by the department.
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
- Stroustrup B., "The C++ Programming Language (3rd Edition)", Addison-Wesley Professional, 1997