
ITEC 220
PRINCIPLES OF COMPUTER SCIENCE II
ITEC 220. Principles of Computer Science II
Three hours lecture, two hours lab (4).
Prerequisite: ITEC 120 (Grade of “C” or better).
Continuation, from ITEC 120, of the development of a disciplined approach to programming, with emphasis on data abstraction.Students who have received credit for CPSC 124 may not receive credit for ITEC 220.
This course emphasizes the design and implementation of solutions to problems which require complex data structures. The topics include:
Programming Fundamentals
- multi-dimensional arrays
- recursionJava Topics
- interfaces and abstract classes
- applets
- applications
- inner classesGraphical User Interface
- events
- listeners
- componentsData Structures
- stacks
- queues
- vectors
- lists
- binary tree concepts
- binary search tree conceptsRecursive Sorting and Searching Concepts
- quicksort
- mergesort
- binary search (arrays and trees)OO Topics
- objects
- references
- classes, methods, fields
- instance v.s. class members
- inheritance
- polymorphism
- peristence* serialization
* marker interfaces- overriding
Software Engineering
- Problem solving
- Software Analysis and Design
- Testing and debugging
- Documentation and program structure
- UML
- encapsulation
- Abstraction and Data StructuresLanguage Topics
- linked structures
- recursion
- exceptionsRecurring Theme
- Analysis of Algorithms
Topics listed above are recommended by the ACM Curriculum Committee and covered in many texts.
Program examples for some problems will be introduced by the instructor, students will then be required to finish some projects for problems similar to those discussed in classes.
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.
1. To introduce more advanced principles of computer programming and problem solving.
2. To teach algorithm and program development and construction techniques that make use of abstraction, information hiding and more advanced data structures.
3. To provide a foundation for further studies in information technology.
Students will be evaluated based on several major programming assignments and examinations.
None.
DATE ACTION APPROVAL
September 2001 Updated John P. Helm, Chair