![]() |
CSSE | CSP | CSA | Readme | About |
Computer Science and Software Engineering
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 |