PELLISSIPPI STATE COMMUNITY COLLEGE
MASTER SYLLABUS

DATA STRUCTURES
CSIT 1400

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
88 – 92 B+
83 – 87 B
78 – 82 C+
73 – 77 C
65 – 72 D
Below 65 F

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:
College-owned or –operated computing resources are provided for use by students of Pellissippi State.  All students are responsible for the usage of Pellissippi State’s computing resources in an effective, efficient, ethical and lawful manner.  (Pellissippi State Catalog)

 

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.