| Class Hours: 3.0 | Instructor: |
| Laboratory Hours: 3.0 | Office No.: |
| Credit Hours: 4.0 | Phone No.: |
| Revised: July 2007 | Email: |
| This course is designed for transfer credit. |
II. COURSE OBJECTIVES:
Week Chapter Topic 1 W1, S1-5 Introduction, Review of C: Arrays, Strings, Pointers, Pointer Arithmetic, Indirection, Double Indirection, Functions, Arguments and Scope of Variables, Prototypes, Program Structure, Make Files 2 S1-5 Review of C, Command Line Arguments 3 S1,17 Structures, Typedef, Dynamic Memory Allocation 4 W3 Lists, Stacks, Queues, Static and Dynamic Lists 5 W3, S7 Doubly Linked Lists, In-memory Conversion 6 W4 Overview of Algorithm Complexity, Binary trees, Tree Traversals, Insertions and Deletions 7 W4 AVL Trees 8 → Exam 1 9 W4 Splay Trees 10 S9 Advanced File I/O, Record I/O, Exam II 11 S9 Random Access, System Level I/O, Pointers to Functions 12 W5 Hashing, Binary Heaps, Sorting 13 S7 Enumerated Data Types, Unions, Bitwise Operators 14 W4 B-Trees 15 → Final Exam
III. INSTRUCTIONAL PROCESSES:
- Demonstrate proficiency in the C programming languages. III, VI, VII, IX, XI
- Demonstrate use of advanced C programming statements and be able to use these statements in writing a large program. III, VI, VII, IX, XI
- 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
- Demonstrate use of various searching and sorting methods and select most efficient algorithm. III, V, XI, XII
- Demonstrate use of various data structures in writing a large program with C. III, V, X, XI, XII
- Write well-structured programming code using divide-and-conquer method. II, III, V, VI, VII, IX, X, XI, XII
- Use recursive techniques to solve problems. V, VI, IX
Students will:IV. EXPECTATIONS FOR STUDENT PERFORMANCE:
- Create a complex software package which implements multiple data structures. (Communication , Technological Literacy, Transitional Strategy, Active Learning)
- Examine and implement algorithms that are efficient and reliable. (Technological Literacy, Transitional Strategy, Active Learning)
- Use professional tools to produce software components and documentation. (Technological Literacy, Transitional Strategy, Active Learning)
- Participate in a software development team. (Communication, Transitional Strategy, Active Learning)
- Participate in a peer review of term projects. (Communication, Transitional Strategy, Active Learning)
- Use professionally accepted methods and materials in completion of applications. (Technological Literacy, Transitional Strategy, Active Learning)
Upon successful completion of the course, the student should be able to:V. EVALUATION:
- Learn the syntax and semantics of C programming languages. A
- Utilize advanced C programming statements in large programs. B
- Understand simple data types, arrays, structures and unions. B
- Understand implementation of abstract data structures via pointers. B, C
- Understand links, stacks, queues, linked-list and binary tree searching. C
- Understand trees and tree traversal. C
- Understand recursive functions. C, D
- Understand various sorting and searching techniques. D
- Understand hashing techniques. D
- Understand heaps and their applications. D
- Write a large program using various data structures. E, F
- Use recursion as an alternative to linear solutions. A, B, C, G
- Use make files to manage projects. F
VI. POLICIES:
- 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.
- Laboratory Expectations:
Lab attendance is required. Assignments will be given and must be completed and handed in at the designated date and time.
- Field Work:
None is required.
- Other Evaluation Methods:
Class participation, quizzes and homework will also comprise the final grade for the course.
- Grading Scale:
93 – 100 A 88 – 92 B+ 83 – 87 B 78 – 82 C+ 73 – 77 C 65 – 72 D Below 65 F
- 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.]
- Academic Dishonesty:
Plagiarism, cheating, and other forms of academic dishonesty are prohibited. Students guilty of academic misconduct, either directly or indirectly through participation or assistance, are immediately responsible to the instructor of the class. In addition to other possible disciplinary sanctions which may be imposed through the regular Pellissippi State procedures as a result of academic misconduct, the instructor has the authority to assign an F or a zero for the exercise or examination or to assign an F in the course.
- 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.
- Accommodation for Disabilities:
If you need accommodations because of a disability, if you have emergency medical information to share, or if you need special arrangements in case the building must be evacuated, please inform the instructor immediately. Please see the instructor privately after class or in his/her 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 Goins 127 or 131 or by phone: 694-6751(Voice/TTY) or 539-7153.