PD: Overview of Curriculum Framework
Understanding By Design
The Conceptual Framework was developed using a backward design technique, where the focus is on the higher level big ideas, then the lower level learning objectives needed to understand those big ideas. It also addresses assessment (i.e. how will teachers know if students have met the learning objectives) in order to drive unit and lesson development. It is based on the work of Grant Wiggins and Jay McTighe in Understanding by Design. The following video may help your understanding of backward design.
For information about the CS Principles Framework and Course Assessments, please review the Course details as provided by the College Board. Further details about the Big ideas and Computational Thinking Practices of the CS Principles framework are provided below. Big ideas convey themes that should be taught across units developed in a typical college computer science course. Computational Thinking Practices include further refined skills to help teach not just content, but a way of thinking. Additionally, Big Ideas are broken down further into Enduring Understandings, Learning Objectives, and Essential Knowledge statements. The learning objectives are more specific, giving teachers and students a clearer understanding of the course objectives. Each of these will be explored and reflected upon in more depth as they arise in the Mobile CSP lessons.
Big Idea 1: Creative Development (CRD)
When developing computing innovations, developers can use a formal, iterative design process or experimentation. While using either approach, developers will encounter phases of investigating and reflecting, designing, prototyping, and testing. Additionally, collaboration is an important tool to use at any phase of development because considering multiple perspectives allows for improvement of innovations.
- How can a creative development process affect the creation of computational artifacts?
- How can computing and the use of computational tools foster creative expression?
- How can computing extend traditional forms of human expression and experience?
Big Idea 2: Data (DAT)
Data is central to computing innovations because it communicates initial conditions to programs and represents new knowledge. Computers consume data, transform data, and produce new data, allowing users to create new information or knowledge to solve problems through the interpretation of this data. Computers store data digitally, which means that the data must be manipulated in order to be presented in a useful way to the user.
- How can computation be employed to help people process data and information to gain insight and knowledge?
- How can computation be employed to facilitate exploration and discovery when working with data?
- What considerations and trade-offs arise in the computational manipulation of data?
- What opportunities do large data sets provide for solving problems and creating knowledge?
Big Idea 3: Algorithms and Programming (AAP)
Programmers integrate algorithms and abstraction to create programs for creative purposes and to solve problems. Using multiple program statements in a specified order, making decisions, and repeating the same process multiple times are the building blocks of programs. Incorporating elements of abstraction, by breaking problems down into interacting pieces, each with their own purpose, makes writing complex programs easier. Programmers need to think algorithmically and use abstraction to define and interpret processes that are used in a program.
- How are algorithms implemented and executed on computers and computational devices?
- Why are some languages better than others when used to implement algorithms?
- What kinds of problems are easy, what kinds are difficult, and what kinds are impossible to solve algorithmically?
- How are algorithms evaluated?
- How are programs developed to help people, organizations, or society solve problems?
- How are programs used for creative expression, to satisfy personal curiosity, or to create new knowledge?
- How do computer programs implement algorithms?
- How does abstraction make the development of computer programs possible?
- How do people develop and test computer programs?
- Which mathematical and logical concepts are fundamental to computer programming?
Big Idea 4: Computer Systems and Networks (CSN)
Computer systems and networks are used to transfer data. One of the largest and most commonly used networks is the Internet. Through a series of protocols, the Internet can be used to send and receive information and ideas throughout the world. Transferring and processing information can be slow when done on a single computer but leveraging multiple computers to do the work at the same time can significantly shorten the time it takes to complete tasks or solve problems.
- What is the Internet, how is it built, and how does it function?
- What aspects of the Internet's design and development have helped it scale and flourish?
- How is cybersecurity impacting the ever increasing number of Internet users?
Big Idea 5: Impact of Computing (IOC)
Computers and computing have revolutionized our lives. To use computing safely and responsibly, we need to be aware of privacy, security, and ethical issues. As programmers, we need to understand how our programs will be used and be responsible for the consequences. As computer users, we need to understand how to protect ourselves and our privacy when using a computer.
- How does computing enhance communication, interaction, and cognition?
- How does computing enable innovation?
- What are some potential beneficial and harmful effects of computing?
- How do economic, social, and cultural contexts influence innovation and the use of computing?
Computational Thinking Practice 1: Computational Solution Design
Design and evaluate computational solutions for a purpose. Students are expected to:
- Skill 1.A: Investigate the situation, context or task.
- Skill 1.B: Determine and design an appropriate method or napproach to achieve the purpose.
- Skill 1.C: Explain how collaboration affects the development of a solution.
- Skill 1.D: Evaluate solution options.
Computational Thinking Practice 2: Algorithms and Program Development
Develop and implement algorithms. Students are expected to:
- Skill 2.A: Represent algorithmic processes without using a programming language.
- Skill 2.B: Implement an algorithm in a program.
Computational Thinking Practice 3: Abstraction in Program Development
Develop programs that incorporate abstractions. Students are expected to:
- Skill 3.A: Generalize data sources through variables.
- Skill 3.B: Use abstraction to manage complexity in a program.
- Skill 3.C: Explain how abstraction manages complexity.
Computational Thinking Practice 4: Code Analysis
Evaluate and test algorithms and programs. Students are expected to:
- Skill 4.A: Explain how a code segment or program functions.
- Skill 4.B: Determine the result of code segments.
- Skill 4.C: Identify and correct errors in algorithms and programs, including error discovery through testing.
Computational Thinking Practice 5: Computing Innovations
Investigate computing innovations. Students are expected to:
- Skill 5.A: Explain how computing systems work.
- Skill 5.B: Explain how knowledge can be generated from data.
- Skill 5.C: Describe the impact of a computing innovation.
- Skill 5.D: Describe the impact of gathering data.
- Skill 5.E: Evaluate the use of computing based on legal and ethical factors.
Computational Thinking Practice 6: Responsible Computing
Contribute to an inclusive, safe, collaborative, and ethical computing culture. Students are expected to:
- Skill 6.A: Collaborate in the development of solutions.
- Skill 6.B: Use safe and secure methods when using computing devices.
- Skill 6.C: Acknowledge the intellectual property of others.