Lab 0 – Setting Up Your Programming Environment
Goal
Set up your development environment and connect it to GitHub. You’ll:
- Use VS Code (Windows/Mac)
- Accept and clone the Lab 0 GitHub Classroom assignment
- Modify and run a simple program
- Record your results and push your changes to GitHub
1. Accept the Assignment
- Accept Lab 0 on GitHub Classroom using the provided link:
Lab 0 GitHub Classroom Link
2. Set Up Your Local Development Folder
- Create a project folder for this course, e.g.,
DSLabs - Open a terminal or command prompt
- Navigate to your new folder:
cd path/to/your/DSLabs
3. Clone the Project from GitHub
- Open your Lab 0 repository in GitHub
- Click the green
<> Codebutton - Select the SSH tab
- Copy the SSH URL (use the 📋 copy button)
- In your terminal, run:
git clone git@github.com:Kenyon-CS/lab-0-learning-github-classroom-expertlearningsystems.git(Use your actual repository link.) - Open the cloned folder in VS Code
4. Modify and Run the Program
- Open the main source file (
main.cppor similar) - Modify the output so the anagram results are numbered. Example:
Anagrams found for the word 'ship':1. hips2. phis3. pish4. ship - (Optional Bonus):
Modify the program to allow choosing between finding anagrams or sub-anagrams. Sub-anagrams use only some of the letters in a word. From “astronomer” you could form: “moon”, “star”, “mare”, etc.
5. Run and Record Results
- Run your program at least 5 times with different inputs
- Create a file called
testruns.txt - Paste in the output from your test runs (copy from terminal)
6. Commit and Push Your Work
- In the terminal, navigate to your project folder:
cd path/to/your/lab-0-folder - Stage your changes:
git add main.cpp testruns.txt - Commit the changes:
git commit -m "Updated program and added test run output" - Push to GitHub:
git push
7. Submit Your Work
- Go to GitHub and confirm your project is updated
- Copy the URL of your repository (e.g.,
https://github.com/YourUsername/lab-0...) - Submit the URL on Moodle
Let me know if you’d like a version formatted for print or a classroom LMS!
