This is an old revision of the document!
General Usage of Computer for Programming
concept of an “operating system”
use of ssh to access strauss
interpreter
interpreter vs. compilation
editor
shell
basic html and chmod to create simple web pages
directories
command line arguments
parts of the computer (computer organization)
registers,cache,ram,disk
Programming Constructs
expressions
statements
data types
variables
functions
* recognize function calls * design recipe * write function using design recipe * distinguish betweeen function header, body, and call. * distinguish between actual and formal parameters/arguments * return value * parameters * nested * recursive * parameter default values * optional args * lambda * doc strings (python)
assignment statements
operators, and operator precedence
truth values, boolean expressions, logical operators;
conditionals (if, if/else, switch, ternary operator)
iteration
lists/arrays
dictionaries (python)
structs
pass-by-reference-value vs. pass-by-value
addresses
pointers
recursion
constants
simple file I/O
pre-defined function libraries, including testing library
strings, and string functions
classes
functional decomposition
scope linear search binary search sorting: either selection or insertion sort; either merge or quicksort finding min, max, count, sum, average of a sequence of data values
(from either an input file or an array).
menu driven programs linked lists
optional: DeMorgan's law binary, hex, octal, decimal number systems structured programming (sequence, selection, and repetition are sufficient, goto not needed. Bohm and Jacopini, Dijkstra letter).
resources: http://docs.python.org/tutorial/controlflow.html#intermezzo-coding-style