redhathigh

 

Programming

Page history last edited by andy@... 2 yrs ago

Programing Course Ideas

 


 

What are we trying to do

 

Introduce the kids to the idea of using computers to solve problems or create applications that will provide some fun for the kids.

 

How we are going to try and do it

 

It has been proposed that we would use Google Gadgets since the kids can learn javascript and still do some decent programming. This seemed reasonable since it is relatively platform independant.

 

Kids should be able to store their work online via http:.//pages.google.com.  Its free and easy to set up, and offers the raw online storage we need.  They'll just have to sign up for a google account if they don't already have one.

 

Curriculum progress

 

Inital test gadget

 

I played around with gadgets a little and created one that will use the quadradic formula to find roots of a quadradic function. The example can be found here:

 

 

 

It can be added to your personalized google page and then you can use it to cheat on tests when your teacher will let you use a computer in class ;-)

 

Other application ideas.

 

Please post other application ideas here. If I can mostly write them in a few hours we can use them as longer term projects for the students.

 

  • Something that would work with google maps to create an intersting app, but I'm not sure that it totally useful or difficult enough to be interesting. Some sort of chat/location app might be cool. Using something like this would be helpful to determine a users location:

 

 

 

I'd love to come up with something better -- maybe even something that will put some geocaches on a map to try and find -- could be an activity that would be fun during 'down-time'

 

  • I'd like to port my c-based sudoku solver to javascript and use a UI like the one described here:

 

 

 

  • A Tic Tac Toe Game (perhaps vs. computer or online player if time/infrastructure permits)
  • A port of the fortune program (http://en.wikipedia.org/wiki/Fortune_(program)) Perhaps with enhancements to let you add your own fortunes to a shared db
  • Grade Tracker (Given a syllabus with weighted avgs. for assignements, let students track their course average, and required scores on tests to achieve target averages)
  • Simon Says/memory game
  • Online Poll taking toolbox
  • Magic 8-Ball Gadget

 

What we are going to teach

 

Tentaive Schedule

 

Day 1

  1. Intro to Programming Concepts -- doing things in a step-wise fashion.
  2. Some demos of gadgets that were already written.
  3. Getting everyone a google account and have them run and possibly modify their first gadget.
  4. Quick HTML lesson if needed.  Can store static content on their google pages account

 

Day 2

  1. Learning practical programming basics
  2. Understanding algorithms, using tictactoe as an example http://people.redhat.com/nhorman/google_gadgets/tictactoe.xml
  3. Modifying algorithms to fix specific goals (beating different autonomous players)
  4. Comparing algorithms (playing tictactoe against one another head to head with competing algorithms)

 

Day 3

  1. Writing/Modifying gadgets. Possibly 'grade tracker' as long as much of the infrastructure is done already. Making the kids do the math part would be helpful.
  2. Talk about how web-based apps can be used to push data to the gadgets.
  3. Talk about HTML as expressed via the DOM.  Draw relations from static html elements provided on day 1 to dyanmic creation of those elements via Javascript

 

Day 4

  1. Write a rot-extension gadget - minimal infrastructure done for the kids - and have the kids try to decrypt messages.
  2. Possible talk about recursion when you get multiple levels.
  3. Talk about pre-shared keys that can encrypt and decrypt messages and have them try and decrypt.

 

Day 5

  1. Continuation of encryption stuff
  2. Presentation of projects.

 

Profit!

 

Possible Additional Gadgets

  • Simple Text Encryption -- Something that could allow 'secure' communication similar to the way rot13 works.  This is a great programming example because its a simple to understand algorithm and computers can easily do the tedious work for you.

 

 

Comments (0)

You don't have permission to comment on this page.