Sprint1: Software Engineering and Tools

Weeks: 0 - 3

By the end of the Sprint, 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.

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 +-----------------+


Title Type
Sprint 1 - Objectives issues
Tools and Equipment ccc
Pair/Trio Programming milestone
Learning Habits milestone
GitHub Pages ccc
Live Review (Pair/Trio/Group) retrospective

Sprint2: JavaScript Development

Weeks: 4 - 6

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.

Title Type
JavaScript Teaching Prep issues
Sprint 2 - CSSE 1 Objectives issues
JavaScript Variables Popcorn Hacks collab
JavaScript Variables Homework collab
JavaScript Variables collab
JavaScript Data Types ccc
DOM Updates ccc

Sprint3: Building a game for N@tM

Weeks: 7 - 12

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.

Title Type
Sprint 3 - CSSE Objectives issues
Gaming Intro ccc
Game API ccc
RPG Hacks ccc

Sprint4: Planning, Tinkering, and OOP

Weeks: 13 - 16

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

Title Type
Adventure Game Infograph ccc
Sprint 4 - CSSE Objectives issues
OOP game levels, Part 2 coding ccc
OOP game levels, Part 1 files ccc
Agile Methodology Intro ccc
Characters ccc
Single Responsibility Principle (SRP) ccc

Sprint5: Building a Help System

Weeks: 17 - 18

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.

Title Type
Game Over | Transitions | Leaderboard collab
Local Storage collab
Player | Animation | Collision collab
Backgrounds | Theme | Messages collab
Enemies | Collision collab
Platform | Elevated collab
Sprint 5 - CSSE Objectives issues
Game Help - Platformer ccc
OOP, Multiplayer devops

Sprint6: An RPG/Platformer game.

Weeks: 19 - 25

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.

Title Type
Sprint 6 - CSSE Objectives (Final) issues
Objects, Instance Data ccc
Finite State Programming ccc