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 | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
0 |
- Tools and Equipment Overview |
- Pair Programming |
|
1 | |||
2 |
- JS Calculator |
- Build a Student Page |
|
3 |
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 | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
4 |
- Agile Methodology |
||
5 |
- Sprite Sheet Intro |
- Calculator Reviews |
|
6 |
- 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 | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
7 |
- Game Project Ideation |
||
8 | |||
9 | |||
10 |
- Alien World Background |
||
11 | |||
12 |
Sprint4: 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 to support learning and teaching activity.
Week | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
13 |
- Platformer Game v2.1 |
||
14 |
- OOP game levels, Part 1 files - OOP game levels, Part 2 coding |
||
15 |
- Animation Transitions - Enemies - Leaderboard - Parallax / Scrolling - Platforms - Player elements - Player preferences / Local Storage |
- Mario | Enemies | Student - Player | Student |
Sprint5: Research, Teaching, and Game Innovation
The "Student Team" will have an algorithmic teaching assignment. The Teacher will be providing topics. During "Student Teach" weeks, all teams will be doing hacks and forming a more complete Mario game.
Week | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
16 | |||
17 |
Sprint6: Create a Final Project 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 | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
18 |
- APIs |
- OOP, Multiplayer - Socket.io Multiplayer Game |
|
19 | |||
20 | |||
21 | |||
22 |
- Course Descriptions |
||
23 | |||
24 |