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 foundation using essential tools and software development processes to support their coding journey.

Illustration
    

+-----------------+ | Laptop, OS | | Tool Setup | +-----------------+ | | VS Code, Jupyter, Python v +-----------------+ | VS Code, Develop| | Code Editor | +-----------------+ | | Code, build, test, debug v +-----------------+ | VS Code, Git | | Version Control | | +-----------------+ | | Commit local versions, track change 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 Code, Code, Code Tools and DevOps Collaboration
0 - Tools and Equipment Overview
- VSCode, GitHub Pages Setup
- 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!
- JS Output w/ jquery
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 Proccessing | Analysis, Computation, and Models | Communicate with Data Services v +----------------+ | AWS Services | | Store Data | +----------------+


Week 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
- 2.2 Data Compression, Images
- 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 team project at the Electives Department "Night at the Museum" (N@tM).

Week Code, Code, Code Tools and DevOps Collaboration
8 - 2.3 Extracting Data, Pandas
- Python Pandas
- ML and Fitness
- 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, Create Performance Task (CPT) kickoff

Trimester 2 will begin with a Mini-project. Great projects begin with frontend style. This project will be using SASS, JavaScript, managing user events and representing Algorithms. Tech talks during this period will be preparing for College Board Create Performance Task.

Week Code, Code, Code Tools and DevOps Collaboration
13 - Binary Logic and Abstraction
- Innovation, CPT Project
14 - 2.4a SQL Data
- 2.4b SQL Data
- Sprite Sheet Intro
- Sprite Sheet Animation
- P1 The Internet

Sprint5: CPT design and development, Computer Systems, Networks, Impact of Computing

Trimester 2 continues with CPT project design and development. Student Teaching will focus on College Board Units 4 and 5.

Week Code, Code, Code Tools and DevOps Collaboration
15 - Computer System and Networks
- Big Idea 4 'The Internet'
- Big Idea 5.1 Beneficial and Harmful Effects
- Big Idea 5.2 Digital Divide
- Big Idea 5.3 Computing Bias
- Big Idea 5.4 Crowdsourcing
- Big Idea 5.5 Legal and Ethical Concerns
- Big Idea 5.6 Safe Computing
16
17
18
19
20 - Cloud Workspace Automation Plan
- Database CRUD Operations
- Cockpit Setup
21

Sprint6: Create Performance Task (CPT) and N@tM, MCQ Exam Practice

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

Week Code, Code, Code Tools and DevOps Collaboration
22
23
24

Sprint7: Data Structures and Data Science

This is the beginning of a college course following 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 Code, Code, Code Tools and DevOps Collaboration
25
26
27
28
29

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 Code, Code, Code Tools and DevOps Collaboration
30
31
32

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 Code, Code, Code Tools and DevOps Collaboration
33
34
35
36