MA 3172: Computer Programming

Subject Area
Credits 1
Years
1
Level
High School

This year-long course is designed to introduce students to the fundamentals of programming using a variety of tools. Although students may have had previous computer experience, no programming knowledge is assumed. Students will be introduced to problem-solving and programming concepts using Alice, a three- dimensional graphics-oriented programming environment. Through Alice, students will be introduced to the object-oriented computer programming paradigm used by many modern programming languages.

Prerequisites

Algebra I (MA 3130) or Algebra I Honors (MA 3220)

Storyboard

Computer Programming

Essential Questions:  How do we  design and implement robust and efficient programs? How does the  process of testing, debugging, and refining code contribute to more reliable and functional programs?

Title

Down the rabbit hole

e

Lost in Translation: 

From Alice to Java

f

Getting out of sticky situations

f

The final show  

f

Focus of the Story

How does block based coding teach the princpals of object-oriented programming? Through Alice, we start our journey  meeting Larry and  assisting him in his triumphant return to his circus by applying computer science principles in a block based coding language. 

What changes nust we account for when programming in another language?  We continue our journey with Larry, as he meets up with old friends. We learn to translate Alice programs into Java and apply our knowledge in a text-based programming language.  

How do  functions and arrays expand the capabilities of a computer program?  We continue Larry’s story as he  helps his friends out of sticky situations. By utilizing arrays and functions to streamline  our code, we develop interactive features to help Larry’s friends solve their problems.

How can we demonstrate oevolution as a c programmer?  In the end, Larry  must gather  all his friends, meet them at the circus, and  say goodbye.  Through this final project,  we test our skills and knowledge learned throughout the course.

Transfer Goals

  • Explore: Make sense of the world logically by asking questions and making connections through inquiry.
  • Explain: Communicate logical thinking by justifying algorithms using multiple representations while attending to precision. 
  • Analyze: Investigate, formulate, and construct viable arguments by taking risks, persevering, and thinking flexibly.  
  • Apply: Utilize effective strategies, processes, and tools to model new situations and/or real-world experiences.

Learning Targets

  • I can trace the development of programming languages and use the internet responsibly and appropriately.
  • I can design, test, and debug an algorithm to solve a problem. 
  • I can declare, write, and call a custom procedure.
  • I can write code for 3D graphics animation.
  • I can use animation techniques including importing  and reuseing saved procedure code.
  • I can use a variable limit value in a for loop, use a Boolean expression, and call a custom procedure with arguments.
  • I can implement if/else control structures using the design process.
  • I can create a custom function and call a built-in input function.
  • I can write code to iterate through an array.
  •  I can access a specific item in an array, sort an array, and  write and call a procedure with or without  an array parameter.
  • I can use a keyPress listener with a “combine” multiple event policy to create a game in Alice.
  • I can design an Alice program using the Final Project instructions.

Computer Programming: Assessment Matrix

Title

Unit

Rich Tasks:

Learning Target

 

Unit 0 : Research Project

Group Research Project

  • I can trace the development of programming languages and use the internet responsibly and appropriately.

Unit 1: Design, Implement, & Test

Unit 1 Project

Unit 1 Project Rubric

  • I can design, test, and debug an algorithm to solve a problem. 

Unit 2: Procedures & Loops

Unit 2 Project #1 (pg. 95)

Unit 2 Project Rubric

  • I can declare, write, and call a custom procedure.

 

Unit 3: Stepwise Refinement, & Inheritance

Unit 3 Project

Unit 3 Project Rubric

  • I can write code for 3D graphics animation.

Unit 4: Data Types, Variables, & Expressions

Unit 4 Project

Unit 4 Project Rubric

  • I can use animation techniques including importing  and reuseing saved procedure code.
  • I can use a variable limit value in a for loop, use a Boolean expression, and call a custom procedure with arguments.

 

Unit 5: Events, Conditions, and Functions

Unit 5 Project

Unit 5 Project Rubric

  • II can implement if/else control structures using the design process.

Unit 6: Functions, Loops, and Randomness

Unit 6 Project

Unit 6 Project Rubric

  • I can create a custom function and call a built-in input function.

Unit 7: Arrays, Functions, & Sorts

Unit 7 Project

Unit 7 Project Rubric

  • I can write code to iterate through an array.

Unit 8: Arrays, Functions, & Sorts

Unit 8 Project

Unit 8 Project Rubric

  • I can access a specific item in an array, sort an array, and  write and call a procedure with or without  an array parameter.

 

Unit 9: Event Driven Programming

Chapter 16 Project (pg. 455) Epilogue Capstone Project (pg. 46).

  • I can use a keyPress listener with a “combine” multiple event policy to create a game in Alice.

Final Project

Final Project

Final Project Rubric

  • I can design an Alice program using the Final Project instructions.