The official course repo for The Software Essentialist course students.
This is the repo that we'll use to work on assignments throughout the program.
- Install Git
- Install Node v16 or higher on your machine
- Git clone or fork this repo
- When working on a module, cd directly into that module and open up your Visual Studio Code (or respective editor) to show only that module so that you get code completion.
- Use the Red-Green-Refactor Commit process to track your work and provide for the ability for you to revert back and try new designs
- You'll eventually find demonstration modules for each of the assignments. You can use these to compare designs.
- First, get the assignment hashtag: Each assignment has a hashtag to uniquely identify it (ie: #palindromeChecker). You can find this in the readme for each assignment. Grab this.
- Then, get your start/end commits: Your commits to GitHub and then navigate to the 'Commits' page. Find the commits that mark the start and end of the assignment you want to review.
- Finally, submit for feedback: Post to #course-chat for feedback from myself, the alumni, and the other community members.
Here's an example:
"I just finished #palindromeChecker here. Would love some feedback on my commits. Start (<insert link to first commit>), end (<insert link to end commit>). Cheers!
- Get to the Discord: Go into the #course-chat channel.
- Find other submissions: Use the assignment hashtag name to find other submissions. While in the channel, you can use CMD/CTRL + F to bring up the finder in Discord. Type in the hashtag to find other submissions. Find one and pull it up.
- Two things they did well: Read through their commits, from the starting one and look for 2 things you think they did well. Leave a comments to start a discussion.
- Two things you found interesting or might do differently & why: Look for 2 parts of their design you either found interesting and start a discussion or comment how you might have implemented things differently. Feel free to tag Khalil (@stemmlerjs), Daniel (@iPwnPancakes), or Tony (@TonyToth) for comments as well.
- The last thing you can do is something John Ousterhout recommends, that I highly agree with: design it twice. Do it again. You've likely learned things you'd do differently. Drill it again. Programming is very much a tactile & pattern-matching activity. You just need reference experiences.
- If you get stuck or run into any issues, use the #course-chat channel in Discord to discuss so we can refine things and make 'em smoother.