August 25 (Aday) and 26 (Bday)
Content Slides for U3L5 - 7
You will need paper provided by Ms. Mathis
Code.org Assignment
This is an activity that does not require Code.org
If you are stuck on a part of your app, remember, the rule is to ASK THREE BEFORE ME. Your peers can assist you in your troubleshooting.
Wrap Up -
NOTE: on Thursday or Friday this week (whenever you have me,) you will have a Vocab and process quiz.
In this lesson students explore the challenges of clearly communicating instructions. They build a small arrangement of blocks (paper cutouts) and then create text instructions a classmate could follow to construct the same arrangement. Groups then trade instructions to see if they were clear enough to allow reconstruction of the original arrangement. The wrap-up discussion is used to highlight the inherent ambiguities of human language and call out the need for the creation of a programming language which leaves no room for interpretation.
This lesson is students' first introduction to the concept of a programming language. It helps them understand why programming languages exist by giving them a first-hand experience with the problems that programming languages are designed to address. Natural language is usually too ambiguous for giving precise instructions that can be followed correctly 100% of the time. We need to create more structured and precise programming languages in order to accomplish this.
CSP Conceptual Framework
AAP-2 - The way statements are sequenced and combined in a program determines the computed result. Programs incorporate iteration and selection constructs to represent repetition and make decisions to handle varied input values.
AAP-3 - Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing programmers to write programs more quickly and with more confidence.
CRD-2 - Developers create and innovate using an iterative design process that is user-focused, that incorporates implementation/feedback cycles, and that leaves ample room for experimentation and risk-taking.
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming
2-AP-17 - Systematically test and refine programs using a range of test cases.
3A-AP-13 - Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge and personal interests.
3A-AP-21 - Evaluate and refine computational artifacts to make them more usable and accessible.
3A-AP-22 - Design and develop computational artifacts working in team roles using collaborative tools.
3A-AP-23 - Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.