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