JavaScript Reference
All topics
Loading full-text search…
Title matches
1.01 Introduction to Algorithms, Programming, and Compilers
Learn what an algorithm is and why step order matters, see how javac compiles Java into bytecode, and tell syntax, logic, and run-time errors apart.
1.02 Variables and Data Types
Declare and initialize variables with Java's primitive types, and pick the right type so values like averages keep their decimals.
1.03 Expressions and Output
Print with print, println, and printf, use escape sequences, and predict results using operator precedence and integer division.
1.04 Assignment Statements and Input
Tell the assignment operator = apart from ==, trace how assignment statements change variables, and read keyboard input with Scanner.
1.05 Casting and Range of Variables
Convert between int and double with casts, predict integer division and truncation, round with (int)(x + 0.5), and recognize integer overflow.
1.06 Compound Assignment Operators
Use +=, -=, *=, /=, and %= to update a variable in place, use x++ and x-- as statements, and trace the value after each step.
1.07 Application Program Interface (API) and Libraries
Use library classes like Math, String, and ArrayList by reading their API documentation, import classes from packages, and tell a class's attributes from its behaviors.
1.08 Documentation with Comments
Write //, /* */, and Javadoc comments, state a method's preconditions and postconditions, and decide when code needs documentation.
1.09 Method Signatures
Identify return types, method names, and parameters from method signatures to understand what a method does and what it needs.
1.10 Calling Class Methods
Call static methods on class names and trace nested method calls step-by-step.
1.11 Math Class
Use Math.abs(), Math.pow(), Math.sqrt(), and Math.random() for calculations.
1.12 Classes & Objects
Understand that objects are instances of classes with data and methods.
1.12 Homework
1.13 Object Creation and Storage (Instantiation)
Create objects with new and constructors, store their references in variables, and predict what happens when two variables or a method share the same object.
1.14 Calling Instance Methods
Call instance methods on objects with the dot operator, use the values non-void methods return, and predict when a call fails to compile or throws a NullPointerException.
1.14 Calling Instance Methods (Homework)
1.15 String Manipulation
Create strings, concatenate them, and use length(), substring(), indexOf(), equals(), and compareTo(), remembering that String methods never change the original.
2.01 Algorithms with Selection and Repetition
Describe everyday algorithms with steps, decisions, and repeats using words, flowcharts, and pseudocode.
2.02 Boolean Expressions
Write yes or no questions in Java with the relational operators ==, !=, <, >, <=, and >=.
2.03 if Statements
Make one way and two way decisions with if and if-else, and see exactly which lines run.
2.04 Nested `if` Statements
Chain decisions with else if and put an if inside another if to handle three or more cases.
2.05 Compound Boolean Expressions
Combine conditions with &&, ||, and !, follow the precedence rules, and use short circuit evaluation safely.
2.06 Comparing Boolean Expressions
Prove two Boolean expressions are equivalent with truth tables and De Morgan's Laws, and compare objects correctly.
2.07 while Loops
Repeat code while a condition is true, trace loop control variables, and avoid infinite and off by one loops.
2.08 for Loops
Use the three part for loop header, convert between for and while, and count iterations exactly.
2.09 Implementing Selection and Iteration Algorithms
Combine loops and if statements to count, sum, find extremes, test divisibility, and pull apart the digits of a number.
2.10 Implementing String Algorithms
Traverse a String with a loop and substring to search, count, reverse, and build new Strings.
2.11 Nested Iteration
Put a loop inside a loop to build grids and patterns, and count exactly how many times the inner body runs.
2.12 Informal Run-Time Analysis
Count statement executions from loop headers, multiply nested counts, and compare which version of a loop does less work.
2016 FRQ 3 - 2D Array Operations
AP CSA {{ page.year }} FRQ
2017 FRQ 3 - Methods and Control Structures
AP CSA {{ page.year }} FRQ
2018 FRQ 1 - Frog Simulation
AP CSA 2018 FRQ
2018 FRQ 4 - 2D Arrays and Static Methods
AP CSA 2018 FRQ
2021 FRQ 1 - Methods and Control Structures
AP CSA 2021 FRQ
2022 FRQ 1 - Methods and Control Structures
AP CSA {{ page.year }} FRQ
2024 FRQ 1 - Methods and Control Structures
AP CSA 2024 FRQ
2025 FRQ 1 - Methods and Control Structures
AP CSA {{ page.year }} FRQ
3.01 Abstraction and Program Design
Use data and procedural abstraction and break big behaviors into smaller methods to keep programs simple.
3.01 Variables and Assignments
Model a UESL game maker with variables, types and assignments in Python and College Board pseudocode.
3.02 Data Abstractions
Model a UESL game maker with lists, indices and data abstraction in Python and College Board pseudocode.
3.02 Impact of Program Design
Design reliable programs that guard against bad input, and weigh their social, ethical, and intellectual property impacts.
3.03 Anatomy of a Class
Break a class into instance variables, constructors, and methods, and choose public or private access for each.
3.03 Math Expressions
Store values in variables and calculate with Python's arithmetic operators, then answer AP CSP style questions about math expressions.
3.04 Constructors
Learn what Java constructors are, why they exist, and how to write one to initialize objects.
3.04 Strings
An in-depth, three-cycle lesson on Python strings — indexing, slicing, methods, and formatting — framed as a signal-interception mission.
3.05 Boolean Expressions
Learn, trace, and apply Boolean expressions in Python through SFI backend validation.
3.05 Method Writing
Read method headers, write void and returning methods, and call them to check their results.
3.06 Conditionals
Build a condition out of a comparison, give every condition both answers, and order an elif chain so no branch is unreachable.
3.06 Methods Passing and Returning References of an Object
Pass objects into methods, spot aliasing, and see why changing an object differs from reassigning its reference.
3.07 Class Variables and Methods
Tell instance variables from static class variables, share one value across all objects, write class methods, and make constants with final.
3.07 Nested Conditionals
Learn nested conditionals through student accounts, homework, meals, and sports.
3.08 Iterations
Use Python for loops, while loops, continue, and break to process repeated data.
3.08 Scope and Access
Know where a variable is visible, spot a shadowed instance variable, and use private fields with public accessors and mutators.
3.09 Developing Algorithms
Learn how to develop algorithms through the Peppa Pig Maze game
3.09 Developing Algorithms
Compare, trace, and build algorithms in Python and College Board pseudocode, using problems from our capstone nonprofit, Safe Passage Heals.
3.09 this Keyword
Use this to refer to the current object, fix parameter shadowing in constructors, call other instance methods, and see why static methods cannot use this.
3.10 Lists
Store data in Python lists, then sum, average, count, and filter it, comparing each pattern with AP CSP pseudocode.
3.12 Calling Procedures
Call procedures with arguments that fill their parameters, and break a program into smaller helper procedures through decomposition.
3.13 Developing Procedures
Write procedures that each do one task, give them clear names, and compare the same procedure as a Python function and a Java method.
3.14 Libraries
Learn how to import and use Python libraries (modules).
3.15 Random Values
Generate, trace, and apply random values in JavaScript through SFI backend QA testing.
3.17 Algorithmic Efficiency
Compare ways to find books and see how algorithmic work grows with a library catalog.
4.01 Data Collection
Explore how data is collected, evaluate ethical tradeoffs, and consider privacy, consent, bias, and responsible data use.
4.02 Introduction to Using Data Sets
Work with data sets by identifying variables, interpreting records, and using data to answer meaningful questions.
4.03 Array Creation and Access
Create one-dimensional arrays, initialize values, access elements by index, and avoid invalid array positions.
4.04 Array Traversals
Learn to traverse arrays with for, while, and enhanced for loops while avoiding off-by-one bounds errors.
4.05 Implementing Array Algorithms
Implement array algorithms to calculate totals, find extremes, count matches, and transform stored values.
4.06 Using Text Files
Read and process text files with Java, handle lines of input, and close file resources safely.
4.07 Wrapper Classes
Use wrapper classes to convert between primitive values and objects, parse data, and work with useful constants and methods.
4.08 ArrayList Methods
Use ArrayList methods to add, remove, replace, access, and measure elements in a resizable collection.
4.09 Transversing ArrayLists
Traverse ArrayLists with index-based and enhanced for loops while safely accessing and updating collection elements.
4.10 Implementing ArrayList Algorithms
Implement algorithms with ArrayLists to search, count, calculate results, and update a resizable collection.
4.11 Two-Dimensional Array Creation and Access
Create and access two-dimensional arrays using rows and columns, and identify valid positions in a rectangular grid.
4.12 Two-Dimensional Array Traversals
Traverse two-dimensional arrays by row and column with nested loops and visit every element in a grid.
4.13 Implementing 2D Algorithms
Implement 2D array algorithms — traverse a grid in row-major order, search for a value and its location, accumulate sums/counts/averages, and track a running maximum while walking the array.
4.14 Linear Search Algorithms
Implement linear search algorithms on arrays and ArrayLists — return the index of a match, search by condition instead of equality, respect a partially-filled array's true size, and reason about best/worst case.
4.15 Sorting Algorithms
Trace and implement sorting algorithms that arrange array values into ascending or descending order.
4.16 Recursion
Learn recursion through a mission countdown, call-stack tracing, factorial fuel calculations, and launch-code checksums.
4.17 Recursive Searching and Sorting
Apply recursion to searching and sorting problems by defining base cases, smaller subproblems, and results that combine while unwinding.
Abstract Collectables & Dynamic Registries
Extending abstract base classes and the Comparable interface to build dynamic registries, multi-field ordering, and data-driven student survey profiles.
Abstract Collectables and Dynamic Registries (Blank Homework)
Build a data-driven FantasyPersona and FantasyStudent, then sort, order and group the roster with a Catalog and Registry.
Abstract Collectables and Dynamic Registries (Completed Homework)
Build a data-driven FantasyPersona and FantasyStudent, then sort, order and group the roster with a Catalog and Registry.
Account Creation
Learn how to create and manage course-required accounts, including a Portfolio Website, GitHub, Slack, and LinkedIn, while protecting your Personal Identifiable Information (PII).
Account Creation
Learn how to create and manage course-required accounts, including a Portfolio Website, GitHub, Slack, and LinkedIn, while protecting your Personal Identifiable Information (PII).
Adventure Game - Platformer Level Documentation
Example of how to document a level while building a team gamify project
Adventure Game - Sample Level Documentation
Example of how to document a level while building a team gamify project
Agile Methodologies Practitioner
Working with Teams and practicing Scrum Agile Metodlogies in a classroom environment.
Agile Methodologies Practitioner
Working with Teams and practicing Scrum Agile Metodlogies in a classroom environment.
Agile Methodologies Practitioner
Working with Teams and practicing Scrum Agile Metodlogies in a classroom environment.
Agile Methodologies Practitioner
Working with Teams and practicing Scrum Agile Metodlogies in a classroom environment.
Agile Teams
Establishing Scrum Teams and programming habits in the classroom.
AI Development — All-in-One Interactive Lesson
A multi-step interactive lesson on using AI for prompt engineering, coding, and professional development.
Analytics — All-in-One Interactive Lesson
A multi-step interactive lesson covering the admin dashboard, certificates, and mastery questions.
Anatomy of a Spring Boot Project
Find your way around a Spring Boot project, from where entities, repositories, controllers, and security settings live to how Main.java starts the app.
Anatomy of GitHub Pages
Learn the Files and development work flow of GitHub Pages. This includes working with you home page, theme, markdown, and more.
Anatomy of Python Flask
Get a Flask backend running locally by learning its key files, starting the server, testing it from the terminal, and reading and adding data from JavaScript. includes preparing a project for deployment.
AP CSA Exam Simulator — Section II Free Response
A timed AP CSA Section II exam simulator with 19 official FRQ sets (2005–2025), integrated Java code editors, and AI-powered Gemini grading.
API Controller
A short reference for Spring REST controllers and API endpoints.
Arrays
Learn about arrays in JavaScript, including how to create, access, and manipulate them.
Auto-Generate CRUD Tables
Admin CRUD Tables with Java Reflection
Awareness
First line of defense from foreign invaders
Backend Development Mini-Quest
Data Management & APIs for CS Portfolio Quest
Backend Development — All-in-One Advanced Lesson
A multi-step lesson on backend development, from fundamentals to advanced topics like serverless, IaC, and AI integration.
Backend Fullstack Development
Guide to the backend development of your feature
Backend UI
Build admin pages for a Flask app with Jinja2 templates and Bootstrap, starting from a shared base template and a table of users.
Bias Detector
Second line of defense from foregin invaders
Bias Sort
Final line of defense from foregin invaders
Big Idea 4 | Computer Systems| Flask
Quick launch into Flask, sending and receiving data from a web server.
Big Six — Interactive World
An interactive game world covering all six Big Six lessons with NPC interactions and quizzes.
Calling Class Methods Homework
Castle Game - Lesson Adoption Documentation
Implementing other lessons into the Castle Game.
Classes and Methods
Build a game character with a JavaScript class by writing a constructor, properties, and your own methods, and use built-in methods like push.
Collectables Assignment - OCS Mentor Dashboard
Collect mentor records from a database into AbstractCollectable classes, then use a Registry to find which capstones still need mentors. Created by CSA Admin - Shayan, Jim, Lucas, Jacob, Harrish, Arnav, Rudra, and Dhyan.
Collectables Homework - AP Aligned Practice
Homework for Abstract Collectables built from past AP CSA free-response patterns, covering ArrayList removal, averaging, sorting, pairing, class design, and Registry analytics.
Conditionals
Practice simple JavaScript conditionals with players and coins.
Cookie Clicker Lesson
Choose what you want to learn about the workings of the Cookie Clicker game - how the local storage works, the OOP strucutre, or collaborative programming with your team.
Crash Course into Python Flask
Install dependencies and create a Python Flask server, explore it from the Linux terminal, then fetch and add data to it from JavaScript. includes preparing a project for deployment and interaction with a frontend.
Crash Course on Building a Flask Server
Turn a frontend demo into a full-stack app with a live Flask backend that saves data, handles user login, and shows dynamic content. backend and full stack application.
CS Pathway Game - Team Contributions
An overview of our mansion game, behind the scenes
CS112: OOP and Web Project Foundations
MiraCosta CS112 outline: available lessons, supporting AP practice, authoring gaps, and Web project extensions for each college topic.
CS113: Data Structures and Algorithm Analysis
MiraCosta CS113 outline: available lessons, algorithm and data-structure implementation gaps, and differentiated Web project extensions for each college topic.
Csa Period 2 Comp Sci Quest Frontend Module
Converted from CSA-Period 2-Comp-Sci-Quest-Frontend-Module.docx
Csa Period 2 Comp Sci Quest Outline
Converted from CSA-Period 2-Comp-Sci-Quest-Outline.docx
CSS to SASS Guide (refactor for OCS)
How to properly convert CSS files to SASS in this website
D292 Task 1: Ideation for an E-Learning Solution
Plagiarism lesson. Students will brainstorm and outline their ideas for an e-learning solution, focusing on innovative approaches to instructional design.
D292 Task 2: Storyboard for an E-Learning Solution
Plagiarism lesson. Students will create a storyboard for their e-learning solution, outlining the key components and flow of the instructional materials.
D292 Task 3: Prototype Mockup for an E-Learning Solution
Plagiarism lesson. Students will create a prototype mockup for an e-learning solution, demonstrating their understanding of instructional design principles and user experience.
D292 Task 4: Test Plan for an E-Learning Solution
Plagiarism lesson. Students will develop a comprehensive test plan to evaluate the effectiveness and usability of their e-learning solution, ensuring it meets learning objectives and user needs.
D295 Task 1: Digital Citizenship Ideation
WGU D295 assessment focusing on digital citizenship education ideation phase
D295 Task 2: Quest-Based Learning
WGU D295 assessment demonstrating essential concepts through quest-based e-learning design
D296 Task 1: Designing for the Whole Child
WGU D296 assessment focusing on designing for the Whole Child in K–12 E-Learning
D296 Task 2: Flask Server Crash Course
WGU D296 assessment on building a Flask server for e-learning applications
Data Abstraction!
Hide complexity behind functions, objects, and classes so the rest of a program can use data without knowing how it is stored.
Data Visualization — All-in-One Interactive Lesson
Compact lesson combining REST APIs, Spring Boot, CRUD, search, filtering, pagination, and data queries
Deploy on AWS
This notebook will guide you step-by-step on how to configure your AWS instance and run Docker container in order to deploy your backend.
Designing SASS Utilities and Runners like Tailwind
Why OCS pages should name ready-made SASS classes instead of pasting CSS, in three ideas you can try live, plus a homework lab with a real SASS compiler.
Easy API - Jokes
Read a small Flask API, send REST Client requests, and follow its file-backed data calls.
Flask, REST Client, and Backend UIs
Learn how Flask routes turn Python into API endpoints, test them with the VS Code REST Client, and see how backend UIs let people manage data.
Friends of Poway Seniors — Website Improvement Infographic
Friends of the Poway Library 2026–27
CSP 2026–27 capstone continuing the Friends of the Poway Library prototype with a searchable bookstore catalog, events, newsletters, volunteer and donation pathways, community history, and library-themed games.
Frontend Development — All-in-One Interactive Lesson
Compact lesson combining Markdown, HTML, CSS, Sass, Tailwind, and JavaScript with interactive playgrounds
Frontend UI
A short reference for connecting a frontend to Spring Boot.
FRQ 1 - Methods and Control Structures - 2019 Exam Q1 - CS112
AP CSA 2019 Exam Q1 - Calculate leap-year counts and weekdays with helper methods.
FRQ 2 - Class Writing and Design - 2014 Exam Q2 - CS112
AP CSA 2014 Exam Q2 - Write the Director class and its behavior.
FRQ 2 - Class Writing and Design - 2015 Exam Q2 - CS112
AP CSA 2015 Exam Q2 - Design HiddenWord with a constructor and hint method.
FRQ 2 - Class Writing and Design - 2015 Exam Q4 - CS112 - Interfaces
AP CSA 2015 Exam Q4 - Implement NumberGroup, Range, and interface-based membership tests.
FRQ 2 - Class Writing and Design - 2017 Exam Q2 - CS112 - Interfaces
AP CSA 2017 Exam Q2 - Implement MultPractice using the StudyPractice interface.
FRQ 2 - Class Writing and Design - 2018 Exam Q3 - CS112 - Interfaces
AP CSA 2018 Exam Q3 - Implement CodeWordChecker constructors and string validation.
FRQ 2 - Class Writing and Design - 2019 Exam Q2 - CS112
AP CSA 2019 Exam Q2 - Write StepTracker to track daily steps and active-day statistics.
FRQ 2 - Class Writing and Design - 2021 Exam Q2 - CS112
AP CSA 2021 Exam Q2 - Combine two SingleTable objects in the CombinedTable class.
FRQ 2 - Class Writing and Design - 2022 Exam Q2 - CS112 - Inheritance
AP CSA 2022 Exam Q2 - Extend Book to implement the Textbook class.
FRQ 2 - Class Writing and Design - 2023 Exam Q2 - CS112
AP CSA 2023 Exam Q2 - Write Sign to divide a message into fixed-width lines.
FRQ 2 - Class Writing and Design - 2024 Exam Q2 - CS112
AP CSA 2024 Exam Q2 - Write Scoreboard to track team scores and possession.
FRQ 2 - Class Writing and Design - 2025 Exam Q2 - CS112
AP CSA 2025 Exam Q2 - Write SignedText with signature and string methods.
FRQ 3 - Array or ArrayList Manipulation - 2014 Exam Q1 - CS112
AP CSA 2014 Exam Q1 - Scramble strings and modify a word list.
FRQ 3 - Array or ArrayList Manipulation - 2016 Exam Q4 - CS112
AP CSA {{ page.year }} FRQ
FRQ 3 - Array or ArrayList Manipulation - 2017 Exam Q1 - CS112
AP CSA 2017 Exam Q1 - Populate a digit list and test strictly increasing order.
FRQ 3 - Array or ArrayList Manipulation - 2018 Exam Q2 - CS112
AP CSA 2018 Exam Q2 - Create and analyze word pairs in an ArrayList.
FRQ 3 - Array or ArrayList Manipulation - 2019 Exam Q3 - CS112
AP CSA 2019 FRQ
FRQ 3 - Array or ArrayList Manipulation - 2021 Exam Q3 - CS112
AP CSA 2021 FRQ
FRQ 3 - Array or ArrayList Manipulation - 2022 Exam Q3 - CS112
AP CSA 2022 Exam Q3 - Traverse Review arrays to average ratings and collect comments.
FRQ 3 - Array or ArrayList Manipulation - 2023 Exam Q3 - CS112
AP CSA 2023 Exam Q3 - Remove out-of-range temperatures and find the longest heat wave.
FRQ 3 - Array or ArrayList Manipulation - 2024 Exam Q3 - CS112
AP CSA 2024 Exam Q3 - Analyze word chains and filter strings in an ArrayList.
FRQ 3 - Array or ArrayList Manipulation - 2025 Exam Q3 - CS112
AP CSA 2025 Exam Q3 - Build a competitor list and pair competitors into matches.
FRQ 4 - 2D Array Operations - 2015 Exam Q1 - CS112
AP CSA 2015 Exam Q1 - Sum arrays and 2D rows, then test whether row sums are distinct.
FRQ 4 - 2D Array Operations - 2019 Exam Q4 - CS112
AP CSA 2019 Exam Q4 - Initialize a 2D light board and evaluate lights by column.
FRQ 4 - 2D Array Operations - 2024 Exam Q4 - CS112
AP CSA 2024 Exam Q4 - Choose neighboring locations and sum a path through a 2D grid.
Functions
Write and call JavaScript functions, see how scope decides which variables a function can reach, compare global and local variables, and try recursion.
Game Development: Capstone Report
Educational game development curriculum study using JavaScript and OCS GameBuilder
Gamify - Overview
OVERVIEW starting documentation for this sample RPG game
GitHub
This guide will assists as we work through the class together — this is not comprehensive as we will evolve on GitHub collaboration together!
GitHub Pages
This page will teach you how to set up GitHub Pages using the VSCode online editor.
GitHub Pages Hacks
Objective is to be able to work fully with Notebooks, Submenus, and Anatomy to create your own personal interest blog.
GitHub Pages Jekyll
Learn about the power of GitHub Pages and Jekyll
Hints
Submodule 2 of Hints Mini-Quest
Hints
Submodule 2 of Hints Mini-Quest
HTML, CSS, and JS Kernels
This page will teach you how to use HTML, CSS, and JavaScript kernels in Jupyter Notebooks.
Introduction Java Spring Framework
See how Spring turns a Java data object into a web app through an entity, a JPA repository, a controller, and endpoints a UI can call.
Iterations
An intro to iterations using Code Runner
Java Kernel
This page will teach you how to set up your Java kernel in Jupyter Notebooks.
Java Persistence API (JPA)
A short reference for persisting Spring entities with JPA and SQLite.
Java Spring Hacks - Sprint 1 Final
Full-stack project using Spring Boot API, JPA, and POJO backed by your OCS system ideation. Individual project, team integration.
Jekyll Themes - Deep Dive
Builds upon the first lesson of Jekyll Themes to ensure understanding, and has questions to test your knowledge,. Jekyll Themes willbe crucial, so it is important to understand it.
JSON and Javascript Objects
Build JavaScript objects, read and change them with dot and bracket notation, and convert them to and from JSON with JSON.stringify and JSON.parse.
JWT Login and Cookies with Selection and Iteration
Practice Unit 2 loops and if statements by searching a request's cookies for a JWT and deciding whether a login is allowed or rejected.
KASM Workspace Operating System and Tools Setup
Setup guide for using the Ubuntu-based KASM Workspace for development.
Kirby Minigames Documentation
Documentation for the actual features implemented in the Kirby minigames project
Knowledge Restoration Protocol
Final End Quest game: Restore Earth's digital knowledge across multiple domains
Learning Habits
Establishing pair/trio learning habits in the classroom. This will extend to other forms of collaboration, such as group work and team projects.
Lesson Planning
Review this outline as a guide to assist in planning and teaching JavaScript lessons.
Linux Operating System and Tools Setup
Setup guide for using Linux (Ubuntu, Kali, Mint) for development.
Live Review (Pair/Trio/Group)
Anytime during a Sprint is an opportunity to showcase accomplishments to the teacher. Each week there is a formative Checkpoint meeting, the last week of the Sprint includes a summative live review meeting.
Los Angeles
City Two of Food - Los Angeles
Los Angeles
Submodule 2 of Backend Development Mini-Quest
MacOS Operating System and Tools Setup
Setup guide for MacOS developer tools including Homebrew, Python, and more.
Math Class Homework
Mathematical Expressions in JavaScript
Read, write, and evaluate JavaScript mathematical expressions with operators, variables, precedence, and comparisons. Created By Adeeb, Rithvik, Ahmad, and Joseph.
MCQ1 - Unit 1 Quiz
Check Unit 1 basics with questions on valid variable names, integer division, primitive and reference types, each paired with a short coding hack.
Media Literacy Vault
Enter the vault code with numbers gathered through the mission to get your Media Literacy certificate
Method Signatures — Homework (1.9)
Microblog API
Read authenticated microblog handlers, filtering, validation, permissions, and their model calls.
Microblogging Multiple Choice
Microblog Multiple Choice Quiz for Microblogging Planet
Microblogging Vault
Microblog Vault
Nested Conditionals
Put if statements inside other if statements to make decisions that depend on more than one condition.
Nod Game - Project Documentation
Technical breakdown of the Head-Tracking Maze Game
Object Literals
Learn about Object Literals and how they can be used in games.
OCS Assignments System
Students are making OCS grading faster and more reliable. The work includes AI grading with a key each user supplies, out of 1 point per assignment, student grades that sit alongside AI grades instead of overwriting them, and admin tools to correct bad submission records. Other pieces are lessons standardized through CRUD operations, data collection for a reworked self-assessment, and teacher and grader screens on the Pages frontend so teachers never need to use the Spring admin views.
OCS Grid Grammar
Lay out lab data with the OCS grid grammar so it is responsive and theme aware, without writing any CSS.
OCS SASS Containers Grammar
Structure a page with the OCS container, cards, grids, and tables so content lines up and adapts to the screen without writing CSS.
Oncology and Kids
Capstone project creating an interactive and educational website for cancer patients and families, with community support, learning modules, and games.
Operating System and Tools Setup
Significant setup is required for development tools to support the Operating System, JavaScript, Python, Java, Jupyter Notebooks, and more. This is the first step in the development process.
Pirate-Hunt gamelevel documentation
Documentation for Pirate Hunt game
Plagiarism TDD plan and ceremony (Sample)
In the Plagiarism Prevention Quest we will use Test-Driven Development (TDD) and enable a Feedback Plan, Ceremony to introduce a "Quest sytle" project. Student will have similar Test ceremony at N@tM for their projects.
Plain Old Java Objects (POJO)
A short reference for defining a Spring data object and JPA entity.
Playing with Jupyter Notebooks and Python
GitHub pages was built with Python and Jupyter Notebooks in mind. This post is to verify tools by using Python.
Poway Veteran's Organization Pitch
Poway Veterans Organization 2026–27
CSP 2026–27 capstone continuing the Poway Veterans Organization redesign with guided assistance, volunteer onboarding, an AI support chatbot, and accessibility-first improvements for veterans and community members.
PowPAC - Poway Performing Arts Company
CSP capstone helping PowPAC improve their website with cleaner UI, production galleries, and an improved navbar and search experience.
Python Kernels
This page will teach you how to use Python kernels in Jupyter Notebooks.
Quest of Code: AI Usage for Thinkers
Educational curriculum focusing on responsible AI usage and critical thinking skills
Quest of Spook: Game Development
Halloween-themed game development curriculum using JavaScript and OCS framework
Questofcode WGU Assessments E Learning
Converted from QuestOfCode-WGU-Assessments-E-Learning.docx
Questofcode WGU Collaborative E Learning
Converted from QuestOfCode-WGU-Collaborative-E-Learning.docx
Red Riding Hood - Overview
README starting documentation for the game
Resume — All-in-One Interactive Lesson
Compact interactive lesson combining contact, skills, education, experiences, PDF export, LinkedIn builder and interview practice
Roles in Submission, Teaching, and Grading
Model the Submissions page with a class and an ArrayList, then filter it by student, teacher, and admin role.
Safe Passage Heals V2.0 · Media Management and Recovery Simulation
CSP 2026–27 capstone extending the Safe Passage Heals prototype with media management tools, community events, and an interactive recovery simulation.
San Diego
City One of Food - San Diego
San Diego
Stop 1: San Diego — “Connecting to the Data Field”
San Francisco
City Three of Food - San Francisco
San Francisco
Submodule 3 of Backend Development Mini-Quest
SASS Buttons Grammar
Explore the Open Coding Society button grammar through living examples.
SASS Inputs
Learn the OCS SASS input grammar and refactor hardcoded input styles into reusable classes.
SASS Toggles
Build on and off switches from the OCS toggle classes, make them do something with JavaScript, and customize their colors.
Seattle
City Four of Food - Seattle
Seattle
Submodule 4 of Backend Development Mini-Quest
Semantic HTML with OCS Typography Grammar
Semantic HTML defines meaning and structure. OCS Typography Grammar expresses the OCS style without hardcoding CSS.
Setting up utterances
Learn how to set up utterances for your blog. Utterances is a tool that allows you to have comments on your blog posts.
SFI Foundation 2026–27
The SFI Foundation writes and administers safety specifications for racing equipment. This CSP 2026–27 capstone makes those standards easier to search, understand, and track.
Spline Barriers
Learn how spline barriers use control points to create smooth game boundaries.
Submodule 1
Key 1 of AI Usage Mini-Quest about AI functionality
Submodule 2
Submodule 2 of AI Usage Mini-Quest
Submodule 3
Submodule 3 of AI Usage Mini-Quest about Prompt Engineering
Submodule 4
Submodule 4 of AI Usage Mini-Quest
Submodule 4
Submodule 4 of AI Usage Mini-Quest of Generating the Itinerary
Submodule 5 - Rocket Landing Challenge
Task 5 of the End Quest - Navigate the rocket to a safe landing
The Case For Decentralization
What is decentralization? And why would I use it over centralized services?
Threat Modeling
A brief introduction to threat modeling PII.
Tools and Equipment Setup
Tech has reshaped our lives, from the internet to the smartphone in your pocket, or the advent of AI. This course is opening new technology possibilities by equipping you with the developer tools that are the keys to boundless technology possibilities.
Tools and Equipment Setup
Tech has reshaped our lives, from the internet to the smartphone in your pocket, or the advent of AI. This course is opening new technology possibilities by equipping you with the developer tools that are the keys to boundless technology possibilities.
Tools and Equipment Setup
Tech has reshaped our lives, from the internet to the smartphone in your pocket, or the advent of AI. This course is opening new technology possibilities by equipping you with the developer tools that are the keys to boundless technology possibilities.
Tools and Equipment Setup
Tech has reshaped our lives, from the internet to the smartphone in your pocket, or the advent of AI. This course is opening new technology possibilities by equipping you with the developer tools that are the keys to boundless technology possibilities.
Truth Scanner
Third line of defense from foregin invaders
Unit 2 FRQ Practice
Write AP style methods that use selection and iteration, check them against built in tests, and learn what the FRQ rubric rewards.
Unit 2 Quiz
Sixteen multiple choice questions covering Boolean expressions, selection, iteration, String algorithms, nested loops, and run-time analysis, plus two coding challenges.
Unit 3 Quiz
Test your Unit 3 knowledge of class design, constructors, methods, object references, and scope.
Unit 4 Quiz
User API
Trace authentication, user requests, validation, and calls from Flask handlers into the user model.
Using JS (+ other Languages) in Jupyter Notebooks
Further your understanding off Javascript setup and Juypter Notebooks. This lesson will test all your understanding, with questions for you to type responses.
Variables
Store data with let and const, work with numbers, strings, booleans, arrays, and objects, and use variables to change a page through the HTML DOM.
VSCode Setup
A key to learning in this class is understanding how to make a GitHub Pages project. This guide will setup and run the project. At the end, you will have a portfolio Website that can be used for blogging classroom learnings and progress.
Windows (WSL) Operating System and Tools Setup
Setup guide for using Windows Subsystem for Linux with Ubuntu for development.
Work Submission & Grading System
An AI-graded pipeline (Gemini API) for MC, FRQ, and GitHub Issue submissions, storing every score and feedback the way the existing game-submission spreadsheet does today, in a database admins can browse.