Sprint1: Learning Experience Design (LxD) and Onboarding

Weeks: 0 - 2

During this Sprint, students will establish the foundational tools, collaborative practices, and development mindset essential for their Computer Science journey. You'll gain hands-on experience with Linux systems, VSCode development environment, and GitHub workflows while building your first portfolio site. Through iterative development with Markdown, HTML, CSS, and JavaScript, you'll learn to embrace mistakes as learning opportunities, leverage AI tools effectively, and practice pair programming - all while documenting your growth journey. The focus is on building sustainable habits and understanding a breadth of concepts rather than rushing to in depth coding.

Illustration
    

+-----------------+ | Laptop, OS | | Tool Setup | +-----------------+ | | VS Code, Markdown, Jupyter Notebook (.ipynb), 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 - Onboarding Challenge issues
Javascript Project Playground ccc
GitHub Pages ccc
Framework for Sprints ccc
Tools and Equipment ccc
Agile Methodologies human
Backend Toolkit ccc
Agile Methodology Intro ccc

Sprint2: Java / Spring Web Development

Weeks: 3 - 7

Students will master the Fundamentals of Java Programming using the Spring Framework. In this Sprint, students will become familiar with Java types, booleans, iteration, recursion, using and writing objects. Student teaching labs will introduce AP required aspects of Java, while learning the Spring Framework. This will teach key Java concepts while using a JWT login system, a Rest Controller, Plain Old Java Objects (POJOs), Object Relational Model (ORM), and Java Persistent API (JPA).

Illustration
    

College Board Basic Programming Units ------------------------------------- Fundamentals of Programming +------------------+ | CB Unit 1 | | Primitive Types | --> Types appear in Code | 2.5%-5% | +------------------+ +------------------+ | Unit 3 | | Booleans and Ifs | --> Understand De Morgan's Law | 15%-17.5% | +------------------+ +------------------+ | Unit 4 | | Iteration | --> String Iteration, repeat until expression | 17.5%-22.5% | +------------------+ +------------------+ | Unit 10 - Part 1 | | Recursion | --> Base case and recursive call | 5%-7.5% | +------------------+ | Fundamentals of Java +------------------+ | Unit 2 | | Using Objects | --> Instance vs Static Methods, Java and 3rd party Methods ... | 5%-7.5% | +------------------+ +------------------+ | Unit 5 | | Writing Classes | --> Diagram a Class, constructor, setters, ... | 5%-7.5% | +------------------+ +------------------+ | Unit 9 | | Inheritance | --> Extend class, polymorphism, super, this, ... | 5%-7.5% | +------------------+


Title Type
Anatomy of a Spring Boot Project ccc
Fullstack Development ccc
Unit 1 - Primitive & Reference Types ccc

Sprint3: Create a Team Project for N@tM

Weeks: 8 - 12

In this Sprint, students will continue to become familiar with Java development as they immerse into Web Development using the Spring Framework. Coding will focus on Restful APIs, receiving requests, working with data using SQLite, and responding to requests. Student will pick a Full Stack Web Development project, and work in teams to build it out, including all layers, and how to use ThymeLeaf to create an Admin UI. The goal is to have the project working and deployed on AWS by the end of this Sprint.

Illustration
    

+---------------+ | GitHub Pages | | Design, Layout| | Frontend | +---------------+ | | User presentation, style | Actions v +--------------+ | JavaScript | | Logic/Events | +--------------+ | | Functionality, interactivity | Sends HTTP requests/responses v +----------------+ | AWS EC2 Server | | Java / Spring | | Backend | +----------------+ | | Server-Side Processing | Analysis, POJOs, ORM, JPA | Communicate with AWS Services v +----------------+ | AWS Services | | Store Data | +----------------+


Title Type
Merge Sort Team Teach issues
Merge Sort Team Teach issues
Merge Sort Homework issues
Sprint 3 - CSA Objectives issues

Sprint4: Integration, Fontend, MVC Layers, and FRQs

Weeks: 13 - 16

Trimester 2 begins with four weeks of Integration and FRQs. At the center of work is the College Board FRQs and Frontend/Backend and MVC layers. Consider a Mini-project that Integrates Trimister 1 work with another team, adds an FRQ, and performs Unit 10 Sorting and Analysis. For each peace, provide JavaScript Visualization; ThymeLeaf administration, Backend Java Sorting, Inheritance, and Polymorphic behavior. Also, teach the College Board FRQ topic to the class. Ideas spans at least two teams or eight students.

Title Type
Sprint 4 - CSA Mini-Project Integration issues
Methods and Control Structures FRQ ccc

Sprint5: Creative Development Ideas and Concepts

Weeks: 17 - 19

This will be the most creative portion of the year for CSA students. The objective of these weeks is to explore, create ideas, and code concepts that have the growth potential to enable a two-trimester project. Consider frontend design, draw.io database modeling, API plans, JWT designs, big data solutions, and future usefulness. The ideas and code that are most liked by Teachers and Students will be continued and used for N@tM projects. Students should be able to talk about design, do fe/be coding, add data and data structure, add database features, and perform weekly live reviews.

Title Type
FRQ - Introduction ccc
JQuery ccc
Thymeleaf ccc
Mermaid | Displaying diagrams as images on a blog ccc

Sprint6: Passion Project v1.0 and N@tM Demo

Weeks: 20 - 24

Each person within "Student Teams" will have their own specialty within their student project that shows Full Stack competency, with a specific focus on Java as backend. Intentions for this period are to have the freedom of a creative project, driven by your individual Issues and team Scrum Board.

Title Type

Sprint7: Data Structures

Weeks: 25 - 29

A focus on Data Structures that relate to the AP exam. A key requirement is to make your own Algorithmic sorting video. The theme is to produce work that can help you pass the AP Exam and improve your Passion Project. Each student must cover key concepts from the Four AP FRQ types, contain a key Data Structure, and utilize Sorting.

Illustration
    

Required Data Structures for Course ----------------------------------- College Board Units +------------------+ | Unit 6 | | Array | --> Linear data structure, fixed size, algos, ... | 5%-7.5% | +------------------+ +------------------+ | Unit 7 | | ArrayList | --> Linear and dynamic size, Collection Framework | 2.5%-7.5% | +------------------+ +------------------+ | Unit 8 | | 2D Array | --> 2D Linear data structure, col/row order | 7.5%-10% | +------------------+ +------------------+ | Unit 10 - Part 2 | | Search/Sort | --> Bubble, Selection, Insertion, Merge | 5%-7.5% | +------------------+ | College Articulated Requirements, B or better +------------------+ | Java Fundamental | | HashMap | --> Key-value data structure | | +------------------+ +------------------+ | Algorithmic | | Queue,Stack,... | --> Collections Framework | | +------------------+ +--------------------+ | Abstract Data Type | | Graph | --> Nodes, Vertices, Edges | | +--------------------+


Title Type
Graph Heuristics ccc
Collections ccc
Merge Sort Gamify ccc
Merge Sort ccc
Calculator Enactment ccc
Calculator Enactment ccc
Calculator Enactment ccc
Sorts Part 2 ccc
Sorts Part 1 ccc
Search Challenge and BigO ccc
Collectable Types and Collections ccc
Calculator Enactment ccc
Abstract Fibonaccii Hack ccc
Data Types ccc
Selection, Insert, & Big O

Sprint8: AP Weeks

Weeks: 30 - 33

Students will lead several study sessions (20-minute test, followed by review) the week before the exam. In any break in study, students will transition activities back to their final project.

Illustration
    

Required FRQ Types by College Board ----------------------------------- Each FRQ writes program code, uses expressions, conditions, and iteration +--------------------+ | Methods and | | Control Structures | --> Algoritmic challenge, use objects, call methods, ... | Units #1-#4 | +--------------------+ +--------------------+ | Classes | | | --> Define a new type by creating a class ... | Units #2,#5,#9 | +--------------------+ +--------------------+ | Arrays / | | ArrayLists | --> Create, manipulate elements in 1D array or ArrayList, ... | Units #6,#7 | +--------------------+ +--------------------+ | 2D Array | | | --> Create, traverse, and manipulate elements in 2D array, ... | Units #6,#7 | +--------------------+


Title Type
Introduction to Java ML ccc
Graph Heuristics ccc
Graph Heuristics - Data Structures ccc
Graph Heuristics - Data Structures ccc
Graph Heuristics - Data Structures ccc

Sprint9: Passion Project v2.0 and N@tM

Weeks: 34 - 37

Wrap up your preferred project and data structures. There will be an opportunity to contribute and be published to the Open Coding Society. If your project is selected, then you will receive a high 'A' on the final project.

Title Type
Sprint 9 - CSA Objectives (Final) issues