This is an old revision of the document!


Topic Learning Objectives Priority

General Usage of Computer for Programming

concept of an “operating system”
use of ssh to access strauss

interpreter

interpreter vs. compilation

editor

shell

  • shell commands: cp, mv, rm, chmod, ls, cat, mkdir, rmdir, more

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;

  • relation to zero

conditionals (if, if/else, switch, ternary operator)

iteration

  • definite iteration (for loops, while loops)
  • indefinite iteration (while loops)
  • comprehensions (python)

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

  • constructor
  • str, repr

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