Top Down Design and Functions
- Due No Due Date
- Points 35
The main purpose here is to familiarize you with the concept of developing “procedural abstractions.” One of the main learning objectives in the CSP framework is: “2.2.1 Develop an abstraction when writing a program…”. Furthermore the AP Performance Task: Create requires students to “develop an abstraction to manage complexity of your program.” For all intents and purposes, developing abstractions starts with writing reusable functions (or procedures) in your code that encapsulate and give a name to multi-line segments of code that other parts of your code calls upon.
A technique for deciding what functions you should write is to look at the problem with a “top-down design” perspective. The process of creating software begins long before the first lines of code are written. Breaking a problem down into layers of sub-tasks, and writing well-named functions that solve those tasks is a creative act of abstraction. It also leads to good code that is more efficient, easier to read, and therefore easier to debug when problems arise.
In professional settings, teams of people first identify the problems and sub-problems the particular software will be addressing and how it will be used. This approach to designing software is critical when facing large-scale programming tasks. Once the problem is well understood, it can be broken into parts that teams or individual programmers can begin to work on solving at the same time. Full software systems take advantage of the power of abstraction; each programmer in a team can write code, assuming the subproblems will be solved and written by other teammates.
Giants
- Fu, Hao
- She, Yuchen
Yankees
- Nguyen, Phuong
- Nelson, Channing
Mets
- Kim, Sungjin
- Seidel, Theodore
Falcons
- Hirano, Hana
- Alibekov, Asset
Knicks
- Wang, Kehan
- Yang, Wenjing
Jets
- Li, Shuoyao
- Brown, Jacob
Rays
- Dennis, Christopher
- Liang, Sidi
Patriots
- Zhou, Xinyi
- McGowan, John
Complete the worksheet and turn in to Ms. Crosby (15pts)
Then click here to complete the section on Code.org (20pts)
https://studio.code.org/s/csp3/stage/6/puzzle/2 Links to an external site.
Rubric
Criteria | Ratings | Pts | ||
---|---|---|---|---|
Worksheet
threshold:
pts
|
|
pts
--
|
||
Code.org Stage 6
threshold:
pts
|
|
pts
--
|
||
Total Points:
35
out of 35
|