CIS 211 Data Structures
Section 401
Fall 2005
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 don’t copy someone else’s. 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)