CSA Progress


Sprint1: Tools and Software Development Processes

Students should have experience in blogging, coding with Jupyter Notebooks, and GitHub Pages. Understanding of Linux, Python, Markdown, HTML, and JavaScript is expected. Students have previously established a foundation using essential tools and software development processes. Weeks 0-2 will provide a quick review, prior to students starting their College Board CSA and Full Stack Web Development with Java journey.

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 +-----------------+


Week Code, Code, Code Tools and DevOps Collaboration
0 - Tools and Equipment
- Pair Programming
1 - Data Types in Java
- Unit 1 - Primitive & Reference Types
- Unit 1 - Primitive Types
- Unit 1 - Reference Types
- Unit 1 - Stack & Heap Memory
- Unit 1 - Primitive & Reference Types Examples
- Quiz Questions for APCSA Unit 1
- Learning Habits
2 - Pair Showcase

Sprint2: Java Mini-labs

Students should have an understanding of Fundamentals of Programming from Python, JavaScript, or other backgrounds. In this Sprint, students will become familiar with Java types, booleans, iteration, recursion, using and writing objects through Mini-labs. These labs will introduce AP required aspects of Java, FRQ requirements, and review College Board's 10 Sprints online. Additionally, student will be introduced to Java/Spring through Teacher Tech Talks and Sample Project.

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% | +------------------+


Week Code, Code, Code Tools and DevOps Collaboration
3 - Sprint 1 - Verify Hacks
4 - Unit 6 Arrays P1
- Sprint 1 - SASS Hacks
- Sprint 1 - Frontend Hacks
- Sprint 1 - Tool Memories
- Sprint 1 - Accomplished VS Attempted
- Sprint 1 - Dynamic Blog Themes
5 - Unit 2 — Using Objects
- Unit 3 - Boolean P1
- Unit 8 - 2D Arrays Intro - P1
- Sprint 1 - Checklist Sprint One
- Sprint 1 - Notebook Hacks
6 - Unit 4 - Iteration P1
- Unit 5 - Writing Classes P1
- Unit 9 - Java Inheritance
- Unit 7 ArrayLists P1
7 - Sprint 2 - CSA Objectives
- Sprint 2 Recap

Sprint3: Individual/Team Projects, N@tM

In this Sprint, students will continue to become familiar with Java development as they learn Web Development using the Spring Framework. Coding will focus on Restful APIs, receiving requests, working with data, and responding to requests. This will teach key Java concepts while using Java Spring framework elements such as a Rest Controller, Plain Old Java Objects (POJOs), Object Relational Model (ORM), and Java Persistent API (JPA).

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 | +----------------+


Week Code, Code, Code Tools and DevOps Collaboration
8 - Start of Trimester 2
9
10
11
12