Information Technology 324
ITEC 324. Principles of Computer Science III
Prerequisites: ITEC 220 with a grade of “C” or better.
Credit Hours: (3)
Continuation, from ITEC 220, of the development of a disciplined approach to programming with emphasis on data abstraction.
Note(s): Scientific and Quantitative Reasoning designated course.
Detailed Description of Content of Course
Topics include:
1. Object-oriented design
2. Guidelines for class design
3. Design patterns
4. GUI programming and moving shapes
5. Inheritance and abstract classes
6. Interface types
7. Polymorphism
8. Multithreading
9. Data structures: heaps and binary search tree
10. Sorting and searching: quicksort, mergesort, heapsort, shell sort, and radix sort
11. Recursion: implementing recursive algorithms
12. Analysis of algorithms
Detailed Description of Conduct of Course
Program examples for some problems will be introduced by the instructor, and students will then be required to complete projects that solve problems similar to those discussed in class.
Students will progressively learn more advanced techniques such as algorithm design and development, data structures, and the application of software engineering methods from the lectures and programming exercises.
Goals and Objectives of the Course
Students who complete the course will be able to:
1. Analyze quality of a class design as well as design and implement software using an object-oriented approach with various artifacts such as use cases, CRC cards, and UML diagrams.
2. Design and use interfaces and implement a program that uses polymorphism.
3. Identify a pattern that applies in a problem solving situation and use a pattern to solve a software design problem.
4. Design and implement a multithreading program.
5. Analyze and implement recursive searching and sorting algorithms including quicksort, mergesort, heaps, and binary search using an appropriate data structure.
6. Analyze algorithms in terms of a big-Oh notation.
Assessment Measures
Students will be evaluated based on several major programming assignments and examinations.
Other Course Information
None.
Review and Approval
October 30, 1996 New course proposal Edward G. Okie, Chair
Sept. 25, 2001 Updated John P. Helm, Chair
Feb. 17, 2003 Updated John P. Helm, Chair
Sep. 27, 2007 Change number from 224 Art Carter, Chair
Revised: June 1, 2012
March 01, 2021