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.
More to come...
TA:
Yulin Li ,
Office Hours: TBD
         
yulinli@cs.utexas.edu
Messages from your TA
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.
Online by Contents or
Index.     
DO NOT print out the full set of slides on CS department printers.
Vocabulary
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. The files are described by
Program File Descriptions.
It is legal to use any of these files as part of your programs.
Goals of the Course:
- Understand the tools of the trade:
- Data Structures that allow certain operations on the data
to be done efficiently.
- Algorithms that perform operations and maintain the data
structure.
- Gain experience in using library packages
- the buy-versus-build decision
- Understand performance:
- Big O
- How to analyze a problem, design a solution, and estimate
the performance.
- How to analyze an existing design or program, spot the
performance problems, and fix them.
- Gain experience in other programming paradigms:
- Lisp
- MapReduce
- Hadoop and data-intensive parallel programming
Topics:
- Introduction: why we need clever algorithms and
data structures.
- Performance: Big O: how much time and storage is needed as
data sizes become large
- Some Lisp: (+ x 3)
- Lists and Recursion; Stacks and Queues
- Trees and Tree Recursion
- Using Library Packages
- Balanced Trees and Maps
- Hashing and randomization; XOR
- Priority Queues
- Sorting, Merge
- Graphs
- Map, Reduce, and MapReduce
Program Grading
Midterm Study Guide
and Example Midterm Questions
Final Exam Study Guide
and Example Final Exam Questions