CSC 314 Data Structures

A survey of fundamental 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.

 
   
   
Prerequisite
 

CSC 214 and CSC 224 with a grade of C- or better


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:

  • Overview of Java
  • Running Time
  • Stacks, queues, and linked lists
  • Sequences
  • Trees
  • Priority queues
  • Dictionaries
  • Sorting
  • Graphs

 

Textbook
 

[C++]Goodrich and Tamassia, Data structures and Algorithms in C++
Text URL: http://www.datastructures.net/
You can find useful information about the course materials, code fragments, etc.


Course Requirements  

Grading

  • 10%:  Class quiz and participation
  • 20%:  6 written homework assignments
  • 30%:  4 programming assignments 
  • 15%:  One midterm exam
  • 25%:  Final exam

The following grade scale will be used (no curve is applied):

 A+ = 97.0 - 100.0

A = 93.0 - 96.9

A- = 90.0 - 92.9

 B+ = 87.0 - 89.9

B = 83.0 - 86.9

B- = 80.0 - 82.9

 C+ = 77.0 - 79.9

C = 73.0 - 76.9

C- = 70.0 - 72.9

 D+ = 67.0 - 69.9

D = 63.0 - 66.9

D- = 60.0 - 62.9

F = < 60.0

Assignments

There will be 6 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, .doc, or .txt).

There will be four programming projects. They require the implementation of data structures and an application to use them.

Exams and Quizzes

All exams are in-class and closed book.

There will be one or two quizzes per class. These quizzes deal with exercise questions on the topics we discuss typically in the same class.

 

View Lecture  

Engineering Online uses Real Media software to distribute the course lectures. To view the following sample lecture, you will need to download RealOne Player and have a Cable, DSL, T1 or faster connection to the Internet. If you have problems viewing a lecture, please contact the Engineering Online office at 1-877-254-0058. Click the link below to download RealOne Player.

8.22 MB

Note: If you are behind a firewall, there is a chance you will not be able to access the files.

Click link to view lecture: CSC 314 - Lecture 1


Computer and Internet Requirements  

NCSU has recommended minimum specifications for computers used for classes. Depending on your computer needs, we recommend your computer meet or exceed the following minimum specifications below.

PCs must have an Intel-compatible 1 GHz processor, 512 MB RAM, 60 GB hard drive with 1 GB free space available, 256 Color Display, CD-ROM drive, 1024x768 (min.) video adapter, sound card, and speakers. The operating system should be Windows XP Pro. Real One Player Basic (available free online) and high speed Internet connection such as cable, DSL, T1 or LAN will be required for EOL courses.

MAC users must have a G4 processor with firewire and USB factory built-in, 512 MB RAM, 60 GB with 1GB free space available, 256 Color Display, CD-ROM drive, 1024x768 (min) video adapter, sound card, and speakers. The operating system must be MacOS 10.4 (minimum) along with the above RealOne and Internet specifications above.

For more detailed information on computer specifications and recommendations, please refer to our website at: http://engineeringonline.ncsu.edu/currentstudents/computeraccess.htm

 

Instructor  

Dr. Injong Rhee, Associate Professor
Department of Computer Science
Box 8206, EB II Room 3268
890 Oval Drive
North Carolina State University
Raleigh, NC 27695-8206

Phone: 919-515-3305
Fax: 919-515-7896
Email: rhee@ncsu.edu
Home page: http://www.csc.ncsu.edu/faculty/rhee