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 | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
0 |
- Tools and Equipment Overview - Build a Student Page |
- Pair Programming |
|
1 |
- Presentation Plan |
- Linux Shell and Bash |
|
2 |
- JS Calculator - Digital Divide |
- Crowdsourcing |
|
3 |
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 | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
4 |
- Legal and Ethical Concerns |
- Agile Methodology |
|
5 |
- JS Itunes API - 2.1 Binary |
- Flask/Python Repo and App |
- 1.1-1.4 Team Test - Student Teaching Tri1 |
6 |
- JS Basics - Python/Flask User Database Introduction |
- JS Basics Test - Passion Project Tri1 |
|
7 |
- Alien World Background - Algorithms - Boolean If |
- PP Ideation CheckPoint |
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 | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
8 |
- Data Abstractions |
- P1 Iteration |
|
9 |
- Developing Algoritms - List and Search |
- API, Data Strategies |
|
10 |
- Developing Procedures - Libraries - Simulations |
||
11 |
- Passion Project - My Contributions |
- College Board Learning and Corrections - My Understanding of Psuedocode |
|
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 | 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 |
- P5 The Internet - P5 Routing and Computing |
|
15 |
- 4.2 & 4.3 Routing and Computing - Big Idea 5.1 Beneficial and Harmful Effects - Big Idea 5.2 Digital Divide - Benefitial and Harmful Effects |
- InternetLesson |
|
16 |
- Binary Logic | Key Indicators | Retrospective - Big Idea 5.3 Computing Bias - Big Idea 5.4 Crowdsourcing - Computing Bias |
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 | 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 - Safe Computing |
||
18 |
- JWT Login (python/flask) |
- Database CRUD Operations |
|
19 |
- Python/Flask Model, Tools, Jinja2 |
- Introduction to SASS |
|
20 |
- SASS Javascript Login and Signup Page |
||
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 | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
22 |
- Course Descriptions |
||
23 | |||
24 |
- Individual Seed |
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 | Code, Code, Code | Tools and DevOps | Collaboration |
---|---|---|---|
25 | |||
26 |
- MCQ 2020 Frequently Missed Questions |
||
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 |
- Plans for features for collegeboard submission |
||
31 | |||
32 |
- Collegeboard MCQ 2021 |
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 |
- Plans for features for collegeboard submission |
||
34 |
- Algo-rythmic Dance |
||
35 | |||
36 |
- Fantastic Data-Structure Blog |