ITEC 220
PRINCIPLES OF COMPUTER SCIENCE II
- Catalog Entry
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.
- Detailed Description of Content of Course
This course emphasizes the design and implementation of solutions to problems which require complex data structures. The topics include:
Programming Fundamentals
- multi-dimensional arrays
- recursion
Java Topics
- interfaces and abstract classes
- applets
- applications
- inner classes
Graphical User Interface
- events
- listeners
- components
Data Structures
- stacks
- queues
- vectors
- lists
- binary tree concepts
- binary search tree concepts
Recursive 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 Structures
Language Topics
- linked structures
- recursion
- exceptions
Recurring Theme
- Analysis of Algorithms
Topics listed above are recommended by the ACM Curriculum Committee and covered in many texts.
- Detailed Description of Conduct of Course
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.
- Goals and Objectives of the Course
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.
- Assessment Measures
Students will be evaluated based on several major programming assignments and examinations.
- Other Course Information
None.
- Review and Approval
DATE ACTION APPROVAL
September 2001 Updated John P. Helm, Chair |