Credits: 4 ROOM: W259 TIME: 8:30 - 10:20, TR
8:30 - 9:20, F
Instructor: Tommy Lu OFFICE: W271 TEL: (302) 573-5475
E-mail address: lu@.dtcc.edu Home Page: http://www.dtcc.edu/~lu
OFFICE HOURS: 13:30 - 14:30 Mondays
10:30 - 11:30, 14:30 - 15:30 Tuesdays
8:30 - 9:30 Wednesdays
15:30 - 16:30 Thursdays
9:30 - 10:30 Fridays
others by appointment
TEXT: "Data Structures Using C and C++, Second Edition", by Yedidyah Langsam, Moshe J. Augenstein, and Aaron M. Tenenbaum, Prentice Hall
COURSE OBJECTIVES: This course introduces abstract concepts such as arrays, stacks, queues, linked lists and trees. In addition to these basic abstract
concepts, searching and sorting, recursive programming are also introduced. Throughout various hands-on exercises, students will be able
to understand how data is arranged and organized in the computer memory for most efficient execution of program and algorithm development.
File processing is also included so that students can grasp concepts about secondary storage access methods.
College wide Core Course Performance Objectives
The student will be able to:
1. Define and explain the principle types of data structures, e.g., lists, arrays, tables, lists, stacks, queues, searching, sorting, recursion, etc.
(CCC 6; PGC 1, 10)
2. Construct and use data structures in programs and applications. (CCC 2, 5, 6, 7; PGC 1, 10)
3. Choose the most efficient or appropriate data structures for a particular task. (CCC 2, 5, 6; PGC 1)
4. Document and explain programs and applications created as a part of this course with particular emphasis on the data structures used in those programs and
applications. (CCC 2, 5, 6; PGC 1, 7, 10)
Measurable Performance Objectives
Upon completion of the course, students will be able to:
Describe and explain the representation and use of primitive data types and built-in data structures
Describe and illustrate how data structures are allocated and used in memory
Describe and illustrate common applications for each data structure in a high-level language
Implement user defined data structures in a high-level language
Compare and demonstrate the performance of alternative implementations of data structures
Describe and explain the costs and benefits of dynamic and static data structure implementations and, when given a case study, determine which data
structure is appropriate
Choose and implement the appropriate data structure for modeling when given a set of problem specifications. Use a tool to diagram the use of the
following data structures in a program: arrays, records, strings, linked lists, stacks, queues, and hash tables
Write programs using each of the following data structures: arrays, records, strings, linked lists, stacks, queues, and hash tables
Clearly, accurately and concisely walk class mates or the instructor through a program using one or more of the following data structures: arrays, records,
strings, linked lists, stacks, queues, and hash tables
PREREQUISITE: All pre-tech courses completed.
EVALUATIONS: based upon the following: tests, in class labs/works, homework assignments/projects, and learning attitude.
1. Tests: There will be four written tests including final exam. The highest three test scores will be used to calculate your final grade.
2. In class labs/works: Range from 10 to 100 points, depends on the difficulty. All in class labs/works are due either at end of the class or at beginning
of next class. So if you missed a class, please check with me as soon as possible to find out whether there is a class lab due.
3. Homework assignments/projects: 100 points each.
4. Homework assignments/projects: 57%
Tests: 40%
Learning attitude: 3%
Learning attitude includes class attendance (tardiness), participation and other subjective observations.
Grade: average 92 or above ---> A
average 83 or above but less than 92 ---> B
average 75 or above but less than 83 ---> C
average less than 75 but still attending classes ---> R
average less than 75 but stop attending classes ---> U
Class attendance is very important. If you have missed more than 25% of the class (12 contact hours) by October 30th, you will be automatically assigned a "U" grade. If you have missed more than 25% of the class (20 contact hours) by the end of the semester, you will not pass this course regardless of your average. Attendance will be taken at the beginning of the class and you will be marked absent if you were not in the class when the roll is called. If you missed a class, for any reason, please contact your instructor as soon as possible for any in-class exercise, homework assignment and material covered. No make-up test will be given and any missing test will be assigned zero.
If you have a question, please feel free to ask. Please do not let it skip. Everything you learn is building block for the next topic. Should you find yourself behind the class, please discuss it with me after the class and make an arrangement to catch up. Please don't wait until the last minute for it would be very difficult for both of us to work out plans.
Plagiarism is prohibited. All class exercises, homework assignments, and tests are individual work. Do your best but dont copy someone elses. Anyone found cheating would receive zero on that exercise, homework, or test.
All late assignments will be accepted with penalty:
within 1 day ------> 5 points
within 1 week ----> 10 points
within 2 weeks ---> 20 points
within 3 weeks ---> 30 points
No late assignments will be accepted after 3 weeks.
Please save all your graded tests, e-mail message about your assignment/project scores, homework assignments, and projects. Should there is any arguments about your final grade; this is your only proof.
All homework assignments/projects must be turned in at the beginning of the class. You are not allowed to do your homework/project during lecturing. You have to place your name, chapter number, and assignment number on the upper left-hand corner. This is a requirement.
Please refer to the campus Student Handbook for further information regarding grading policies, student policies, academic dishonesty policy, and student support services available.
1 - 8/23 Class policies, syllabus, e-mail
Chapter 1, 2
Project 1
Project 1b Demo
2 - 8/30 Chapter 2
3 - 9/6 Chapter 2
Project 3
Project 3 Demo
Project 3 Bonus 1 Demo
Project 3 Bonus 2 Demo
4 - 9/13 Chapter 3, 4
Test 1 (9/16)
5 - 9/20 Chapter 4
Project 4
Project 4 Demo
Project 4 Data File
6 - 9/27 Chapter 4
7 - 10/4 Chapter 5
Project 5
Project 5 Demo
Project 5 Bonus Demo
8 - 10/11 Chapter 5
Test 2 (10/14)
9 - 10/18 Chapter 5
10 - 10/25 Chapter 6
Project 7
Project 7 Demo
Project 7 Data File
11 - 11/1 Chapter 6, 7
12 - 11/8 Chapter 7
Test 3 (11/11)
13 - 11/15 Chapter 7
14 - 11/22 Chapter 7
Project 8
Project 8 Demo
Project 8 Bonus1 Demo
Project 8 Bonus2 Demo
15 - 11/29 Chapter 8
16 - 12/6 Chapter 8
Final exam (12/8)