Organizing Idea: Computer Science: Problem solving and scientific inquiry are developed through the knowledgeable application of creativity, design, and computational thinking.
Guiding Question: In what ways are abstraction, design, and coding related?
Learning Outcome: Students examine abstraction in relation to design and coding, and describe impacts of technologies.
Knowledge:
The process of abstraction includes determining what details to keep and what to ignore, removing unnecessary details, identifying important information, generalizing patterns.
Information is data that is organized to be more useful.
An abstraction is a simplified version of something complex. Abstractions can make daily life easier; e.g., simple controls on appliances, light switches, steering wheels, apps.
Computational artifacts can be designed to address societal needs and wants; e.g., weather modelling, communications, automotive controls, medical research apps.
Structures used in coding include sequences, conditionals (if-then-else statements), loops.
Sequence structures are ordered sets of instructions within code.
Conditional structures are statements that tell computers to complete different actions based on different situations.
Understanding:
Abstraction is used in design and coding of computational artifacts to make problems easier to think about.
Skills & Procedures:
Apply abstraction during the design process.
Identify examples of abstractions encountered in daily life.
Discuss the role of design and coding in society.
Use a visual block-based language to design code that includes relevant design structures.
Knowledge:
The use of computers, coding, and technology can have impacts that are personal, social, environmental, economic.
Impacts of computers, coding, or technology may be intentional or unintentional.
Understanding:
Computers, coding, and technology can be used in ways that have positive or negative impacts.
Skills & Procedures:
Discuss how computers, coding, or technology have had impacts.
Predict possible impacts of computers, coding, or technology.