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