CSCI 333 Data structures, Fall, 2008 Dr Boyd

CSCI 333 is the third course in UNCA's CSCI software sequence. It assumes CSCI 201 and 202 as a prerequisite and builds on the concepts introduced in those courses. Although the title of this course is Data Structures, we now use it to cover Algorithms rather than Data Structures. The coverage of data structures in CSCI 202 is now good enough that we no longer need a second data structures course.

Our text, Algorithms in C, Third edition , by Robert Sedgwick, first covers the fundamentals of algortithm design with emphasis on understanding the efficiency of algorithms (big O and all that), then reviews the basic data structures that are needed to support a wide range of searching and sorting algoritms. Then it covers, in much more depth, a wide range of sorting and seaching algorithm. Many of these algorithms are recursive, so we will spend some time reviewing recursion.

You've seen the underlying structures (arrays, strings, linked lists, and multiply linked lists) in CSCI 202. Now we will cover them in more depth and learn to treat them as Abstract Data Types. i.e. data types defined by the operations that can be performed on them rather than by how they are implemented.

This is a programming course, and many of your assignments will be to design, code, and implement programs in C. At UNCA, we cover the basic of C in CSCI 255, and we will do a refresher course on programming in C as part of 333. Although 255 is not a prerequisite for 333, C programming is.

Go to source code from our text

Grading: Quiz each week, based on the homework assigned for that week - 20%
Programming assignments given as part of homework assignments - 20%

And
Two test (17% each) - 34% (first test during Ch 5, second after Ch 10)
Final Exam - 26% - comphrehensive

Grading Scale 90-80-70-60.

My office is RH 024. My office hours are 1:00 - 2:30 Wednesday. For other times please send me email (boyd@cs.unca.edu) or call me at my office during my office hours at 232-5162 or leave a message with the CSCI secretary at 251-6446. Email is best.


Homework assignments - P indicates programming assignment to be emailed to boyd:

Hmwk #1 Ch 1 # 1-7

Hmwk #2 Ch 1 # 22 P, Ch 2 #2, 5, 8, 12 P, 21

Hmwk #3 Ch 3 # 1, 2, 6, 14 P (output like fig 3.2), 27, 48 P

Hmwk #4 Ch 3 # 50, 52, 57 P, 64 P

Hmwk #5 Ch 4 # 9, 13, 14, 26, 51 P

Hmwk #6 Ch 5 # 9 P, 14 P, 17 P, 25 P

Hmwk #7 Ch 6 # 4, 16 P, 26, 30 P, 33

Hmwk #8 Ch 7 # 9, 13, 17, 23 P, 24 P, 41
As of #8, programs must be commented. Comments will count as 20% of the grade.

Hmwk #9 Ch 8 # 1, 2, 3, 4, 11 P, 12, 13, 14

Hmwk #10 Ch 9 # 17, 21, 28 Ch 10 # 3, 16, 36 P

Hmwk #11 Ch 12 # 16, 18, 26 P, 48 P