CSCI 6201 Lab 2

Final Project Checkpoint: Working with Data in Python

Due Sunday, 10/25/2026, by 11:59 PM (ET)

Announcements

  • Lab 2 is the first stage of your Final Project.

  • You are not expected to have a finished project at this stage.

  • The purpose is to start early, practice working with data in Python, set up your GitHub workflow, and receive instructor feedback before the Final Project.

  • Back to Course Index Page

Goals

By the end of Lab 2, your team should have:

  • selected a dataset

  • created a GitHub repository

  • successfully loaded and explored the data

  • proposed research questions

  • created initial visualizations

  • run one basic model

  • produced preliminary results

  • identified what you plan to improve for the Final Project

Grading

Lab 2 is worth 10% of the course grade.

The major grading areas are:

  • Dataset selection, research questions, and project plan

  • Python data loading and exploratory analysis

  • Visualizations

  • Basic model and preliminary results

  • GitHub repository, teamwork, and code understanding

Lab 2 is a checkpoint. You are not graded on having a polished final result. You are graded on making meaningful progress and demonstrating that your team has a reasonable plan for completing the Final Project.

1. Form Your Team

The Final Project is normally completed in teams of 2-3 students. Lab 2 should normally be completed with the same team you expect to use for the Final Project.

Working in a team gives you practice with:

  • communication

  • dividing tasks

  • collaborative programming

  • GitHub

  • integrating work from multiple people

An experienced student who wishes to complete an individual project must receive instructor approval.

List all team members in your README.

2. Select a Dataset

For Lab 2, select one dataset from the scikit-learn Toy Datasets collection:

Examples include:

  • Breast Cancer Wisconsin - classification

  • Iris - classification

  • Wine - classification

  • Digits - classification

  • Diabetes - regression

Many students identified possible datasets during Lab 1. You may use one of your previous choices or select another dataset from the list.

For beginners, staying with one of these datasets is strongly recommended.

Lab 2 is a checkpoint, not a permanent commitment. After receiving feedback on Lab 2, you may request instructor approval to change datasets for the Final Project. This option is especially appropriate for experienced students who want to use a more challenging dataset.

Do not change datasets after Lab 2 without discussing the change with the instructor.

3. Create Your GitHub Repository

Create one shared GitHub repository for your team.

A suggested repository name is:

csci6201-final-project

Your repository should include at least:

  • README.md

  • analysis.py or analysis.ipynb

  • additional files as your project develops

The README should include:

  • project title

  • names of all team members

  • selected dataset

  • whether the problem is classification or regression

  • proposed research question(s)

  • short description of your current progress

Every team member should make at least one meaningful contribution to the repository. The GitHub history should show contributions from different team members.

Branches and pull requests are encouraged but are not required.

4. Load and Explore the Dataset

Use Python to load your selected dataset.

Your program or notebook should identify:

  • number of samples

  • number of features

  • feature names, if available

  • target variable

  • classification or regression task

Perform basic exploratory analysis.

  • shape of the data

  • descriptive statistics

  • minimum and maximum values

  • averages

  • class counts

  • missing-value checks

  • other information appropriate for your dataset

Your code should demonstrate that you understand the basic structure of the data.

5. Proposed Research Questions

Write 1-3 research questions that you plan to investigate in the Final Project. Keep the questions focused and realistic.

Example classification questions:

  • Can the available features be used to predict the target class?

  • Which features appear most related to the target?

  • How accurately can a simple model classify the observations?

Example regression questions:

  • Can the available features help predict the target value?

  • Which features appear related to the target?

  • How well does a simple regression model perform?

Your questions may be revised after instructor feedback.

6. Initial Visualizations

Create at least 2 meaningful visualizations of your dataset.

Possible examples include:

  • histogram

  • bar chart

  • scatter plot

  • box plot

  • other appropriate visualization

Each visualization should include a clear title and appropriate labels. For each visualization, write 1-3 sentences explaining what you observe.

Do not create graphs only to satisfy the requirement. Try to connect your visualizations to your research questions.

7. First Basic Model

Run at least one simple machine-learning model appropriate for your dataset.

For classification, possible starting points include:

  • Logistic Regression

  • Decision Tree

  • k-Nearest Neighbors

For regression, a possible starting point is:

  • Linear Regression

At this stage, the model does not need to be sophisticated. The purpose is to confirm that your team can complete the basic workflow:

data -> features and target -> model -> predictions -> evaluation

Report at least one preliminary evaluation result.

Classification examples:

  • accuracy

  • confusion matrix

Regression examples:

  • mean squared error

  • mean absolute error

  • R-squared (R²)

You will have time to improve your analysis after receiving feedback.

8. Progress Notes

In your README, include a short section titled:

Next Steps for Final Project

Briefly answer:

  1. What is working so far?

  2. What part of the project still needs work?

  3. What do you plan to add or improve before the Final Project?

  4. Is there anything you would specifically like instructor feedback on?

Short answers are sufficient. The purpose is to help the instructor give useful feedback.

9. Code Understanding

Every team member should understand the basic code submitted for Lab 2.

The instructor may ask a team member to explain:

  • how the dataset is loaded

  • what X and y represent

  • what a visualization shows

  • what the selected model does

  • what the preliminary result means

You do not need to understand every mathematical detail of the machine-learning algorithm at this stage. You should understand how the code is being used in your project.

10. Generative AI

Generative AI tools may be used as learning aids. You may use them to help understand errors, Python syntax, libraries, or possible approaches.

However, you are responsible for understanding all submitted work. Do not submit code that you cannot explain.

11. Blackboard Submission

This is a team submission.

Each team should submit only once. Do not have two or three team members upload duplicate copies of the same files.

Submit through Blackboard:

  1. GitHub repository URL

  2. A short Lab 2 submission file containing:

    • names of all team members

    • dataset name

    • repository URL

    • research question(s)

    • any specific question for instructor feedback

  3. A plain-text (.txt) dataset information file

Blackboard file-size limit:

  • Each individual file uploaded to Blackboard must be no larger than 5 MB.

  • Do not upload the dataset itself to Blackboard.

The dataset information text file should include:

  • dataset name

  • source or organization providing the dataset

  • URL where the dataset can be accessed or downloaded

  • a short description of the dataset

  • whether you are using the original dataset or a modified/processed version

If you use a built-in scikit-learn dataset, provide the relevant scikit-learn documentation URL and briefly explain how you load it in Python.

The main code and project materials should remain in the team GitHub repository rather than being uploaded separately to Blackboard.

12. Notes

  • Lab 2 is due Sunday, 10/25/2026, at 11:59 PM (ET).

  • Only one Blackboard submission is needed per team.

  • Each Blackboard file must be 5 MB or smaller.

  • Do not upload your dataset to Blackboard.

  • After Lab 2, review the instructor feedback before continuing with the Final Project.