Overview
In this practicum, we are simulating managing the roster of players in the Winter Olympics.
Setup
Please do not share your work publicly, even after the class is done. We consider that to be an academic integrity violation.
Please set up your system prior to the in-class practicum - you are intended to have 50 minutes to complete the questions without having to deal with setup issues. The setup for this will look a lot like the DB setup instructions you did for the project.
- You will NOT be using your DB project repository for this, since your partner will have access to it. Instead, you will need to go to https://git.gccis.rit.edu/ and create a new, private project called
db-olympics. Do NOT create it in your group, instead make sure it has a url like:https://git.gccis.rit.edu/yourusername/db-olympics. - Make your instructor Reporter on the project (Prof. Meneely’s username
andy, or search foraxmvse) - Clone your empty practicum repository from GitLab locally to your machine.
- Copy over the following files from your DB project so your directory structure looks like this:
db-olympics/
├── __init__.py
├── .gitlab-ci.yml
├── .gitignore
├── config
│ ├── db.yml
│ └── gitlab-credentials.yml
├── requirements.txt
├── src
│ ├── __init__.py
└── tests
├── __init__.py
├── test_postgresql.py
- To get the rest of the starter code, go to this repository. Open up the following files one-by-one, review them, then copy them over to their equivalents in your repository. You can also use the “Download” button for this, but we recommend reviewing the files one-at-a-time anyway as part of your exam preparation.
src/swen344_db_utils.pyWe have made some improvements from DB0! This will be the default for future classes. Be sure to review.src/olympics.pyMost of your work will be in this file.src/schema.sqlOur drop-and-create statements.tests/test_data.sqlOur test data, heavily commented. Be sure to review it!tests/test_postgresql.pyOur test for connecting to Postgrestests/test_schema.pyOur tests to make sure the database can be rebuilt. Refactored from our DB0 setup.tests/test_olympics.pyOur main tests. You will be adding new tests to this file as part of the takehome portion and the actual practicum.
- Once you have reviewed and copied those files over, run your unit tests. You should get all tests passing.
- Push your code to GitLab. Make sure you get the code passing on the CI as well.
- You are set up!
Make sure you are able to do this work in the classroom during class time.
Takehome
This is required
We have a few practice methods for you to see what the questions will be like.
- Uncomment the unit tests one-by-one
- Carefully read the documentation of the API method under test
- Carefully read the documentation of the test
- Implement the API method. No additional tests are needed, but you are welcome to add any just to make sure it works as expected.
Practicum
This section will be updated with the practicum on Monday, Feb 23rd, 2026
FAQ
Can I use code from my project during the exam?
Yes! But please do not copy from your partner’s code for the practicum.
Can I use the internet to look things up?
Yes! Just don’t use it to communicate with others. And no generative AI usage is allowed (e.g. GitHub Co-Pilot, ChatGPT, etc.)
The indentation is messed up?
Make sure you reindent as your editor expects. Ask your instructor to help you if you need to fix this (Hint: VS Code’s Ctrl+Shift+P and type Convert indentation to spaces is helpful).