Sprint1: Tools and Software Development Processes

By the end of Weeks 0-3, students will have gained practical experience in blogging, coding with Jupyter Notebooks, and GitHub Pages; learning will begin with Linux, Markdown, HTML, and JavaScript. Students will establish a foundation using essential tools and software development processes to support their coding journey. Weeks 0-3 will provide a quick foundation, prior to students starting their College Articulation Credit and Game Development journey.

Illustration
    

+-----------------+ | Laptop, OS | | Tool Setup | +-----------------+ | | VS Code, Markdown, Jupyter Notebook, JavaScript (.md, .html) v +-----------------+ | VS Code, Develop| | Code Editor | +-----------------+ | | Write code, make, run localhost, test, debug v +-----------------+ | VS Code, Git | | Version Control | | +-----------------+ | | Commit local versions, comment, show changes, reset branch v +-----------------+ | VS Code, Project| | GitHub Sync | +-----------------+ | | Push changes to GitHub cloud Repository (repo v +-----------------+ | GitHub, Collab | | Shared Code | +-----------------+ | | Tracking GitHub pages Actions, understanding Jekyll build files v +-----------------+ | GitHub Pages | -> Highlight languages, coding, and course skills, with Awesome Style | Showcase Project| -> Share project with the world +-----------------+


Week Issues Code, Code, Code Collaboration
0 - Sprint 1 - Objectives
- Tools and Equipment
- Homework
- Popcorn Hacks
1 - GitHub Pages Playground
- Learning Habits
- Learning Habits
- Learning Habits
2 - Boolean Lesson 2
3 - Pair Showcase

Sprint2: Introduction to Development with JavaScript

A key focus of this course is to make Web Games using JavaScript. These next few weeks we start covering object-oriented programming in JavaScript. Topics include control structures, data types, input/output, operators, classes, methods and parameters, basic inheritance, and documentation practices.

Week Issues Code, Code, Code Collaboration
4 - Sprint 2 - CSSE 1 Objectives
- JavaScript Teaching Prep
- DOM Updates
- JavaScript Data Types
- JavaScript Variables
- JavaScript Variables Homework
- JavaScript Variables Popcorn Hacks
5
6

Sprint3: Building a game with GitHub Pages for N@tM

Part of the process of becoming technically proficient is going beyond fundamentals by taking on a project challenge while coding. A challenge with some vision, questions, AI research, and more allow amazing things to be accomplished. Our goal is to participate in N@tM with the other CS classes and other classes from the Electives Department. We should have a blog, progress in a game, and a series of lesson hacks to show off.

Week Issues Code, Code, Code Collaboration
7 - Sprint 3 - CSSE Objectives
- Gaming Intro
8 - RPG Hacks
9
10
11
12

Sprint4: Planning, Exploration, and OOP Programming

Students, in trios, will work on Platformer Game and study OOP. There will be a lot of code, some Tech Talks, and some Teaching assignments provided to learn the code.

Week Issues Code, Code, Code Collaboration
13 - Sprint 4 - CSSE Objectives
- Agile Methodology Intro
- OOP game levels, Part 1 files
- OOP game levels, Part 2 coding
14
15
16

Sprint5: Platformer Game Help System

The Teacher will be providing topics. All teams will be building a help system covering the key topics in the platformer game. The task of forming a help system will help your team become expert in a topic and prepare you for final sprint. For now, don't try to code in the Platformer game, but try to make Jupyter Notebooks with help and hacks suggestions on your topic.

Week Issues Code, Code, Code Collaboration
17 - Sprint 5 - CSSE Objectives
- Game Help - Platformer
- Platform | Elevated
- Enemies | Collision
- Backgrounds | Theme | Messages
- Player | Animation | Collision
- Local Storage
- Game Over | Transitions | Leaderboard
18

Sprint6: Create a Final Project, starts with "Student Teaching", concludes with N@tM and qualifies for College Credit

Trimester 2 concludes with students presenting their project at N@tM. Each person within "Student Teams" will have their own specialty within the student project. Students should be able to talk about design, make a plan, code, blog, and present features of their portion of the system.

Week Issues Code, Code, Code Collaboration
19 - Sprint 6 - CSSE Objectives (Final)
- Objects, Instance Data
20 - Finite State Programming
21 - Single Responsibility Principle
22
23
24
25