CSC 316 Data Structures for Computer Scientists

Abstract data types; abstract and implementation-level views of data types. Linear and branching data structures, including stacks, queues, trees, heaps, hash tables, graphs, and others at discretion of instructor. Best, worst, and average case asymptotic time and space complexity as a means of formal analysis of iterative and recursive algorithms. 3 credit hours.

 
   
   
Prerequisite
 

CSC 216 and CSC 226 with a grade of C- or better, CSC Majors of CPE Majors

(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 Objectives  

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
 

[JAVA]Goodrich and Tamassia, Data structures and Algorithms in JAVA, 4th Edition
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 or two 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 316 - 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