CS 251 Labs (Fall 2026)

Description Grades Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 9 Week 10 Week 11 Week 12 Week 13 Week 14

Description

Lab objectives

  • Gain practical experience implementing data analysis and visualization techniques discussed in lecture before starting the project.
  • Create an intuition for what the results of different algorithms and visualization techniques will produce.
  • Find and apply python library documentation.
  • Use jupyter notebook and matplotlib to visualize datasets and algorithms.
  • Use numpy, scipy, pandas, and scikit-learn to modify and analyze datasets.

Grading Policies

How labs are graded

Labs contribute 5% toward your course grade in CS251. Each lab is graded separately from projects, out of 2 points:

Attendance point: Your attendance in lab is required and will contribute 1 point. You are allowed to be absent for 2 labs (excused or unexcused) with no penalty.

Lab completion point: Your submitted lab work will contribute up to 1 point. Here is the grading rubric:

  • Strong: Lab is complete. (1 pt)
  • Developing: At least half of the lab is completed. (0.6 pt)
  • Insufficient: The lab was not submitted or less than half completed. (0 pt)

You may lose points if you do not turn in labs and projects in the expected format. There is an entry for following the submission format in the project grading rubrics.

Submission format

Please see Lab and project submission format.

Lab due dates

Your lab should be turned in by Thursday night at 11:59pm.

Labs received within 1 week of the due date will lower that week's lab assignment's grade by 0.4 pts.

Labs will not be accepted after 1 week of the due date.

Code Review Quizzes

Code review quizzes contribute 5% toward your course grade in CS251.

There will be 5 code review quizzes, the lowest grade will be dropped to account for excused or unexcused absences.

The code review quizzes will be during lab in weeks 4, 5, 8, 9 & 11.

Code review quizzes are on paper and are closed book, closed note, and completed independently. You may not leave the classroom while you are taking the quiz. The use of electronics are prohibited, including but not limited to headphones, smart phones, smart watches, and smart glasses. Please note that wearables may be inspected to ensure compliance.

Code review quizzes may include code from your project. To insure that your code works for the quiz, please rename your project folder with your Colby ID before you zip the folder, replace "YOUR NAME HERE" with your name in each file, and do not modify the provided docstrings, only add inline comments.

Week 1

Python and coding categorical data Lab

Due: Thursday, September 10th

Lab 01A

Next Steps

Week 2

Lab 1: Introduction to Jupyter, NumPy, and Matplotlib

Due: Thursday, September 17th

Typically lab instructions will be given to you through a Jupyter notebook that should be completed and turned in. Let's start that process this week.

Note: This requires that you have Jupyter installed on your computer. If you followed the CS251 software installation instructions, you should be ready to go. Otherwise, follow the instructions to install Jupyter.

  1. Download Lab 01B zipfile and move it to where you store CS251 labs on your computer.
  2. Open Terminal and cd your way to the Lab01b directory.
  3. Type jupyter notebook in the Terminal then hit enter to run the command. If that doesn't work try python3 -m notebook
  4. Your default web browser should launch and open a page that shows the files listed within your Lab01b directory. code
  5. Open the file named Lab01b.ipynb and start the lab.
    If you have problems, please ask. Now is the time to debug the process!

Please upload your completed work in the Lab01b folder on Google Classroom as a ZIP file like last week and follow the lab and project submission format.

Download the matplotlib tutorial: matplotlib_tutorial_starter.ipynb.

Week 3

Lab 2: Logical Indexing and Categorical Data Analysis

Due: Thursday, September 24th

Lab 02 zipfile

Please upload your completed notebook on Google Classroom in a ZIP file like last week and follow the lab and project submission format.

Week 4

Code Review Quiz (Project 1)

Lab 3a: Linear Regression

Due: Thursday, October 1st

Lab 03a zipfile

Please upload your lab .ipynb file in a ZIP file (following the usual conventions).

Week 5

Code Review Quiz (Project 2)

Lab 3b: Polynomial Regression

Due: Thursday, October 8th

Lab 03b zipfile

Please upload your lab .ipynb file in a ZIP file (following the usual conventions).

Week 6:

NO LAB

Week 7

Lab 4: K-means clustering

Due: Thursday, October 22nd


Please upload your lab .ipynb file in a ZIP file (following the usual conventions).

Week 8

Code Review Quiz (Project 3)

Lab 5a: Pandas and Data Transformations

Due: Thursday, October 29th


Please upload your lab .ipynb file in a ZIP file (following the usual conventions).

Week 9

Code Review Quiz (Project 4)

Lab 5b: Principal Component Analysis

Due: Thursday, November 5th


Please upload your lab .ipynb file in a ZIP file (following the usual conventions).

Week 10

Lab 6a: K-Nearest Neighbor Classification

Due: Thursday, November 12th


Please upload your lab .ipynb file in a ZIP file (following the usual conventions).

Week 11

Code Review Quiz (Project 5)

Lab 6b: Naive Bayes and KNN

Due: Thursday, November 19th


Please upload your lab .ipynb file in a ZIP file (following the usual conventions).

Week 12:

NO LAB

Week 13

Lab 7: Neural Networks

Due: Thursday, Dec 3rd


Please upload your lab .ipynb file in a ZIP file (following the usual conventions).

Week 14:

NO LAB