Big Idea 5: Programming
Programming enables problem solving, human expression, and creation of knowledge. Programming and the creation of software has changed our lives. Programming results in the creation of software, and it facilitates the creation of computational artifacts, including music, images, and visualizations. In this course, programming enables exploration and is the object of study. This course introduces students to the concepts and techniques related to writing programs, developing software, and using software effectively. The particular programming language
is selected based on appropriateness for a specific project or problem. The course acquaints students with fundamental concepts of programming that can be applied across a variety of projects and languages. As students learn language specifics for a given programming language, they create programs, translating human intention into computational artifacts.
EK 5.1.1A Programs are developed and used in a variety of ways by a wide range of people depending on the goals of the programmer.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.1 Develop a program for creative expression, to satisfy personal curiosity, or to create new knowledge.
EK 5.1.1A Programs are developed and used in a variety of ways by a wide range of people depending on the goals of the programmer.
EK 5.1.1A Programs are developed and used in a variety of ways by a wide range of people depending on the goals of the programmer.
EK 5.1.1B Programs developed for creative expression, to satisfy personal curiosity, or to create new knowledge may have visual, audible, or tactile inputs and outputs.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.1 Develop a program for creative expression, to satisfy personal curiosity, or to create new knowledge.
EK 5.1.1B Programs developed for creative expression, to satisfy personal curiosity, or to create new knowledge may have visual, audible, or tactile inputs and outputs.
Creative Expression
Satisfy Personal Curiosity
Create New Knowledge
Solve a Problem
EK 5.1.1B Programs developed for creative expression, to satisfy personal curiosity, or to create new knowledge may have visual, audible, or tactile inputs and outputs.
EK 5.1.1C Programs developed for creative expression, to satisfy personal curiosity, or to create new knowledge may be developed with different standards or methods than programs developed for widespread distribution.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.1 Develop a program for creative expression, to satisfy personal curiosity, or to create new knowledge.
EK 5.1.1C Programs developed for creative expression, to satisfy personal curiosity, or to create new knowledge may be developed with different standards or methods than programs developed for widespread distribution.
Creative Expression
Personal Curiosity
Create New Knowledge
Widespread Distribution
EK 5.1.1D Additional desired outcomes may be realized independently of the original purpose of the program.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.1 Develop a program for creative expression, to satisfy personal curiosity, or to create new knowledge.
EK 5.1.1D Additional desired outcomes may be realized independently of the original purpose of the program.
Revisit projects that have already been made and look at them differently
EK 5.1.1E A computer program or the results of running a program may be rapidly shared with a large number
of users and can have widespread impact on individuals, organizations, and society.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.1 Develop a program for creative expression, to satisfy personal curiosity, or to create new knowledge.
EK 5.1.1E A computer program or the results of running a program may be rapidly shared with a large number
of users and can have widespread impact on individuals, organizations, and society.
EK 5.1.1E A computer program or the results of running a program may be rapidly shared with a large number
of users and can have widespread impact on individuals, organizations, and society.
EK 5.1.1F Advances in computing have generated and increased creativity in other fields.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.1 Develop a program for creative expression, to satisfy personal curiosity, or to create new knowledge.
EK 5.1.1F Advances in computing have generated and increased creativity in other fields.
EK 5.1.1F Advances in computing have generated and increased creativity in other fields.
EK 5.1.2A An iterative process of program development helps in developing a correct program to solve problems.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
EK 5.1.2A An iterative process of program development helps in developing a correct program to solve problems.
EK 5.1.2B Developing correct program components and then combining them helps in creating correct programs.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
EK 5.1.2B Developing correct program components and then combining them helps in creating correct programs.
EK 5.1.2C Incrementally adding tested program segments to correct working programs helps create large correct programs.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
EK 5.1.2C Incrementally adding tested program segments to correct working programs helps create large correct programs.
EK 5.1.2D Program documentation helps programmers develop and maintain correct programs to efficiently solve problems.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
EK 5.1.2D Program documentation helps programmers develop and maintain correct programs to efficiently solve problems.
Instruction Manuals
Reflection Questions
Project Presentation Preparation
Notes Section
EK 5.1.2E Documentation about program components, such as code segments and procedures, helps in developing and maintaining programs.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
EK 5.1.2E Documentation about program components, such as code segments and procedures, helps in developing and maintaining programs.
Problem Solving Tracker/Journal
Project Journal/Notes
EK 5.1.2F Documentation helps in developing and maintaining programs when working individually or in collaborative programming environments.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
Project Presentations
Reflections
EK 5.1.2F Documentation helps in developing and maintaining programs when working individually or in collaborative programming environments.
EK 5.1.2G Program development includes identifying programmer and user concerns that affect the solution to problems.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
EK 5.1.2G Program development includes identifying programmer and user concerns that affect the solution to problems.
EK 5.1.2H Consultation and communication with program users is an important aspect of program development to solve problems.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
Feedback
EK 5.1.2H Consultation and communication with program users is an important aspect of program development to solve problems.
EK 5.1.2I A programmer’s knowledge and skill affects how a program is developed and how it is used to solve a problem.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
Collaboration
See previous standard
EK 5.1.2I A programmer’s knowledge and skill affects how a program is developed and how it is used to solve a problem.
EK 5.1.2J A programmer designs, implements, tests, debugs, and maintains programs when solving problems.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.2 Develop a correct program to solve problems.
Projects
Big challenge days
EK 5.1.3A Collaboration can decrease the size and complexity of tasks required of individual programmers.
EK 5.1.3A Collaboration can decrease the size and complexity of tasks required of individual programmers.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.3 Collaborate to develop a program.
EK 5.1.3B Collaboration facilitates multiple perspectives in developing ideas for solving problems by programming.
EK 5.1.3A Collaboration can decrease the size and complexity of tasks required of individual programmers.
EK 5.1.3B Collaboration facilitates multiple perspectives in developing ideas for solving problems by programming.
EK 5.1.3C Collaboration in the iterative development of a program requires different skills than developing a program alone.
EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
LO 5.1.3 Collaborate to develop a program.
EK 5.1.3D Collaboration can make it easier to find and correct errors when developing programs.
Whole rubric process
Brainstorming
Chunking
EK 5.1.3C Collaboration in the iterative development of a program requires different skills than developing a program alone.
EK 5.1.3D Collaboration can make it easier to find and correct errors when developing programs.