Information for the 2nd Practical Test
General Information
- Date: 10/12/2024 (tuesday)
- Time: There will be two shifts for the test (14:30 and 17:00)
[see student allocation to shift and room] (protected access)
- Place: FEUP Computer Labs (B Building)
- Duration: 2h
- Method: the test will be individual and will consist of practical problems for which you can submit C++ code to Mooshak and receive feedback that might include public test cases, like in the practical classes
- Language: all problems will be available in english and in portuguese
- Environment: the computers will have Linux, with GCC available at command line, and the usual IDEs, with CLion and VSCode able to compile/execute; you will have access to documentation (local copy of cppreference) and to a local copy of the course website (including lecture slides and practical classes, with all auxiliary files)
- Scoring: this test is worth 2.5 points out of 20 (12.5% of your class grade) [see explanation and calculation formula of final grade]
You will have 5 exercises in Mooshak worth 25%+25%+15%+15%+20%
In each exercise there might be partial scoring (e.g. passes some tests, fails on others).
When submitting, you will know the score you got on all tests. Your grade on a problem will be the grade of your best submission on that problem (the one with the highest score)
Specific goals for each exercise and training problems
- [25%] Exercise 1: a method in a linked list
You will need to add one method to the singly linked list class given in the lectures and used on practical exercises (class SinglyLinkedList<T>: see code | download code).
- [25%] Exercise 2: a method in a binary tree
You will need to add one method to the binary tree class given in the lectures and used on practical exercises (class BTree<T>: (see code | download code).
- [15%] Exercise 3: DFS method in a graph
You will need to add one method to the graph class given in the lectures and used on practical exercises (class Graph: see code | download code). The suggested method to solve will be using DFS, but the students can solve using any other graph traversal technique, if it solves the problem.
- [15%] Exercise 4: BFS method in a graph
You will need to add one method to the graph class given in the lectures and used on practical exercises (class Graph: see code | download code). The suggested method to solve will be using BFS, but the students can solve using any other graph traversal technique, if it solves the problem.
- [20%] Exercise 5: a problem with STL containers
A problem whose solution might need data structures that were discussed in classes (such as lists, stacks, queues, sets and maps) but you can use any available STL implementation. The solution will need a certain complexity to pass all tests and the main topics of the exercise will be around practical classes #06 (lists, stacks and queues) and #08 (balanced binary search trees).