This repository contains homework assignments for AMAT 5315 - Modern Scientific Computing (Fall 2025). Follow the setup instructions below to get started with submitting your assignments.
Supported Platforms: macOS, Linux, Windows (please install WSL with wsl --instsall, see instructions)
Need Help? Contact us via GitHub Issues or Zulip
-
Generate the key (Replace with your email):
ssh-keygen -t rsa -b 4096 -C "[email protected]"- Press Enter to use the default location (
~/.ssh/id_rsa) - Press Enter twice to skip passphrase (or set one if preferred)
- Press Enter to use the default location (
-
Copy your public key:
cat ~/.ssh/id_rsa.pubCopy the entire output (starts with
ssh-rsa) -
Add to GitHub:
- Go to GitHub → Click your avatar → Settings → SSH and GPG keys
- Click "New SSH key"
- Paste your key and give it a descriptive title
- Click "Add SSH key"
-
Test the connection:
ssh -T [email protected]
📖 More details: GitHub SSH Documentation
-
Fork the repository:
- Visit the course repository
- Click the "Fork" button in the top-right corner
- This creates your own copy with write permissions
-
Clone your forked repository:
# Navigate to where you want to store the repository cd ~/Documents # or your preferred location # Clone your fork (replace YOUR_USERNAME with your GitHub username) git clone [email protected]:YOUR_USERNAME/AMAT5315-2025Fall-Homeworks.git # Enter the repository directory cd AMAT5315-2025Fall-Homeworks
-
Add upstream remote:
# Add the original repository as upstream for future updates git remote add upstream https://github.com/CodingThrust/AMAT5315-2025Fall-Homeworks.git # Verify your remotes git remote -v
✅ Setup Complete! You only need to do these steps once. Now you're ready to submit homework.
📋 Quick Summary: Create branch → Complete work → Commit → Push → Create PR → Address feedback (if any)
Follow these steps for every homework assignment:
# Ensure you're on main branch and up-to-date
git checkout main
git pull upstream main
# Create a new branch (replace 'hw1' and 'yourname' accordingly)
git checkout -b hw1/yourname
# Create your working directory
mkdir hw1/yourname
cd hw1/yourname💡 Naming Convention: Use
hwX/yournamewhereXis the homework number andyournameis your name in lowercase (e.g.,hw1/zhongyini)
- Read the homework description in
hwX/README.md - Complete all required tasks in your working directory
- Test your solutions thoroughly
# Add all your changes
git add -A
# Commit with a descriptive message
git commit -m "Complete hw1: Add CPU info and Julia installation"
# Push to your fork
git push -u origin hw1/yourname- Go to your forked repository on GitHub
- Click "Contribute" → "Open pull request"
- Or click "Compare & pull request" if available
- Title: Use your folder name (e.g.,
hw1/yourname) - Description: Briefly describe what you completed
- Click "Create pull request"
If you receive feedback from instructors or TAs:
# Make your changes in the same branch
# ... edit your files ...
# Commit and push updates
git add -A
git commit -m "Address feedback: Fix error handling"
git pushThe pull request will automatically update with your new changes.
- ⏰ Deadline: 2 weeks after homework release
- 🏆 Early Bird Bonus: First correct submission gets extra credit
- ✅ Grading: Homework is graded after PR is merged
SSH Connection Problems:
# Test your SSH connection
ssh -T [email protected]
# If it fails, check if your SSH key is added to GitHub
# and try adding it to your SSH agent:
ssh-add ~/.ssh/id_rsaCan't Push Changes:
# Make sure you're on the right branch and pull first
git status
git pull origin hwX/yourname
git push origin hwX/yournameNeed to Update from Course Repository:
git checkout main
git pull upstream main
git checkout hwX/yourname
git merge main # if you need the latest changes in your branch- 📖 Git Handbook - Learn Git basics
- 🔄 GitHub Flow Guide - Understanding pull requests
- 📝 Markdown Guide - Format your documentation
- 🔬 Julia Documentation - Official Julia docs