Computer Science Lab Notebook


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, Anaconda, 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 | +-----------------+ | | Actions, Jekyll build v +-----------------+ | GitHub Pages | | Showcase Project| +-----------------+


Week Code, Code, Code Tools and DevOps Collaboration
0
1
2
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 Proccessing | Analysis, Computation, and Models | Communicate with Data Services v +----------------+ | AWS Services | | Store Data | +----------------+


Week Code, Code, Code Tools and DevOps Collaboration
4
5
6
7

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
9
10
11
12

Sprint4: Algorithmic Programming

Trimester 2 begins with student teaching and a focus on algorithms. Each week a "Student Team" has a teaching assignment supported by College Board materials. Additionally, the Teacher is providing Career Tech mini-labs that correspond to one or more topics for the week. Use the two things together as you improve your learning experience, Frontend blog and Jupyter Notebooks.

Week Code, Code, Code Tools and DevOps Collaboration
13
14 - P1 The Internet
- P1 Fault Tolerance & Parallel and Distributed Computing
15 - P1 Beneficial and harmful effects
- P1 Digital divide
16 - College Board MCQ Corrections
- P1 Legal and Ethical Concerns
- P1 Computing Bias
- P1 Undecidable Problems
- P1 Crowdsourcing

Sprint5: OOP and Databases

Trimester 2 continues with student learning OOP and immediately applying it to Databases. Each week a "Student Teams" will be working on frontend and backend elements for their Create Performance Task (CPT). GitHub pages will be focus of instruction for frontend, OOP in Python will be instruction provided to create a database which will help exceed every CPT requirement.

Week Code, Code, Code Tools and DevOps Collaboration
17
18
19
20 - Trimester 2 Individual Review
- Login Verification
- Login
- Sign up page

Sprint6: Create Performance Task (CPT) and N@tM

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
21
22
23
24

Sprint7: Data Structures

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 - College Board MCQ Corrections
- ML, Titanic Data
- Individual Seed
26 - MCQ 2020 Frequently Missed Questions
- Data Structures Write Up
27
28 - Night @ The Museum Project Timeline (Trimester 3)!
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