Labs and Projects Overview

This page has instructions and procedures for completing and submitting projects, as well as the project schedule with links to detailed project instructions.

Projects are large programming and writing assignments that you will submit either weekly or every other week (depending on the project).

Labs are ungraded assignments that prepare you to start the project. In some labs you will do exercises that the projects build on directly, but in others, you will do other types of preparation. The work you do on the lab is not directly submitted (unless the project builds on it directly in which case it is considered part of your project submission). However your work will be evaluated by showing us that your code passes a provided checkpoint script before you leave the lab period. See for additional details about the lab period procedures.

My Office Hours

My Schedule

Project Schedule

Submit projects by 10 PM on the Due Date (usually Tuesdays) in the associated Gradescope assignment!

Project Number Lab Link Project Link Lab Due Date Due Date Project Rubric
0 Java Bootcamp -- Sep. 18 Sep. 18 Rubric
1 ArrayLists and Testing Monte-Carlo Simulation: Blackjack -- Sep. 24 Rubric
2 2D Arrays Conway's Game of Life -- Oct. 1 Rubric
3 Linked Lists Agent-Based Simulations -- Oct. 8 Rubric
4 Queues Modeling a Server Farm -- Oct. 22 Rubric
5 Stacks Sudoku -- Oct. 29 Rubric
6

Binary Search Trees

HashMaps

Word Frequency Analysis Nov. 5 Nov. 12 Rubric
7 PriorityQueues and Heaps Searching on a Grid -- Nov. 19 Rubric
8 Graphs The Voronoi Game on Graphs -- Dec. 13

Project Due Dates

Projects will be due on Tuesdays at 10PM unless we specify otherwise. The usual schedule will be that we start labs during the lab sections on Tuesday and Thursday, and then you have the following week to work on the project before submitting it. Some projects will take 2 weeks; in these cases, you will submit code from your week 1 lab so we can check on your progress. This will be required and graded. The usual late submission policy applies for this code.

Submitting Projects

You will submit projects through Gradescope. The assignment for each project will include a report template that you should directly when writing your report. You should upload your code including all files needed to compile and run it as a zipfile. We don't want graders spending their/our time tracking down missing pieces of your assignments. We may be generous once, but we won't be generous twice so double check that all of your files have been uploaded!

Late Project Submission Policy

This class has a different policy for submitting late work than your other CS classes so please be sure to read it carefully!

You have a budget of 12 late days that you can use across any combination of projects throughout the semester. For each project, you can submit it up to a maximum of 3 days past the due date. That means that you can’t submit any project past Friday at 10 PM for full credit since they are due on Tuesday at 10 PM. However, you can still submit projects past this point for a maximal score of 65%. You will almost always be better off to submit a partially complete project anyway, as you could very well have more than 65% of it done. Even if you score less than 65%, you can improve the score up to a 65% at any time.

You do not need to tell us if you are using late days. We will track them based on when you submit your projects, but you are responsible for remembering how many you have remaining.

This policy is designed to help you do well in this class! It gives you flexibility to take your time doing good work as unexpected things come up, but it also encourages you to stay on track in the class and not fall behind. It is better to submit a partially done project on time than to wait and fall behind on your other work! Check out our advice on Submitting a partially finished project to get tips on how to get the points you deserve for your work!

If you are running out of late days and need to submit a project partly done, please take a look at this guide to maximizing your partial credit. There are many components to your project score and turning in a project with a single bug is generally not going to make a huge difference to your grade!

That being said, we know that sometimes exceptional circumstances come up. We want you to be able to succeed in this class even if circumstances beyond your control affect your ability to turn work in on this schedule. If you find yourself in this position, please come discuss it with us and we will come up with a fair solution on a case-by-case basis. You should be aware though that this is not a good solution to hold onto a project longer to track down that one last bug for full points!

Policy on Collaboration and Academic Integrity

Homework assignments and projects may be discussed between your current classmates under the condition that you write up your own answers separately. Feel free to reach out to me about clarification on this.

Your professor reserves the right to ask students to verbally explain the reasoning behind any answer or code that they submit and to modify grades based on the answers. It is vitally important that you turn in work that is your own! Reports of academic dishonesty are handled by an academic review board and a finding of academic dishonesty may result in significant sanctions. For more details on Colby’s Academic Integrity policies and procedures, see https://www.colby.edu/academicintegrity/.