Skip to content

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

WeekClass DiscussionHomework
1Google Classroom setup. Computer basics. Begin to set up our dev environments. Discuss our class and learning environment.Install VSCodium.
2File structures and HTML. 1Q project introduction: make a website.Make up a fake business to build a website. Create the first few pages.
3Cascading Style Sheets - CSSAdd color and layout to your website.
4CSS FrameworksShow a marked improvement to your website.
5GitWebsite should be 90% complete. Set up a GitHub account.
6GitHub for versioning, backups, and hosting websitesUpload your code to GitHub, turn on GitHub pages, and see your website online.
7Website 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

WeekClass DiscussionHomework
8Proper introduction to JavaScript. Proper keyboarding technique.Install Node.js. Practice typing - 3 hours (typingclub.com).
9JavaScript basic value typesPrint "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.
10Variables and flow control: conditionals and loopsCode a "FizzBuzz" program (It's ok if you can't finish).
11Arrays and ObjectsSum an array of numbers. Code a Christmas tree.
Election Week
12Functions and 2Q project introduction: book reportWrite four math functions - add, subtract, multiply, and divide, then prove that they work.
13Debugging, formatting, and holiday homework setupHoliday 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
14Grade holiday book reports and discuss the JavaScript API
15Create a simple game: Let’s Make a DealFinish your Monty Hall proof; run it ten million times, report your results to the Google Form.
16Create a simple game: The Coupon CollectorCode the loot box problem, report your results to the Google Form.
17Use 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.
183Q Project introduction: Make a card game.Decide on your automated card game. Create 2 players. Deal a hand of cards to each player.
19Card game tips & working session #1Please put more time into your card game and show me the progress.
Winter break
20Card game working session #2Finish all the work on your game and be prepared to show everyone.

Unit 3 - Animating Games

WeekClass DiscussionHomework
21Grade the card games. Introduce P5.jsDraw your 1st work of art with P5
22Animating with codeDraw your 2nd work of art, make sure it's better than mine
23Animating with codeCreate a randomized work of art with P5
244Q project introduction: create a classic video game. Play with animation and physics.Create a unique, creative animation with P5
Spring break
25Object Oriented ProgrammingDraw the game screen using classes.
26Game programming tips: context push/pop and translationWork on the game visualizations; show a marked improvement
27Adding challenge to your gameFinish the game and be prepared to show it off to the class.
28Final touches on game interactionAI playground - safely add features by prompting AI
29A retrospective and prospective look at what we’ve done and where you are going, what you can do with this knowledge.