Computer Science @ PENN

java 1.5 api | java 1.4.2 api | slashdot | webmail | wikipedia
upenn.edu | directories | portal | van pelt library
seas.upenn.edu | engineering library
computer graphics & game dev (SIGGRAPH) | dining philosophers (DP) | science & tech wing (STWING) | women in cs (WICS)
CETS Answers |

CIS121 Spring 2012
Syllabus

The course will cover the following topics. See lectures for additional information.

  • Elements of software engineering; object-oriented design, testing.
  • Design patterns.
  • Asymptotic complexity, big-oh notation, code and pseudocode analysis.
  • Stacks, queues, lists.
  • Sorting algorithms.
  • Priority queues and heaps.
  • Tree traversals, iterators.
  • Search trees, balanced trees.
  • Hash tables.
  • Graphs, depth-first and breadth-first search.
  • Weighted graphs, shortest paths (Dijkstra's algorithm), minimum spanning trees (Kruskal's algorithm).
  • Digraphs, DAGs, topological sorting, transitive closure.
  • Introduction to UNIX.
  • Introduction to relational databases.