Fundamentals of Computer Science I

CS 2500, Spring 2014

  • Homepage
  • General
  • Texts
  • Syllabus
  • Assignments
  • Labs
  • Blog
  • Advice



Syllabus

The table below is your guide to the entire semester. It lists topics and reading assignments on a week-by-week basis. In the second column you find the lecture dates.

The readings column is linked to the relevant book’s web site. You can find the required readings there.

You are primarily responsible for the readings not the content of the lectures though the latter will help you understand the former. The weekly problem sets, the quizzes, and the exams will cover the reading material.

WeekDayTopic Reading
1 2e: Prologue
01/06why cs; arithmetic of numbers, strings; admin stuff
01/08arithmetic of images, functions, simple big-bang
01/09arithmetic of booleans, conditionals in functions
2 2e: I:1-5.1
01/13intervals and conditionals
01/15 enumerations and conditionals
01/16structure type definitions, Posn
3 2e: I:5.2-7
01/20MLK day
01/22designing programs: 6 steps, tests
01/23the universe of data, structures, functions on structures
4 2e: int.:BSL, II:9-10
01/27unions of strings, numbers, structures; functions on unions
01/29self-referential unions, russian dolls, functions on russian dolls
01/30lists and functions on lists
5 2e: int.:quote, II:11-14, I:3.6
02/03non-empty lists and functions, structures in lists
02/05lists in structures
02/06design of a list-based world program, 1; Exam 1 (6-8pm)
6 2e: III:16-18
02/10design of a list-based world program, 2
02/12design of a list-based world program, 3
02/13similarities in functions
7 2e: III:19-20
02/17Presidents' Day
02/19 abstraction over similar functions
02/20abstraction over similar functions: design
8 2e: IV:22-24
02/24similarities in DD, abstracting over DDs, signatures
02/26existing abstractions and using them
02/27more on using loops
9 2e: IV:25
03/10lambda and scope
03/12sets
03/13S-expressions, functions over S-expr
10 1e: V:25-27, 2e: IV:26-27
03/17trees and forests
03/19trees and forests: functions, design
03/20 processing 2 complex arguments; Exam 2 (6-8pm)
11 1e: V:28, VI:30
03/24merge sort
03/26graphs
03/27graph traversal
12 1e: VI:31-33
03/31generative recursion
04/02generative recursion
04/03speed from accumulators
13
04/07 accumulators
04/09BSL interpreter
04/10BSL interpreter; Wrap-up
14
04/14Exam 3 (in-class)


*Note: the instructors reserve the right to change the order of topics or dates if necessary.