Python
Python is an easy-to-use general-purpose programming language.  It has some graphics tools--but unlike Matlab it is not intended to be primarily for scientific use.

On the PCs in the lab, to bring up the Python GUI (Graphical User Interface):
start->programs->faculty requested->Python2.5->IDLE Python GUI
This brings up the main GUI.    In the top menu, click on "file" then "new window".  This brings up a new window (as you'd expect) that's rather like Microsoft's Notepad, or like the window you've been using to edit your web pages.   You may see the GUI using different colors to highlight parts of your program.

Now--in this window we'll just have one line--so type the following:
print "hello!!"

then click on "run" on the top of the window, then click on "run module".  it will ask you if you want to save your program--do so, call it hello.py
Then watch what happens in your main GUI window.
>>>
hello!!                          [this appears in dark blue]
Python has done what you asked.
Now we'll try something a bit more advanced.  Open another window, or use the same one you just used.
Type the following:
name = raw_input("enter your name, please:")
print "hello,", name

Click on "run", etc as before.  In the main GUI window you'll see:
enter your name, please:  
Type in your name (or anything you want) and hit return.  Let's say you type in Fred
hello, Fred
appears.  Let's change the program line to
print "hello,", name, " you're a great person!!!!!"                 [note the blank before the "y"--why?]
Let's write a program to read in two numbers and print out the total:
numA = input("enter first number:")
numB = input("enter second number:")
print "the total is:", numA+numB
NOTE:  Python, like UNIX and LINUX, is case-sensitive:  numA and numa are DIFFERENT!
NOTE:  Python does character input through a raw_input command.  It does numeric input through a plain input command--it's very easy (speaking from experience) to get these confused.

numA, numB, and name are variables--they can hold any kind of value you want to put into them.  It is possible in Python (and Matlab) to have, say, a variable holding a character string and then a bit later to have it store an integer.  Some programming languages are "typed"--you must specify the kind of value a variable is going to hold.
-----------------------------------------------
basics:
name = raw_input("enter your name:")                       for character input
number = input("enter numeric value:")                     for numeric input
valueA = valueB * (valueC - valueD)                           general expressions
print "hello, ", name, " how are you doing?"            name is a variable here
if (value <= 100):                                                         if the condition is true, do the following
        a = b+c                                                               let the IDLE GUI do the indenting--hit return
if (value == 100):                                                       equals needs double "="'s  <, >, != not equal, etc
if(value < 10):
       a = value + 3
       b = 17
else:                                                                            if that condition was NOT true, do the following
      a = value -5                                    

for i in range(100):                                                    i starts at 0, continues while i < 100--i.e. does what's
                                                                                 in the loop 100 times
while (i < 100):                                                         stays in the loop so long as the condition is true--
                                                                                typically you have i = i +1 or the like in the loop
-------------------------------
documentation:
#this is ludwig snarf's program                         comments explain what's going on--they don't get executed.
------------------------------------------
graphics, etc
from Tkinter import *                                  this brings in the Tk graphics package for use
import random                                            this lets you use random numbers
import time                                                 this allows sleep(0.1), etc

For sample programs and other Python help:
the cs 100 web page--click on "course work examples"
my cs 100 pages

In the "course work examples" there are lots of sample programs.  Use your mouse to drag down and highlight the code, then click on "copy" under the edit menu at the top of the page.  Go to the Python
IDLE GUI, open a new window, and paste the code therein.  Then ask it to run--you can see what these
programs do.