CS 315: Algorithms & Data Structures


CS 315 covers methods for storing large amounts of data in data structures, the algorithms used to efficiently access and manipulate that data, and analysis of the performance of the algorithms.

TAs:

To get to ENS 31NQ: Take the elevator in ENS to the lower basement (LB). When doors open, exit right and keep going down the hallway. It will curve to the right and you'll come to ENS 31NR (on the left). Go through 31NR to a smaller room, which is 31NQ. There are six desks, marked 1 through 6.

Messages from your TA

Lab Proctors will be in the labs to help with programming projects:

TIP Tutor: For students in the TIP program, there is a tutor, Ms. Colleen Reyna, colleenreyna@gmail.com She is in PAI 4.28 from 5-7 PM on Thursdays, and can also take questions by email.

Syllabus

Text: Mark Allen Weiss, Data Structures and Algorithm Analysis in Java, 2nd Ed.; Amazon; Barnes & Noble.

Lecture Notes: Available in printed form in WEL 2.228. Buying the printed notes is strongly recommended so that you can take notes on them during class.
Lecture Notes by Contents or Index or PDF      DO NOT print out the slides on CS department printers.

Vocabulary

Discussion Board on Blackboard

Programming assignments will mainly be done in Java. All programming assignments must be your own individual work. Program files are provided, in the directory /projects/cs315/ or in the FTP directory for Program Files, ftp://ftp.cs.utexas.edu/pub/novak/cs315/ for use with the assignments. It is legal to use any of these files as part of your programs.

How to Turn in Assignments

  1. Timing and Big O
  2. Recursion and Lists
  3. More Recursion and Lists
  4. Merging and Stacks
  5. Java List Library
  6. Basic Trees
  7. Trees and Symbolic Algebra
  8. Patterns
  9. Memos and Drums
  10. Do You Know the Way to San Jose Muleshoe?
  11. MapReduce
    MapReduce Paper
    NYT Article on Hadoop
    Google Code University
    Hadoop

Goals of the Course:

Topics:

You can download Gnu Common Lisp for Linux or GCL for Windows or LispWorks for Mac.

Lisp is easier to use through the Emacs editor. Gnu Emacs can be dowloaded free, for Linux or Windows or Mac.

Song: "God Wrote in Lisp", Lyrics by Bob Kanefsky, sung by Julia Ecklar.

Midterm Study Guide and Example Midterm Questions

Final Exam Study Guide and Example Final Exam Questions

Gordon S. Novak Jr.