Computer Programming 11

Competencies

Students are expected to be able to do the following:

Applied Design

Understanding context

  • Conduct user-centred research to understand design opportunities and barriers

Defining

  • Establish a point of view for a chosen design opportunity
  • Identify potential users, intended impact, and possible unintended negative consequences
  • Make inferences about premises and constraints that define the design space

Ideating

  • Identify gaps to explore a design space
  • Generate ideas and add to others’ ideas to create possibilities, and prioritize them for prototyping
  • Critically analyze how competing social, ethical, and sustainability considerations impact designed solutions to meet global needs for preferred futures
  • Work with users throughout the design process

Prototyping

  • Identify and apply sources of inspiration and information 
  • Choose an appropriate form, scale, and level of detail for prototyping, and plan procedures for prototyping multiple ideas
  • Analyze the design for the life cycle and evaluate its impacts
  • Construct prototypes, making changes to tools, materials, and procedures as needed
  • Record iterations of prototyping

Testing

  • Identify feedback most needed and possible sources of feedback
  • Develop an appropriate test of the prototype
  • Collect feedback to critically evaluate design and make changes to product design or processes
  • Iterate the prototype or abandon the design idea

Making

  • Identify appropriate tools, technologies, materials, processes, and time needed for production
  • Use project management processes when working individually or collaboratively to coordinate production

Sharing

  • Share progress while creating to increase opportunities for feedback
  • Decide on how and with whom to share or promote their product, creativity, and, if applicable, intellectual property
  • Consider how others might build upon the design concept
  • Critically reflect on their design thinking and processes, and identify new design goals
  • Assess ability to work effectively both as individuals and collaboratively while implementing project management processes

Applied Skills

  • Apply safety procedures for themselves, co-workers, and users in both physical and digital environments
  • Identify and assess skills needed for design interests, and develop specific plans to learn or refine them over time

Applied Technologies

  • Explore existing, new, and emerging tools, technologies, and systems to evaluate their suitability for their design interests
  • Evaluate impacts, including unintended negative consequences, of choices made about technology use
  • Analyze the role technologies play in societal change
  • Examine how cultural beliefs, values, and ethical positions affect the development and use of technologies

MediaSmarts Resources

Content

Students are expected to know the following:

  • design opportunities
  • design cycle
  • problem decomposition
  • structures within existing code
  • ways to modify existing code to meet a particular purpose
  • strategies to predict effects of code modification
  • pair programming
  • programming language constructs to support input/output, logic, decision structure, and loops
  • requirements of a problem statement
  • ways to transform requirements into algorithms
  • translation of design specifications into source code
  • tools to aid in the development process
  • pre-built libraries and their documentation
  • inline commenting to document source code
  • use of test cases to detect logical or semantic errors
  • computational thinking processes
  • appropriate use of technology, including digital citizenship, etiquette, and literacy

MediaSmarts Resources