Computer Programming 12

Problem Solving Basics

1.01H - Hello world!
1.02S - Survey lists
1.03S - Datatypes and tables
1.04H - Otto the Robot
1.05S - Hello Javascript
1.06S - Javascript events
1.07S - Creating charts - learning how to draw using draw.io
1.08H - Organizing problems - IPO, flowcharts, algorithms, ...
1.09S - Area of a circle - chunking problems
1.10S - Volume of a sphere - chunking problems and inputting numbers
1.11S - Ms. Pacman - an introduction to counting loops
1.12H - Calculating loops - using loops to do something useful due 25. March
1.13S - Hello color! - text formatting with CSS
1.14S - Defuse the bomb - using IF statements
1.15S - Keyboard control - enabling keyboard control
1.16H - Controlling motion - animating motion using keyboard control due 31. March
1.17S - Tae Kwon Do - store characteristic data in arrays and display it
1.18S - One dimensional arrays - basics of how to store and display array data
1.19S - Telling time - using arrays to interpret time information
1.20H - Build a clock - make a simple clock using arrays, date objects, and timers due 8. April
1.21S - Function pipelines - passing information in and out of functions gracefully
1.22H - Roll some dice - use loops, functions pipelines, and randomness to roll dice due 14. April
1.23S - Variable scope - when to declare variables in your program
1.24S - Qualities of a programmer - using objects to store and retrieve information
1.25H - Character generator - use objects and function pipelines to generate a character due 21. April
1.26S - Draw a maze - extract information from a two dimensional array to draw a map
1.27H - Draw the Ms Pacman maze - use complex data and function pipelines to draw a maze due 28. April

The Pacman Project

Part One: The user interface - due 7. May

  1. Understanding grids I: Positioning an image on a grid
  2. Understanding grids II: Positioning images precisely based on data structures
  3. Understanding grids III: Positioning images in a grid using widths and offset values
  4. Fine-tuning Ms Pacman's position: Using offsets to fine-tune placement
  5. Object Oriented Programming I: Object oriented programming with methods - an intro
  6. Object Oriented Programming II: Object constructors - using OOP to create multiple objects with the same methods

Part Two: Motion control - due 14. May

  1. How to keep Ms. Pacman from going through walls: Blocking and allowing movement with arrays

Part Three: Game play - due 26. May

Exam Project

Exam checklist and proposal
Sample exam project proposal [doc] - save as Exam-Proposal-LastName.doc
Printable Exam Checklist and Questions [pdf] [pub]
Claimed project ideas

Our Javascript reference sheet: [pdf] [pub]

Reference sites: W3Schools, Mozilla developers network

Special topics

Recursive functions - Functions that loop back on themselves
Complex data structures - Arrays of objects, anyone?
Student web space - public web pages for all of us!

Problem solving challenges

Customizing table cells with data
How Pac-Man’s Ghosts Think & Hunt [youtube]

Don't ask yet ... it's not out!

1.XXS - Color grid - using javascript with CSS, and nesting loops
1.XXS - Sieve of Eratosthenes - use arrays and loops to calculate prime numbers

Tools

The HTML, CSS, and JavaScript reference page

in-progress: sketches of the whole cpg program