ECS 30: Introduction to programming and problem solving

Spring 2011


Syllabus and Class Rules

Homework

Discussed in Lectures:

Date Topics Covered Programs Discussed Reading (J&K) Handouts
3/28 Prerequisites test, Understanding the syllabus, Computer hardware, Programming languages, OSs   Ch. 1, 2 Unix Tutorial
3/30 Problems and Solutions, Algorithms vs Code, n! algorithm, Software engineering, First C program      
4/1 C program structure, main(), identifiers, variables, while loop distance.c    
4/4 if and if/else statement, EOF, UNIX: i/o redirection (<, >) ph.c, prereq.c Ch. 2
(skip 2.10)
 
4/6 Operators (arithmetic, logical, relational, assignment), operator precedence, data types,  stat.c Ch. 3 Operator precedence
4/8 for statement, ++/--, ?: UNIX: wc, find, grep   Ch. 3, 4 UNIX: wc,  find, grep
4/11 switch, break and continue, C Program standards primes.c,
series.c,
series2.c
Ch. 4 C Program Standards
4/13 putchar(), getchar(), Functions: parameters, arguments, return getcharex.c
stat_func.c
Ch 5
4/15 main(), Functions, call by value
UNIX: make
resistor.c
Makefile
  UNIX: make
4/18 First MIDTERM   Ch. 1-5.5
(skip 2.10)
Practice Midterm
Solutions
4/20 Functions: Recursion (based on Inductive Definitions) nfactr.c
fib.c
Ch. 5 http://en.wikipedia.org/wiki/Recursion
http://en.wikipedia.org/wiki/Tower_of_Hanoi
4/22 Hanoi Towers, Pre-processor, Macros tower.c
monte.c
Ch. 5
(skip 5.10)
 
4/25 Arrays as data type, Arrays of characters, Strings
Programs across files (UNIX: make revisited)
fourier.c
arraysearch.c
Makefile2
Ch. 6  UNIX: make
4/27 Linear and binary search, Passing arrays to functions, Multidimensional Arrays arraysearch.c
linbinsearch.c
matmult.c
Ch. 6  
4/29 String functions, string.h
Arrays and pointers, & and *
Pointers: constants, variables
stringpuzzle.c
length.c
Ch. 7 Pointer fun with Blinky video!
gdb tutorial
5/2 Arrays and pointers
Pointers: passing them to functions
ptrex1.c
ptrex2.c
Ch. 7  gdb tutorial
5/4 File I/O: FILE, fopen(), fclose(), fprintf(), fscanf(),
fputs(), fgets()
Pointers and arrays
stringcopy.c
phfile.c
Ch. 7, 2.10  gdb tutorial
5/6 Pointers & strings, Pointers & functions; UNIX: gdb   Ch. 7  gdb tutorial
5/9 Second MIDTERM   Ch.5.6-7.5
Ch. 2.10
Practice Midterm 2
Solutions
5/11 Ragged Arrays, malloc, free strcatex.c
raggedarray.c
Ch. 7.6, 11.1, 11.2
5/13 typedef, structures matrixd.c
complex.c
complex.h
Ch. 10 gdb tutorial
5/16Operations on structures, Assignment Ch. 10
5/18Pointers to structures, sorting: selection sort & qsort sort1.c Ch. 10,
Ch. 7.8-7.10
5/20qsort, Unions, Enumerated Types,
Pointers to functions
sort2.c, timer.c
structptr.c
Ch. 10
5/23 Command line arguments, Self-referential structs elephnt1.c
5/25 Linked lists and operations on them elephnt2.c
linkedlistops.c
Ch. 7.7,
Ch. 11.3
5/27Storage classes and Type Qualifiers
auto, extern, static; const, volatile
  Ch. 8
(skip 8.2, 8.4, & 8.8)
5/30 Labor Day, No class      
6/1Review     
6/8 FINAL EXAM  Practice Final
Solutions
Comprehensive, with emphasis on material from May 6 on.

One page of notes allowed.
3:30-5:30, 1322 Storer

Tutorials and Handouts