CMSC 10500 - Fundamentals of Computer Programming I
Fall 2005
Syllabus


Date Topics HtDP Assignment
September 26 Administrivia; Introduction, algorithms, read-eval-print, numbers, expressions, programs 1-2.4  
September 28 Programs, Atoms/symbols, Composing functions, Program design 2.5-3
September 30 Symbols, Strings, Special forms, Substitution model 3,5  
October 3 Booleans, relational operators, cond 4  
October 5 Structures, compound data, constructors, selectors, data definitions 6 Homework 1 out
October 7 Compound data, data definitions, design, syntax, semantics 7,8  
October 10 Data types, syntax and semantics, Lists and list abbreviations,
constructor (cons), selectors (first, rest)
7,8,9  
October 12 Self-referential data definitions, lists of symbols, lists 9,11,13 Homework 1 Due in class
Homework 2 out
October 14 Processing lists of symbols, structures and lists, natural numbers 10,11,12,13  
October 17 Structures and lists, random numbers, composing functions, sorting 10,11,12  
October 19 More self-referential data definitions, trees, structures in structures   Homework 2 Due in class
Homework 3 out
October 21 Structures in structures, trees, binary search trees 14  
October 24 BSTs, lists in lists 14,15  
October 26 General lists, evaluating Scheme 15 Homework 3 Due
Homework 4 out
October 28 Midterm    
October 31 Self-referential data defs, merge 15,17  
November 2 Iterative refinement, equality and testing 16,17 Homework 4 Due
Homework 5 out
November 4 Iterative refinement, every-nth 16,17  
November 7 Scope, local definitions 18  
November 9 Scope, local 18 Homework 5 Due
Homework 6 out
November 11 Scope, local, definitions 18,19  
November 14 Higher order functions 19,20,21  
November 16 Functions as values 20,21,22 Homework 6 Due
Homework 7 out
November 18 Functions that return functions 20,21,22  
November 21 Higher order functions, lambda 22,24  
November 23 Graphs, backtracking 28 Homework 7 Due
Homework 8 out
November 25 Thanksgiving Holiday      
November 28 Review   Homework 8 Due  
November 30 Second Test