Skip to content

Commit d9d6893

Browse files
authored
Update Algorithms-and-Programming.md
1 parent ef370e9 commit d9d6893

File tree

1 file changed

+258
-1
lines changed

1 file changed

+258
-1
lines changed

source/Unit 3/Algorithms-and-Programming.md

Lines changed: 258 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Algorithms & Programming
22

3-
## Unit 3: Algorithms and Programming
3+
4+
<details><summary>Big Ideas - Click Here</summary>
45

56
**Big Ideas Covered:**
67

@@ -127,3 +128,259 @@
127128
* **Block-based to text-based translation (e.g., Scratch to Python)**
128129
* **Write and refine a simple calculator or game logic**
129130
* **Pseudocode practice and flowcharts**
131+
132+
</details>
133+
134+
**AP CSP: Algorithms and Programming Project Packet**
135+
136+
Each project includes meaningful challenges in problem-solving, design, data abstraction, and algorithmic thinking, and supports multiple CSP standards.
137+
138+
---
139+
140+
<details> <summary>Project 1: Data Visualization Challenge</summary>
141+
142+
**College Board Learning Objectives:**
143+
144+
* DAT-2.D: Describe the purpose of a computational artifact.
145+
* DAT-2.E: Create a computational artifact using data.
146+
* AAP-2.J: Create programs that use libraries or APIs.
147+
148+
**Summary:**
149+
Students will analyze a real-world dataset (e.g., climate, sports, health) and build a program that visualizes the data through graphs or interactive charts. They must clean the data, apply algorithms to extract meaning, and generate visual output.
150+
151+
**Deliverables:**
152+
153+
* Python or JavaScript program with visualization
154+
* Annotated code with explanations
155+
* 1-page summary of insights from the data
156+
157+
**Assessment Rubric:**
158+
159+
Project 1: Data Visualization Challenge
160+
161+
**College Board Learning Objectives:**
162+
163+
* DAT-2.D: Describe the purpose of a computational artifact.
164+
* DAT-2.E: Create a computational artifact using data.
165+
* AAP-2.J: Create programs that use libraries or APIs.
166+
167+
**Summary:**
168+
Students will analyze a real-world dataset (e.g., climate, sports, health) and build a program that visualizes the data through graphs or interactive charts. They must clean the data, apply algorithms to extract meaning, and generate visual output.
169+
170+
**Deliverables:**
171+
172+
* Python or JavaScript program with visualization
173+
* Annotated code with explanations
174+
* 1-page summary of insights from the data
175+
176+
**Assessment Rubric:**
177+
178+
| Criteria | 4 - Excellent | 3 - Proficient | 2 - Developing | 1 - Beginning |
179+
| -------------------------- | -------------------------------------------------------------- | -------------------------------------- | --------------------------------- | --------------------------------------- |
180+
| Data Processing & Accuracy | Data is cleaned, processed, and represented with high accuracy | Data mostly processed correctly | Some data processed, minor errors | Major issues or missing data processing |
181+
| Program Functionality | Fully functional and interactive | Mostly functional, minor bugs | Partially functional | Non-functional or incomplete |
182+
| Algorithm Use | Well-structured and efficient algorithms | Logical and mostly correct | Some inefficiency or errors | Poor or no algorithmic structure |
183+
| Visualization Clarity | Highly clear, informative, and visually appealing | Generally clear and well-organized | Some visual confusion | Unclear or poorly designed |
184+
| Communication & Creativity | Excellent explanation and innovative presentation | Clear explanation with some creativity | Basic explanation | Poorly explained or lacking originality |
185+
186+
---
187+
188+
</details>
189+
190+
<details><summary>Project 2: Custom Algorithm Design</summary>
191+
192+
**College Board Learning Objectives:**
193+
194+
* AAP-2.C: Develop an algorithm.
195+
* AAP-2.G: Express an algorithm using sequencing, selection, and iteration.
196+
* AAP-2.K: Evaluate algorithms.
197+
198+
**Summary:**
199+
Students will identify a real-world or classroom problem and design a custom algorithm to solve it. The algorithm should include clear use of control structures and be implemented in code.
200+
201+
**Deliverables:**
202+
203+
* Problem description
204+
* Flowchart or pseudocode
205+
* Working program with documentation
206+
* Analysis of algorithm efficiency (qualitative)
207+
208+
**Assessment Rubric:**
209+
210+
Project 2: Custom Algorithm Design
211+
212+
**College Board Learning Objectives:**
213+
214+
* AAP-2.C: Develop an algorithm.
215+
* AAP-2.G: Express an algorithm using sequencing, selection, and iteration.
216+
* AAP-2.K: Evaluate algorithms.
217+
218+
**Summary:**
219+
Students will identify a real-world or classroom problem and design a custom algorithm to solve it. The algorithm should include clear use of control structures and be implemented in code.
220+
221+
**Deliverables:**
222+
223+
* Problem description
224+
* Flowchart or pseudocode
225+
* Working program with documentation
226+
* Analysis of algorithm efficiency (qualitative)
227+
228+
**Assessment Rubric:**
229+
230+
| Criteria | 4 - Excellent | 3 - Proficient | 2 - Developing | 1 - Beginning |
231+
| --------------------- | ------------------------------------------ | ------------------------------------------- | -------------------- | ---------------------------------- |
232+
| Problem Definition | Clearly articulated and meaningful | Clear and solvable | Vague or simplistic | Unclear or undeveloped |
233+
| Algorithm Design | Innovative, efficient, and well-structured | Logical with appropriate control structures | Some logical flaws | Poor structure or missing elements |
234+
| Code Implementation | Clean, correct, and complete | Mostly correct with some issues | Partially functional | Incomplete or not working |
235+
| Algorithm Explanation | Insightful and clearly communicates logic | Reasonably clear explanation | Limited clarity | Missing or incorrect explanation |
236+
237+
---
238+
</details>
239+
240+
241+
Project 3: Text-Based Game Development
242+
243+
**College Board Learning Objectives:**
244+
245+
* AAP-2.I: Use procedures to organize code.
246+
* AAP-2.M: Develop programs that use lists.
247+
* AAP-2.N: Use procedures that operate on data in lists.
248+
249+
**Summary:**
250+
Students will design and build a text-based adventure game using procedures and data structures. They will implement lists, control flow, and functions to support reusable code and dynamic behavior.
251+
252+
**Deliverables:**
253+
254+
* Fully functional game (e.g., Python, Java)
255+
* Code with at least two custom procedures and one list-based mechanic
256+
* Game map or flow diagram
257+
258+
**Assessment Rubric:**
259+
260+
Project 3: Text-Based Game Development
261+
262+
**College Board Learning Objectives:**
263+
264+
* AAP-2.I: Use procedures to organize code.
265+
* AAP-2.M: Develop programs that use lists.
266+
* AAP-2.N: Use procedures that operate on data in lists.
267+
268+
**Summary:**
269+
Students will design and build a text-based adventure game using procedures and data structures. They will implement lists, control flow, and functions to support reusable code and dynamic behavior.
270+
271+
**Deliverables:**
272+
273+
* Fully functional game (e.g., Python, Java)
274+
* Code with at least two custom procedures and one list-based mechanic
275+
* Game map or flow diagram
276+
277+
**Assessment Rubric:**
278+
279+
| Criteria | 4 - Excellent | 3 - Proficient | 2 - Developing | 1 - Beginning |
280+
| ------------------------ | ----------------------------------------------------------- | -------------------------------- | --------------------------- | -------------------------------------- |
281+
| Game Logic & Playability | Highly engaging and bug-free | Playable with minor bugs | Playable but limited | Unplayable or incomplete |
282+
| Procedures & Lists | Uses multiple reusable procedures and well-integrated lists | Appropriate use of both elements | Limited or inconsistent use | Missing procedures or list integration |
283+
| Code Structure | Well-organized and readable | Mostly clear organization | Some disorganization | Hard to follow or messy |
284+
| Creativity & Innovation | Highly original and engaging concept | Some creativity | Basic or conventional | Lacking originality |
285+
286+
---
287+
288+
289+
Project 4: Debugging & Code Review Simulation
290+
291+
**College Board Learning Objectives:**
292+
293+
* AAP-1.C: Identify and correct errors in programs.
294+
* AAP-2.F: Evaluate expressions that use arithmetic operators.
295+
* AAP-2.H: Determine the result of program execution.
296+
297+
**Summary:**
298+
Students will be given a broken or inefficient program. Their job is to debug it, improve it, and write a peer review report explaining how and why they made their changes.
299+
300+
**Deliverables:**
301+
302+
* Corrected source code
303+
* Side-by-side comparison with the original
304+
* Peer review report (1 page)
305+
306+
**Assessment Rubric:**
307+
308+
Project 4: Debugging & Code Review Simulation
309+
310+
**College Board Learning Objectives:**
311+
312+
* AAP-1.C: Identify and correct errors in programs.
313+
* AAP-2.F: Evaluate expressions that use arithmetic operators.
314+
* AAP-2.H: Determine the result of program execution.
315+
316+
**Summary:**
317+
Students will be given a broken or inefficient program. Their job is to debug it, improve it, and write a peer review report explaining how and why they made their changes.
318+
319+
**Deliverables:**
320+
321+
* Corrected source code
322+
* Side-by-side comparison with the original
323+
* Peer review report (1 page)
324+
325+
**Assessment Rubric:**
326+
327+
| Criteria | 4 - Excellent | 3 - Proficient | 2 - Developing | 1 - Beginning |
328+
| ------------------ | ------------------------------------------- | --------------------------------------- | ------------------------------------- | -------------------------------- |
329+
| Bug Identification | All bugs correctly identified and explained | Most bugs identified | Some bugs found | Few or no bugs identified |
330+
| Debugging Quality | Efficient and optimal fixes applied | Functional fixes with some inefficiency | Fixes with side effects or redundancy | Buggy or no fixes applied |
331+
| Code Comparison | Clear and complete before/after comparison | Some comparison shown | Basic or unclear comparison | No clear comparison |
332+
| Review Explanation | Detailed reasoning and reflection | Some reasoning included | Minimal or vague explanation | Missing or incorrect explanation |
333+
334+
---
335+
336+
</details>
337+
338+
339+
<details><summary>Project 5: Algorithm Museum (Explainer Showcase)</summary>
340+
341+
**College Board Learning Objectives:**
342+
343+
* AAP-2.L: Explain how algorithms reflect different approaches to solving problems.
344+
* CRD-2.C: Identify inputs and outputs of a program.
345+
* AAP-2.K: Evaluate algorithms.
346+
347+
**Summary:**
348+
Students select a classic algorithm (e.g., sorting, searching, pathfinding) and create an interactive or visual explainer. They must describe inputs/outputs, explain its function, and compare it with an alternative.
349+
350+
**Deliverables:**
351+
352+
* Explainer artifact (video, animation, poster, slideshow, etc.)
353+
* Input/output examples
354+
* Comparative write-up
355+
356+
**Assessment Rubric:**
357+
358+
Project 5: Algorithm Museum (Explainer Showcase)
359+
360+
**College Board Learning Objectives:**
361+
362+
* AAP-2.L: Explain how algorithms reflect different approaches to solving problems.
363+
* CRD-2.C: Identify inputs and outputs of a program.
364+
* AAP-2.K: Evaluate algorithms.
365+
366+
**Summary:**
367+
Students select a classic algorithm (e.g., sorting, searching, pathfinding) and create an interactive or visual explainer. They must describe inputs/outputs, explain its function, and compare it with an alternative.
368+
369+
**Deliverables:**
370+
371+
* Explainer artifact (video, animation, poster, slideshow, etc.)
372+
* Input/output examples
373+
* Comparative write-up
374+
375+
**Assessment Rubric:**
376+
377+
| Criteria | 4 - Excellent | 3 - Proficient | 2 - Developing | 1 - Beginning |
378+
| ----------------------- | ----------------------------------------------- | ------------------------ | ------------------------------ | ------------------------------------- |
379+
| Algorithm Explanation | Clear, deep explanation with visuals/examples | Mostly clear explanation | Some confusion or gaps | Inaccurate or unclear explanation |
380+
| Inputs & Outputs | Well-explained with accurate examples | Mostly correct | Minor errors or omissions | Missing or incorrect examples |
381+
| Comparison & Evaluation | Thoughtful comparison of two or more approaches | Adequate comparison | Limited insight or explanation | No meaningful comparison |
382+
| Presentation Quality | Polished, creative, and informative | Clear and informative | Somewhat unclear | Hard to understand or poorly executed |
383+
384+
---
385+
386+
</details>

0 commit comments

Comments
 (0)