top of page

Why Learn C ?

 

For those of you with a programming background...

 

We're using C with the students because:

 

  • they don't have to deal with the complications and abstractions of objects with something like java

  • don't have to immediately deal with functions or pointers or memory manipulation

  • they have an easy gateway to C++ which covers most application software and game software

  • most embedded stuff is C only

  • easy gateway syntactically to perl, python, ruby, php, JavaScript, etc...

  • much scientific computing is Perl, Python or C

  • operating systems and systems programming are still exclusively C

  • everything has a c library

  • things like c#, .net, vb, objective c are not significantly multiplatform

  • Basic and other languagues that are designed for kids provide too little opportunity to teach more sophisticated concepts, and will lack ability to do interesting things

 

We have a set of 25 micro-lessons that little by little introduce concepts, usually getting them to build a working program at each step. At each step, we tell them less and less exactly what to do, and instead give them hints.

 

Computer science books are usually not appropriate at this age. We feel that for most kids the easiest way to learn programming is by example and modifying existing code.  Kids can learn to manipulate a printf() statement to make it do what they want, without having to immediately learn about functions, arguments, scalars, or any theories about passing by value or reference.  That can be introduced incrementally afterwards.   The fun of having the computer print out 100 times "I am a computer" can be done in the first hour, and then 2 minutes later they've learned to have it print "I am a very bad computer" and make it meow at random.

 

Never underestimate how much fun making your computer meow can be for a kid.

 

Scratch and Python

For the younger kids, we'll use scratch, a graphical language that teaches logic and building blocks, along with Python, a scripting language as well.

 

 

READ MORE INFO

Read biographical information about our instructors.

QUESTIONS / REGISTER

For more information or registration information, please click the button below to go to our contact page.

bottom of page