https://github.com/kenfdev/the-software-essentialist
https://github.com/kenfdev/the-software-essentialist
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/kenfdev/the-software-essentialist
- Owner: kenfdev
- Created: 2023-06-28T15:04:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-15T11:42:07.000Z (over 2 years ago)
- Last Synced: 2025-02-01T13:30:37.531Z (about 1 year ago)
- Language: TypeScript
- Size: 188 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The Software Essentialist (Course Projects Repo)
> The official course repo for [The Software Essentialist](https://essentialist.dev/) course students.
## What is this
This is the repo that we'll use to work on assignments throughout the program.
## How to get started?
- Install Git
- Install Node v16 or higher on your machine
- Git clone or fork this repo
## How to work effectively
- 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](https://ardalis.com/rgrc-is-the-new-red-green-refactor-for-test-first-development/) to track your work and provide for the ability for you to revert back and try new designs
## After completing an assignment (how to improve)
### 1. Watch the demonstration modules
- You'll eventually find demonstration modules for each of the assignments. You can use these to compare designs.
### 2. Get feedback on your work
- **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](https://discord.com/channels/997940575590416435/1074124524632674335) 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 (\), end (\). Cheers!
### 3. Review a submission
- **Get to the Discord**: Go into the [#course-chat](https://discord.com/channels/997940575590416435/1074124524632674335) 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.
### 4. Design it twice (do it again)
- 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.
## How to deal with snags
- If you get stuck or run into any issues, use the [#course-chat](https://discord.com/channels/997940575590416435/1074124524632674335) channel in Discord to discuss so we can refine things and make 'em smoother.