CS 3 (Spring 2023) Practicum

This document describes the course-long, solo assignment you will be expected to complete in CS 3.

What is “practicum”?

Practicum is a solo project in CS 3 and a chance to practice the things you learn from the projects. There are two separate, but related, components that you will work on - they will be in the same repository but will be discussed and graded separately.


Practicum as a whole comprises 30% of your CS 3 grade. Within that 30%, 70% will be the code quality portion, and the other 30% of the practicum grade will be the regex portion.

Gitlab Tests

There are practicum tests in your gitlab repository, that will run automatically. The “smoke_main” and “smoke_regex” tests are tests that you have not made significant, test-breaking changes to your repository. They may also fail if you have significant errors or memory leaks in your code. If either are failing and you cannot figure out why, please reach out to a member of course staff for help. The “main” and “mainreplacedcode” tests are tests that you have not broken the functionality of the original code - failure to pass these tests will result in point losses in the code quality section. Finally the “regex” tests will be used to evaluate your progress on the second part of practicum and will be described in more detail in that section.

Collaboration Policy

As this assignment is completely nocollab, you are forbidden from discussing it with your classmates. In fact, for the code quality portion, you may not even receive help of any kind from course staff, except for help with the smoke tests (see code quality guide for more details). On the regex portion, you still may not discuss with classmates, but you may consult your TAs for office hours on the regex portion, for either conceptual or debugging help. For a more extensive collaboration policy, please consult this page.


Code quality


Part 1: Code Quality

More details about the code quality portion of this assignment can be found here.

Part 2: Iterative Development and Regex

More details about the regex portion of this assignment can be found here.