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