|
PELLISSIPPI STATE COMMUNITY COLLEGE |
|||||||||
|
DATA STRUCTURES |
|||||||||
|
Class Hours: 3.0 |
|
Credit Hours: 4.0 |
|
||||||
|
Laboratory Hours: 3.0 |
|
Revised: Fall 09 |
|
||||||
|
NOTE: This course is designed for transfer
credit. |
|
||||||||
|
Catalog Course
Description: |
|
|
|||||||
|
|
Advanced problem solving
and algorithm development, structured programming, data structures and applications,
I/O techniques, lists, queues, trees, algorithms, and files. Program
development using UNIX operating system. This course is intended for university parallel students. |
||||||||
|
Entry Level Standards: |
|
|
|||||||
|
|
The student is expected to
be proficient in C programming components taught in CSIT 1020. These include
functions, arrays, string handling, argument passing, indirect addressing and
elementary file I/O. The student is also expected to have a working knowledge
of the Unix operating system, a Unix-based editor such as vi or emacs and C
program development in the Unix environment. The student must have math,
writing, verbal and English language skills at the college level. |
||||||||
|
Prerequisite: |
|
|
|||||||
|
|
CSIT 1020 or
department approval |
||||||||
|
Textbook(s) and Other
Course Materials: |
|
||||||||
|
Required: |
|||||||||
|
Loudon, Kyle, Algorithms With C, O’Reilly; 1999 |
|||||||||
|
Recommended: |
|||||||||
|
Kochan, Stephan, Programming In C; 3rd..
Edition, Developer’s Library, 2005. Kernighan, Brian & Rob Pike; The Practice of Programming; Addison-Wesley, 1999 |
|||||||||
|
I. Week/Unit/Topic
Basis: |
|
|
|||||||
|
|
Week |
Topic |
|||||||
|
|
1 |
Introduction, Review of
C: Arrays, Strings, Pointers,
Functions, Arguments and Scope of Variables, Program Structure, I/O with
printf and scanf |
|||||||
|
|
2 |
I/O with printf and scanf,
Pointer Arithmetic, Indirection, Double Indirection, Prototypes, Program
Structure. |
|||||||
|
|
3 |
String functions. |
|||||||
|
|
4 |
Elementary File I/O, Make
Files, Command Line Arguments |
|||||||
|
|
5 |
Structures, Typedef,
Dynamic Memory allocation |
|||||||
|
|
6 |
Lists, Stacks,
Queues, Static and Dynamic Lists |
|||||||
|
|
7 |
Doubly Linked Lists,
In-memory Conversion with ssprintf and sscanf |
|||||||
|
|
8 |
Overview of Algorithm
Complexity, Binary trees, Tree Traversals, Insertions and Deletions |
|||||||
|
|
9 |
Mid-term Exam |
|||||||
|
|
10 |
AVL Trees |
|||||||
|
|
11 |
Splay Trees |
|||||||
|
|
12 |
Hashing, Binary Heaps,
Sorting, Pointers to Functions |
|||||||
|
|
13 |
Enumerated Data Types,
Unions, Bitwise Operators |
|||||||
|
|
14 |
B-Trees |
|||||||
|
|
15 |
Final Exam |
|||||||
|
II. Course Objectives* |
|
|
|||||||
|
|
A. |
Demonstrate proficiency in
the C programming language. III VI VII IX XI |
|||||||
|
|
B. |
Demonstrate use of advanced
C programming statements and able to use these statements in writing a large program.
III VI VII IX XI |
|||||||
|
|
C. |
Demonstrate knowledge of
data abstraction, specification, refinement and implementation, understanding
of specific structures such as lists, stacks, queues, linked-lists, hash tables
and binary trees. III IV XI XII |
|||||||
|
|
D. |
Demonstrate use of various
searching and sorting methods and select most efficient algorithm. III V XI
XII |
|||||||
|
|
E |
Demonstrate use of various data
structures in writing a large program with C. III V X XI XII |
|||||||
|
|
F. |
Write well-structured
programming code using divide-and-conquer method. II III V VI VII IX X XI XII |
|||||||
|
|
G. |
Use recursive techniques to
solve problems. V, VI, IX |
|||||||
|
*Roman numerals after
course objectives reference goals of the CSIT program. |
|||||||||
|
III. Instructional
Processes*: |
|
|
|||||||
|
Students will: |
|
|
|
||||||
|
|
1. |
Create a complex software package
which implements multiple data structures. Communication Outcome, Technological Literacy Outcome,
Transitional Strategy, Active Learning |
|||||||
|
|
2. |
Examine and implement
algorithms that are efficient and reliable. Technological Literacy Outcome,
Transitional Strategy, Active Learning |
|||||||
|
|
3. |
Use professional tools to
produce software components and documentation. Technological Literacy
Outcome, Transitional Strategy, Active Learning |
|||||||
|
|
4. |
Participate in a software development
team. Communication Outcome, Transitional Strategy, Active Learning
Strategy |
|||||||
|
|
5. |
Participate in a peer
review of term projects. Communication Outcome, Transitional Strategy,
Active Learning Strategy |
|||||||
|
|
6. |
Use professionally accepted
methods and materials in completion of applications. Technological
Literacy Outcome, Transitional
Strategy, Active Learning |
|||||||
|
*Strategies
and outcomes listed after instructional processes reference TBR’s goals for strengthening
general education knowledge and skills, connecting coursework to experiences
beyond the classroom, and encouraging students to take active and responsible
roles in the educational process. |
|||||||||
|
IV. Expectations for Student Performance* |
|
|
|||||||
|
Upon
successful completion of this course, the student should be able to: |
|||||||||
|
|
1. |
Learn
the syntax and semantics of C programming language. A |
|||||||
|
|
2. |
Utilize
advanced C programming statements in large programs. B |
|||||||
|
|
3. |
Understand
simple data types, arrays, structures and unions. B |
|||||||
|
|
4. |
Understand
implementation of abstract data structures via pointers. B, C |
|||||||
|
|
5. |
Understand
links, stacks, queues, linked-list and binary tree searching. C |
|||||||
|
|
6. |
Understand
trees and tree traversal. C |
|||||||
|
|
7. |
Understand
recursive functions. C, D |
|||||||
|
|
8. |
Understand
various sorting and searching techniques. D |
|||||||
|
|
9. |
Understand
hashing techniques. D |
|||||||
|
|
10. |
Understand
heaps and their applications. D |
|||||||
|
|
11. |
Write
a large program using various data structures. E, F |
|||||||
|
|
12. |
Use
recursion as an alternative to linear solutions. A, B, C, G |
|||||||
|
|
13. |
Use
make files to manage projects. F |
|||||||
|
*Letters
after performance expectations reference the course objectives listed above. |
|||||||||
|
V. Evaluation: |
|
|
|||||||
|
|
A.
Testing Procedures: |
||||||||
|
|
A
minimum of two tests is recommended. Tests will cover material
presented in class. Tests are not to be missed without a valid excuse. |
||||||||
|
|
B.
Laboratory Expectations: |
||||||||
|
|
Lab
attendance is required. Assignments will be given and must be completed and
handed in at the designated date and time. |
||||||||
|
|
C.
Field Work: |
||||||||
|
|
N/A |
||||||||
|
|
D.
Other Evaluation Methods: |
||||||||
|
|
Class
participation, quizzes and homework will also comprise the final grade for
the course. |
||||||||
|
|
E.
Grading Scale: |
||||||||
|
|
93
– 100 A |
||||||||
|
VI. Policies: |
|
|
|||||||
|
|
A.
Attendance Policy: |
||||||||
|
|
Pellissippi
State Technical Community College expects students to attend all scheduled
instructional activities. As a minimum, students in all courses must be
present for at least 75 percent of their scheduled class and laboratory
meetings in order to receive credit for the course. [NOTE: No
differentiation is noted for excused/unexcused absences. These will be
treated as an absence.] (Pellissippi State Catalog) |
||||||||
|
|
B.
Academic Dishonesty: |
||||||||
|
|
Academic
misconduct committed either directly or indirectly by an individual or group
is subject to disciplinary action. Prohibited activities include but are not
limited to (Pellissippi State Catalog): ·
Cheating,
including but not limited to unauthorized assistance from material, people,
or devices when taking a test, quiz, or examination; writing papers or
reports; solving problems; or completing academic assignments ·
Plagiarism,
including but not limited to paraphrasing, summarizing, or directly quoting
published or unpublished work of another person, including online or
computerized services, without proper documentation of the original source ·
Providing
others with information and/or answers regarding exams, quizzes, homework or
other classroom assignments unless explicitly authorized by the instructor ·
Taking an exam
for another student |
||||||||
|
|
C.
Accommodations for disabilities: |
||||||||
|
|
Students
who need accommodations because of a disability, have emergency medical information
to share, or need special arrangements in case the building must be evacuated
should inform the instructor immediately, privately after class or in her or
his office. Students must present a
current accommodation plan from a staff member in Services for Students with
Disabilities (SSWD) in order to receive accommodations in this course.
Services for Students with Disabilities may be contacted by going to Goins134
or 126 or by phone: 694-6751(Voice/TTY) or 539-7153. More information is
available at www.pstcc.edu/departments/swd/ |
||||||||
|
|
D.
Other Policies: |
||||||||
|
|
Computer
Usage Guidelines: |
||||||||
|
|
E. Other Policies: Students
are expected to promptly attend all lecture and lab classes. If a class is
missed, it is the student’s responsibility to make up all work and get notes
and/or handouts. In the event that a student has an emergency beyond his/her
control, he/she must notify the instructor as soon as possible. |
||||||||