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.
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:
What is working so far?
What part of the project still needs work?
What do you plan to add or improve before the Final Project?
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:
GitHub repository URL
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
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.