Use this page after completing Parts 1–7. It is a compact reminder, not a replacement for the detailed instructions and troubleshooting guides.
Course: CMPS 3603 Programming for Data Science
Instructor repository: https://github.com/rugbyprof/3603-Programming-for-Data-Science
Student repository:3603-data-science-YOURLASTNAME
Student repository visibility: Public
Course environment: Python 3.13 in.venv
Windows terminal: Git Bash
Instructor repository (upstream)
↓ fetch and merge
Your local repository
↓ work in a copy
Work → Completed
↓ save and commit
Local Git history
↓ push when instructed
Your public repository (origin)
↓ report its URL
Course registration form
- Create a personal account at https://github.com/signup.
- Verify the email address.
- Enable two-factor authentication.
- Save the recovery codes somewhere safe.
- Record the exact GitHub username.
- Git
- Python 3.13
- Visual Studio Code
- VS Code Python extension from Microsoft
- VS Code Jupyter extension from Microsoft
Do not install Anaconda or Miniconda for this course. If Conda is already installed, make sure (base) is not active while working in the course repository.
| System | Use |
|---|---|
| Windows | Git Bash inside VS Code |
| macOS | The regular terminal inside VS Code |
Replace the sample values with your real name and the email associated with GitHub:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"Verify them:
git config --global --get user.name
git config --global --get user.emailThese values become the author information recorded in your commits. They are separate from your GitHub username and password.
git --version
py -3.13 --version
code --versiongit --version
python3.13 --version
code --versionEach command should display a version. Fix missing commands before continuing.
Create one empty public repository named:
3603-data-science-YOURLASTNAME
Example:
3603-data-science-smith
When creating it, do not add a README, .gitignore, or license. The course repository already supplies the starting files.
Your repository URL will resemble:
https://github.com/YOUR-USERNAME/3603-data-science-YOURLASTNAME.git
Choose a location such as Projects, and then run these commands in Git Bash on Windows or Terminal on macOS:
mkdir -p ~/Projects
cd ~/Projects
git clone https://github.com/rugbyprof/3603-Programming-for-Data-Science.git 3603-data-science-YOURLASTNAME
cd 3603-data-science-YOURLASTNAME
git remote rename origin upstream
git remote add origin https://github.com/YOUR-USERNAME/3603-data-science-YOURLASTNAME.git
git remote -vReplace both placeholders:
YOURLASTNAMEwith your last name;YOUR-USERNAMEwith your GitHub username.
The final remote list should show:
origin https://github.com/YOUR-USERNAME/3603-data-science-YOURLASTNAME.git
upstream https://github.com/rugbyprof/3603-Programming-for-Data-Science.git
The names have specific meanings:
| Remote | Repository |
|---|---|
origin |
Your public student repository |
upstream |
The instructor's course repository |
Push the initial course files when instructed:
git push -u origin mainOpen the complete folder in VS Code:
code .Run these commands from the repository root.
py -3.13 -m venv .venv
source .venv/Scripts/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python -m pip install ipykernelpython3.13 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python -m pip install ipykernelWhen activated, the terminal prompt normally begins with:
(.venv)
Verify the environment:
python --version
python -m pip --versionThe Python and pip locations should be inside .venv.
Never commit .venv. If it is missing or broken, recreate it from requirements.txt.
- Open the Command Palette with
Ctrl+Shift+Pon Windows orCmd+Shift+Pon macOS. - run Python: Select Interpreter;
- select the interpreter inside
.venv.
- open a course
.ipynbfile; - select Select Kernel in the upper-right corner;
- choose Python Environments; and
- select the
.venvinterpreter.
Typical paths are:
Windows: .venv\Scripts\python.exe
macOS: .venv/bin/python
Open the repository, activate .venv, and inspect Git before editing.
cd ~/Projects/3603-data-science-YOURLASTNAME
code .
git status
git branch --show-current
git remote -vsource .venv/Scripts/activatesource .venv/bin/activateConfirm all of the following:
- the branch is
main; originpoints to your GitHub account;upstreampoints torugbyprof;- you understand every change reported by
git status; and - the notebook kernel is
.venv.
First save and commit your current work. Begin the update only when git status reports a clean working tree.
Fetch without changing your files:
git fetch upstreamInspect incoming commits:
git log --oneline HEAD..upstream/main
git diff --stat HEAD..upstream/mainMerge the update:
git merge upstream/mainThe shorter alternative is:
git pull upstream mainUse the explicit fetch-and-merge sequence when you want to inspect an update before applying it.
Do not use VS Code Sync Changes for instructor updates. This course repository has two remotes, so explicit commands make the direction clear.
Do not edit the only instructor-provided copy.
- Copy the assigned
.ipynbfile intoWork. - Keep its original filename unless instructed otherwise.
- Open the copy from
Work. - confirm that the selected kernel is
.venv; - complete every requested code and Markdown cell;
- save frequently; and
- use relative paths for data files.
When the notebook is finished:
- restart the kernel;
- run every cell from top to bottom;
- confirm that no cell reports an error;
- confirm that plots, tables, and answers appear;
- save the final outputs; and
- move the finished notebook from
WorktoCompleted.
Run the notebook again from its final location when relative file paths may be affected by the move.
Instructor copy → Work → Completed
You may commit locally throughout the assignment even when you have not been told to push.
Review the work:
git status
git diff --statStage only the intended notebook or folder:
git add Completed/path/to/notebook.ipynbReview the staged files:
git diff --cached --stat
git statusCommit them with a meaningful message:
git commit -m "Complete data-cleaning notebook"Good messages describe the work. Avoid messages such as stuff, update, or final final.
Remember:
Save → Stage → Commit → Push
A commit stays on your computer. A push publishes it to your public GitHub repository.
Before pushing, remember that the student repository is public. Do not publish passwords, access tokens, private data, answer keys, or work that the instructor has told you to keep local.
Inspect the unpublished commits and files:
git fetch origin
git log --oneline origin/main..HEAD
git diff --stat origin/main..HEAD
git status
git remote -vConfirm that origin belongs to you. Then push:
git push origin mainAfterward, open your repository on GitHub and verify that:
- the newest commit appears;
- the completed notebook is inside
Completed; - the notebook opens and displays its final outputs; and
- no unintended files were published.
Do not assume that a successful local commit is a submitted assignment.
Complete the course registration form provided by the instructor. Enter the exact requested information, including:
- your name;
- GitHub username;
- full public repository URL;
- repository name; and
- other requested course usernames, such as Discord.
Copy the repository URL from the browser instead of typing it from memory. Test it in a private or signed-out browser window to confirm that the public repository is visible.
Before closing VS Code:
git status
git log -1 --onelineConfirm that:
- every notebook is saved;
- intended progress has been committed;
- no unexpected files are staged;
.venvis not listed by Git; and- you know whether the latest commits are local only or already pushed.
Deactivate the environment if desired:
deactivateOn the first computer, save, commit, and push all permitted work before switching.
On the other computer:
git pull origin mainNever copy .venv between computers. Recreate it from requirements.txt.
If your unpushed work remains on the first computer, it will not appear on the second computer.
- Close and reopen the terminal after installation.
- On Windows, use Git Bash and try
py -3.13 --version. - On macOS, try
python3.13 --version. - Revisit Part 2 if the command still fails.
Activate .venv, install ipykernel, and select .venv again:
python -m pip install ipykernelMake sure the notebook uses .venv, then install the course requirements:
python -m pip install -r requirements.txtYou are in the wrong folder. Move into the repository:
cd ~/Projects/3603-data-science-YOURLASTNAME
git statusDo not force-push. Fetch the student repository and inspect the situation:
git fetch origin
git status
git log --oneline --graph --decorate --all -15If you used another computer or edited on GitHub, you may need:
git pull origin main
git push origin mainIf Git reports a conflict, stop and resolve it carefully before pushing.
- Do not delete files merely to silence Git.
- Do not force-push.
- For a text file, use VS Code's Merge Editor and review the final result.
- For a notebook conflict, preserve copies of both versions and ask for help.
- If the merge has not been committed and you need to return to the pre-merge state, the instructor may direct you to use
git merge --abort.
Do not commit them. Confirm that .gitignore contains:
.venv/Ask for help if .venv has already been committed.
- Confirm that
origincontains your username. - Complete the browser sign-in prompt if it appears.
- GitHub account passwords are not accepted as Git passwords.
- In VS Code, open View → Output, then choose Git for the detailed error.
When asking for help, copy the output of:
git status
git branch --show-current
git remote -v
git log --oneline --graph --decorate --all -15
python --version
python -m pip --versionDo not share passwords, tokens, recovery codes, or private keys.
Do not try random destructive commands from search results. In particular, pause before using:
git push --force
git reset --hard
git clean -fd
git rebaseAn error message is useful evidence. Preserve it and ask for help before destroying the state that produced it.
- I worked in a copy of the instructor notebook.
- The finished notebook is inside
Completed. - The
.venvkernel is selected. - I restarted the kernel and ran every cell from top to bottom.
- Every required answer, plot, table, and final output is visible.
- The notebook runs without errors from its final location.
- I saved the notebook after the final run.
- I reviewed
git statusand the staged files. - I committed the intended work with a meaningful message.
- I checked the unpublished commits before pushing.
- I confirmed that
originis my repository. - I pushed only when instructed.
- I opened the notebook on GitHub and verified the result.
- I submitted the exact repository URL through the course form.
Use the full guide when this reference does not provide enough detail:
- Create a GitHub Account and Configure Your Git Identity
- Install or Repair Git, Python, and Visual Studio Code
- Create and Connect Your Course Repository
- Create the Python Environment and Install Course Packages
- Use Jupyter Notebooks in Visual Studio Code
- Complete, Organize, Commit, and Submit Notebook Work
- Maintain the Repository and Troubleshoot Git
git status
git fetch upstream
git merge upstream/main
git add Completed/path/to/notebook.ipynb
git commit -m "Describe the completed work"And, only when it is time to publish:
git push origin main