Big Idea 5: Programming
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.
Programming
A process that leads from an original formulation of a computing problem to executable computer programs.
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.
Program
A list of instructions to be executed by a computer.
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.
Reasons for creating a program
-
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.
Visual, Audible, or Tactical Inputs and Outputs
Examples:
-
Adding music, images, and videos to HTML
-
HS2 product
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.
Purpose of Program decides the process
-
Creative Expression
-
Personal Curiosity
-
Create New Knowledge
-
Widespread Distribution
Exploratory Process
Traditional Process
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.
Sometimes the outcome gives a different purpose to the product
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.
Real World
- Scratch
- Google Drive
- Price comparison software
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.
Curriculum Connection
- App Lab
- HS2
- Data unit
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.
Real World
- Geology
- Health and Medicine
EK 5.1.1F Advances in computing have generated and increased creativity in other fields.
Curriculum Connection
- Push to integrate CS into other content areas
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.
Problem Solving
- Evaluate and try again
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.
Problem Solving
- Breaking down the problem
- Projects, bigger artifacts
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.
Curriculum Connection
- Project Day breakdowns
- Challenge days
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.
Examples:
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
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.
Problem Solving
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.
Add a step in project days
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.
Focus Groups
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.
Problem Solving
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.
Problem Solving Rubric
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.
Group Projects
Group Roles
Brainstorming
- Collaborative Digital Advocacy
- MS3U2
- HS1U4
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.
Problem Solving Rubric
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.
Big Idea 5: Programming
By Michael Burgevin
Big Idea 5: Programming
- 1,206