CSSE | CSP | CSA | README |
Computer Science and Software Engineering
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.
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, track changes v +-----------------+ | VS Code, Project| | GitHub Sync | +-----------------+ | | Push changes to cloud Repository v +-----------------+ | GitHub, Collab | | Shared Code | +-----------------+ | | Actions, Jekyll build v +-----------------+ | GitHub Pages | | Showcase Project| +-----------------+
Week | Issues/Plans | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|---|
0 |
- VSCode, GitHub Pages Setup - Tools and Equipment Overview |
- Pair Programming |
||
1 |
- Linux Shell and Bash - Anatomy of GitHub Pages |
|||
2 |
- JS Calculator - JS Data Abstraction |
- Build a Student Page - Grab a Project |
||
3 |
- UX, jQuery | CRUD |
- 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 will cover the aspects of learning JavaScript, creating animations, and deploying the game to GitHub Pages.
Week | Issues/Plans | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|---|
4 |
- JS Input - JS Output w/ Objects |
- Agile Methodology |
||
5 |
- Sprite Sheet Intro - Sprite Sheet Animation |
- Calculator Reviews |
||
6 |
- Web Programming Basics - JS Mario Animation |
- JS Basics Test |
Sprint3: Building a Web Application with GitHub Pages for N@tM
Part of the process of becoming technically proficient is taking on challenges while coding. These challenges will often make a student feel uncomfortable. But with some vision, questions, and AI research, it is amazing what can be done. Our goal is to participate in N@tM with the other CS classes and other classes from the Electives Department.
Week | Issues/Plans | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|---|
7 |
- JS Mario Game Overview - JS Mario 1-Player |
- Game Project Ideation |
||
8 |
- JS Mario 2-Platform - JS Mario 3-Tube - Animations & GameObjects |
|||
9 |
- JS Mario 4-Block - JS Mario 5-Goomba - Javascript Object Oriented Programming |
|||
10 |
- JS Mario 6-Background - Alien World Background |
- Project Documentation - Alien World |
||
11 | ||||
12 |
Sprint4: Planning, Exploration, and OOP Programming Fundamentals
Students, in trios, will work on converting the Mario game into their blogs and learning OOP. There will be a lot of code and some former Tech Talks provided to support learning and teaching activity.
Week | Issues/Plans | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|---|
13 |
- SASS basics - SASS advanced |
|||
14 |
- OOP game levels, Part 1 files - OOP game levels, Part 2 coding |
|||
15 |
- Animation Transitions - Enemies - Leaderboard - Parallax / Assets - Platforms - Player elements - Player preferences / Local Storage |
- Mario | Enemies | Student - Mario | Elevated Platforms | Student - Mario | Parallax | Student - Lopez | Animation | Student - Select | Local Storage | Student - Leaderboard | Student - Player | Student |
Sprint5: Prgramming Structures and Game Development
The Teacher will be providing topics. All teams will be doing hacks and forming a more complete Mario game.
Week | Issues/Plans | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|---|
16 |
- Introduction to Objects in JavaScript - Introduction to Finite State Programming |
|||
17 |
- Introduction to Single Responsibility Principle |
Sprint6: Create a Final Project, "Student Teaching Teams", and N@tM
Trimester 2 concludes with students presenting their project at N@tM. Each person within "Student Teams" will have their own specialty feature within the student project. Students should be able to talk about design, coding, and present features of their portion of the system.
Week | Issues/Plans | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|---|
18 |
- APIs |
- AWS Deployment - OOP, Multiplayer - Socket.io Multiplayer Game |
||
19 | ||||
20 | ||||
21 | ||||
22 |
- Course Descriptions |
|||
23 | ||||
24 | ||||
25 |