An open API service indexing awesome lists of open source software.

https://github.com/stemmlerjs/the-software-essentialist

The official course repo for The Software Essentialist course students
https://github.com/stemmlerjs/the-software-essentialist

Last synced: 3 months ago
JSON representation

The official course repo for The Software Essentialist course students

Awesome Lists containing this project

README

        

# The Software Essentialist (Official Course Repo)

> The official course repo for [The Software Essentialist](https://essentialist.dev/) course students.

## What is this

This is the course repo which houses all of the assignment start/end checkpoints, labs & exercises we'll use in the program.

## How to get started?
- Install Git
- Install Node v16 or higher on your machine
- Git clone or fork this repo

## How to Get Setup & Complete Your Assignments & Exercises?

> Check out the lessons in the "Exercises & Assignment Setup: How to Complete The Phases of Craftship Homework" module.

- [How to Complete the Phases of Craftship Homework (Assignments, Exercises)](https://www.essentialist.dev/products/the-software-essentialist/categories/2154342374/posts/2173627153)
- [How to Setup & Complete Assignments](https://www.essentialist.dev/products/the-software-essentialist/categories/2154342374/posts/2173627178)
- [How to Set Up & Complete Exercises](https://www.essentialist.dev/products/the-software-essentialist/categories/2154342374/posts/2173627213)
- [5 Ways to Use Feedback to Improve In This Course](https://www.essentialist.dev/products/the-software-essentialist/categories/2154342374/posts/2173627228)
- [How & Why to Provide Helpful Feedback on Assignments & Exercises](https://www.essentialist.dev/products/the-software-essentialist/categories/2154342374/posts/2167822793)
- [How to Manage Your Completed Assignment PRs](https://www.essentialist.dev/products/the-software-essentialist/categories/2154342374/posts/2167964547)

## Relevant instructions for what to do after completing an assignment/exercise

### 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 identify it (ie: #palindromeChecker) uniquely. You can find this in the readme for each assignment and exercise. Grab this.
- **Create PR**: Create a PR containing your commits for an assignment or exercise.
- **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.

### 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.