Appearance
The Syllabus
All SHEEP high school classes have an official syllabus. You will receive an official copy at the start of the school year, but this version should stay up-to-date. I write week numbers down instead of dates because the school calendar tends to shift. If you have questions about what week it is, look at the most recent presentation file posted in Google Classroom.
Because South Carolina says 1 high school credit is 120 hours of work, and we have a maximum of 29 weeks of school, expect over 3 hours of homework per week.
Coding & Programming has 3 major units across 4 quarters. Every week has a participation score (6 pts, or about 20% of your grade) and a homework score (15 pts, about 40%), and every quarter we have a large 100 point project (about 40% of your total grade).
Unit 1 - Intro to Coding and Web Development
| Week | Class Discussion | Homework |
|---|---|---|
| 1 | Google Classroom setup. Computer basics. Begin to set up our dev environments. Discuss our class and learning environment. | Install VSCodium. |
| 2 | File structures and HTML. 1Q project introduction: make a website. | Make up a fake business to build a website. Create the first few pages. |
| 3 | Cascading Style Sheets - CSS | Add color and layout to your website. |
| 4 | CSS Frameworks | Show a marked improvement to your website. |
| 5 | Git | Website should be 90% complete. Set up a GitHub account. |
| 6 | GitHub for versioning, backups, and hosting websites | Upload your code to GitHub, turn on GitHub pages, and see your website online. |
| 7 | Website Presentations! Build a typing test. | Create the typing test and practice typing. With 5 runs >90% accuracy, report your fastest time. |
Unit 2 - Intro to Programming and JavaScript
| Week | Class Discussion | Homework |
|---|---|---|
| 8 | Proper introduction to JavaScript. Proper keyboarding technique. | Install Node.js. Practice typing - 3 hours (typingclub.com). |
| 9 | JavaScript basic value types | Print "Hello, world!" with JavaScript. Print your phone number, and print the answer to your phone number as if it were a math problem. Typing practice - 2 hours minus your typing speed. |
| 10 | Variables and flow control: conditionals and loops | Code a "FizzBuzz" program (It's ok if you can't finish). |
| 11 | Arrays and Objects | Sum an array of numbers. Code a Christmas tree. |
| Election Week | ||
| 12 | Functions and 2Q project introduction: book report | Write four math functions - add, subtract, multiply, and divide, then prove that they work. |
| 13 | Debugging, formatting, and holiday homework setup | Holiday reading assignment: work on 20 of 43 problems from the book: The JavaScript Way using the class test harness. |
| Holiday break November 21-January 2 | ||
| 14 | Grade holiday book reports and discuss the JavaScript API | |
| 15 | Create a simple game: Let’s Make a Deal | Finish your Monty Hall proof; run it ten million times, report your results to the Google Form. |
| 16 | Create a simple game: The Coupon Collector | Code the loot box problem, report your results to the Google Form. |
| 17 | Use our knowledge of loops, functions, arrays, and objects to build and print a deck of cards. | Be prepared to show a full, correct deck of cards - 4 suits, 52 cards. |
| 18 | 3Q Project introduction: Make a card game. | Decide on your automated card game. Create 2 players. Deal a hand of cards to each player. |
| 19 | Card game tips & working session #1 | Please put more time into your card game and show me the progress. |
| Winter break | ||
| 20 | Card game working session #2 | Finish all the work on your game and be prepared to show everyone. |
Unit 3 - Animating Games
| Week | Class Discussion | Homework |
|---|---|---|
| 21 | Grade the card games. Introduce P5.js | Draw your 1st work of art with P5 |
| 22 | Animating with code | Draw your 2nd work of art, make sure it's better than mine |
| 23 | Animating with code | Create a randomized work of art with P5 |
| 24 | 4Q project introduction: create a classic video game. Play with animation and physics. | Create a unique, creative animation with P5 |
| Spring break | ||
| 25 | Object Oriented Programming | Draw the game screen using classes. |
| 26 | Game programming tips: context push/pop and translation | Work on the game visualizations; show a marked improvement |
| 27 | Adding challenge to your game | Finish the game and be prepared to show it off to the class. |
| 28 | Final touches on game interaction | AI playground - safely add features by prompting AI |
| 29 | A retrospective and prospective look at what we’ve done and where you are going, what you can do with this knowledge. |