|CSC 316 Data Structures|
abstract data types along with efficient implementations for each. Emphasizes asymptotic running time as a measure of program performance. Lists, stacks, queues, sparse arrays, binary trees, heaps, balanced search trees, and hash tables. Illustrative applications such as graph, text-processing, or geometric algorithms. 3 credit hours.
CSC 216 Programming Concepts - Java and CSC 226 Discrete Mathematics with a grade of C or higher (if you do not meet these requirements, please consult with the instructor). Students are expected to know JAVA and the course does not teach you how to program in JAVA.
|• Course Topics|
The purpose of this course is to introduce the principles of data structures that allow one to store and collect data objects with fast updates and queries. The course topics include the following:
|• Course Requirements|
There will be 5 written assignments. Written assignments are mostly exercise and reinforcements of what we learn in the class period and should be doable within 4-5 hours. All students have to post their solutions through submit in PDF or ASCII file (.pdf or .txt).
There will be four programming projects. They are regarding implementation of data structures and an application to use them. We are currently considering four data structures to be implemented, but we may change them. These include:
Stack and Queue
In doing these assignments, we emphasize object oriented concepts. Your job is to strictly follow the specification to the teeth. It might look onerous to do the assignment as specified in the assignment, and you might find a better more efficient way to accomplish the assignments. But you can only try a new way only after you finish the implementation according to the specification. In this class, we don't teach you object-oriented programming, but we require you to practice what you learn from the prerequisite.
Also no test cases will be given for programming assignments. It is your job to test your programs thoroughly.
All exams are closed book. All the exam schedules are posted through the course webpage.
Goodrich and Tamassia, Data structures and Algorithms in JAVA, 5th Edition, ISBN: 9780470383261
|• Computer and Internet Requirements|
NCSU and Engineering Online have recommended minimum specifications for computers. For details, click here.
|Dr. George N Rouskas, Professor
Engineering Building II(Eb2) 3-278, Box 8206
Raleigh, NC 27695
Web Site: http://rouskas.csc.ncsu.edu/
Class Web Site: http://rouskas.csc.ncsu.edu/Courses/316/