CSSE CSP CSA README

Computer Science Pinciples


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, Python, 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 (.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, track changes v +-----------------+ | VS Code, Project| | GitHub Sync | +-----------------+ | | Push changes to cloud Repository v +-----------------+ | GitHub, Collab | | Shared Code | +-----------------+ | | Review 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
- Build a Student Page
- Grab a Project
- Pair Programming
1 - Python IO
- Linux Shell and Bash
- Anatomy of GitHub Pages
2 - JS Calculator
- Python Tricks!
- UX, jQuery | CRUD
3 - JS Input
- JS Output w/ Objects
- Pair Showcase

Sprint2: Web Development Layers

During Weeks 4-7, students will delve into the layers used in Web Development. They will learn about the key components that make up websites, including the Frontend, Backend, and Data layers. The main focus of this Sprint is to empower students to explore the development and deployment of a simple website. Throughout this period, there will be several lectures that provide ideas and concepts on how to build different components of a website, including sending and receiving data from a backend server.

Illustration
    

+---------------+ | GitHub Pages | | Design, Layout| | Frontend | +---------------+ | | User presentation, style | Actions v +--------------+ | JavaScript | | Logic/Events | +--------------+ | | JS Functionality, interactivity | Sends API request/response v +----------------+ | AWS EC2 Server | | Python / Flask | | Backend | +----------------+ | | Python Server-Side Processing | Analysis, Computation, and Models | Communicate with Data Services v +----------------+ | AWS Services | | Store Data | +----------------+


Week Issues/Plans Code, Code, Code Tools and DevOps Collaboration
4 - Data Types, Lists, Dictionaries
- 1.4 Correcting errors
- Agile Methodology
5 - JS Itunes API
- 2.1 Binary
- Python/Flask in Jupyter
- Anatomy of Python Flask
- Flask/Python Repo and App
- 1.1-1.4 Team Test
- Student Teaching Tri1
6 - Web Programming Basics
- AWS Deployment
- JS Basics Test
- Passion Project Tri1
7 - Alien World Background
- CB 3.1,3.2 Data Abstraction
- CB 3.3,3.4 Algorithms
- PP Ideation CheckPoint
- P1 Algorithims
- P4 Data Abstraction
- P1 Data Abstraction
- P2 Data Abstraction
- P5 Data Abstraction
- P2 Algorithms
- P5 Algorithms
- P5 Boolean If

Sprint3: Web Application, Data, and N@tM

Student teams need to build their own Website, and individuals need to blog their learnings. The team Website should include interests but also requires the use of Python Flask and JavaScript programming. By the end of the Sprint, students will be ready to start many of the technical coding aspects of Web Development; having established a Deployed Website, Frontend, and Backend. In November, the Trimester will end by presenting the team project at the Electives Department "Night at the Museum" (N@tM).

Week Issues/Plans Code, Code, Code Tools and DevOps Collaboration
8 - CB 3.3,3.4 Boolean If
- CB 3.7,3.8 Iteration
- P4 Iteration
- P4 Algorithms
- P1 booleans and conditions
- P2 Boolean, If Lesson
- P2 Iteration
- P1 Iteration
- P5 Iteration
9 - CB 3.9. 3.15 Developing Algoritms
- CB 3.10.3.11 Lists and Search
- Javascript Object Oriented Programming
- API, Data Strategies
- P5 Developing Algorithms
- P1 Developing Algorithms
- P4 Developing Algorithms
- P1 Lists and search
- P2 Developing Algorithms
- P4 Lists and search
- P2 List and Operations
- P5 Lists and search
10 - CB 3.12,3.13 Developing Procedures
- CB 3.14 Libraries
- P5 Procedures
- P5 Libraries
- P1 Procedures
- Project Documentation - Alien World
- P4 Procedures
- P2 Developing Procedures
- P2 Python Libraries
- P4 Libraries
- P4 Simulation
- P5 Simulation
11 - CB 3.16-3.17 Simulations
12

Sprint4: Warm-up Data Abstraction Project, Computer Systems, Networks, Impact of Computing

Trimester 2 will begin with a Mini-project, CPT warmup. Great projects begin with frontend style. This project will focus on frontend; using SASS, JavaScript, interacting with user events, and representing Binary Algorithm(s). Student Teaching during this period will be preparing for College Board MCQ.

Week Issues/Plans Code, Code, Code Tools and DevOps Collaboration
13 - Binary Logic | CPT | Requirements
14 - Big Idea 4.1 The Internet
- Big Idea 4.2 Routing | 4.3 Computing
- P2 Routing and Computing
- P4 The Internet
- P1 The Internet
- P2 The Internet
- P4 4.2 & 4.3 Routing and Computing
- P5 The Internet
- P1 Fault Tolerance & Parallel and Distributed Computing
- P5 Routing and Computing
15 - Big Idea 5.1 Beneficial and Harmful Effects
- Big Idea 5.2 Digital Divide
- P1 Beneficial and harmful effects
- P4 Digital Divide
- P5 Beneficial and harmful effects
- P2 | 5.1 | Beneficial and Harmful Effects
- P4 Beneficial and harmful effects
- P5 Digital Divide
- P1 Digital divide
- P2 Digital Divide Team Teach
16 - Binary Logic | Key Indicators | Retrospective
- Big Idea 5.3 Computing Bias
- Big Idea 5.4 Crowdsourcing
- P1 Legal and Ethical Concerns
- P4 Crowdsourcing
- P4 Undecidable Problems
- P2 Computing Bias Lesson
- P1 Computing Bias
- P4 Computer Bias
- P5 Computer Bias
- P1 Undecidable Problems
- P2 | 3.8 Undecided Problems | Student
- P1 Crowdsourcing
- P2 | 5.4 | Crowdsourcing
- P4 Legal and Ethical Concerns
- P5 Crowdsourcing
- P1 Safe Computing
- P4 Safe Computing
- P5 Safe Computing

Sprint5: Create Performance Task (CPT) kickoff, CPT design and development

Trimester 2 continues with CPT project design and development. The big focus is on frontend/backend for data, databases, and login.

Week Issues/Plans Code, Code, Code Tools and DevOps Collaboration
17 - Innovation, CPT Project
- Big Idea 5.5 Legal and Ethical Concerns
- Big Idea 5.6 Safe Computing
- P2 | 5.5 | Legal & Ethical
- P2 | 5.6 - Safe Computing
18 - CSP | JWT | Login Project
- JWT Login (python/flask)
- Database CRUD Operations
- SASS basics
- SASS advanced
- 2.4a SQL Data
- 2.4b SQL Data
19 - P1 Introduction to SASS
- P2 | SASS
- P1 Introduction to SASS
- P5 Introduction to SASS
- P2 | Python/Flask | SQL
- P5 Introduction to SASS
- P2 | Python/Flask | JWT
20 - Cloud Workspace Automation Plan
- Cockpit Setup
- P2 | Login/Signup | JWT
- P2 | Python/Flask | Login
- P2 | Python/Flask | Full Stack
21 - Logic Gate Game

Sprint6: N@tM and Create Performance Task (CPT) video and presentations. MCQ Exam Practice.

Trimester 2 concludes with students presenting their CPT project at N@tM. Each person within "Student Teams" will have their own specialty within the student project that satisfies all their Create Performance Task requirements. Students should be able to talk about design, coding, iteration, and present features of their portion of the system.

Week Issues/Plans Code, Code, Code Tools and DevOps Collaboration
22 - Course Descriptions
23
24

Sprint7: Data Structures and Data Science

This is the beginning of a college course following the outline of CS113 Data Structures from Mira Costa CC. Topics, using Python, include searching, sorting, hashing, algorithms, analysis, object-oriented design, collections, lists, stacks, queues, trees, sets, dictionaries, and graphs.

Week Issues/Plans Code, Code, Code Tools and DevOps Collaboration
25 - CSA Seed and Debugging
- Pandas, Data Structures / Data Analysis
- Pandas, Datasets
- ML, Titanic Data
- ML, Fitness
- Neural Network, Handwritting Detection
26 - CSA Data Types Prep
- MCQ 2020 Frequently Missed Questions
27 - Big Project Feature Check #1
- CSA Collectibles Prep
- CSA Data Types Teach
28 - CSA Collectibles Teach
- Workshop #1, #2
29 - Algorithmic Code Prep
- Algorithmic Performance

Sprint8: AP Weeks

Activities will be focused on supporting students in test preparations, including student teaching. Days that are not focused on test preparation will be focused on planning for year-end project/portfolio.

Week Issues/Plans Code, Code, Code Tools and DevOps Collaboration
30 - Big Project Feature Check #2
- Deployment using Login and Authorization Code
31 - Workshop #3, #4, Search/Sort
32 - FRQ Practice Exam
33

Sprint9: Passion Project and N@tM

Presenting accomplishments for the year by creating a passion project for N@tM. This project will serve as the year-end final exam.

Week Issues/Plans Code, Code, Code Tools and DevOps Collaboration
34 - Learning Hashmaps using Python dictionaries
- Sorting algorithms
- Data Structures- Space and Time Complexity
- 2D Iteration Intro
- 2D Usage with Images
35 - RPN Callers and Enactment
36