OSU-CS162
From
- CS 162 – Introduction to Computer Science II
Catalog Description: Basic data structures. Computer programming techniques and application of software engineering principles. Introduction to analysis of programs. Lec/lab.
Credits: 4 Terms Offered: Fall, Winter, Spring
Prerequisites: CS 161 and MTH 231* (MTH 231 may be taken concurrently)
Courses that require this as a prerequisite: CS 261
Structure: Three 50-minute lectures per week, and one 110-minute laboratory per week
Course Content:
• Software quality factors
• OOP principles
• Algorithm analysis
• Java Collections API (stacks, queues, priority queues, linked lists, vectors, arrays, maps)
• Recursion
• Sorting algorithms
Measurable Student Learning Outcomes:
At the completion of the course, students will be able to…
1. Design and implement programs that require
a. multiple classes, structures
b. hierarchies of classes that use inheritance and polymorphism
c. an understanding of abstraction, modularity, separation of concerns, and exception handling
(Level 4; ABET Outcomes: b, C, I, k)
2. Construct and use basic linear structures (arrays, stacks, queues, and various linked lists) in programs, and be able to describe instances appropriate for their use. (Level 4; ABET Outcomes: A, B, C, I, K)
3. Classify moderately complicated algorithms in these complexity classes:
O(1), O(log n), O(n), O(n log n), and O(n2) (Level 3; ABET Outcomes: A, J)
4. Develop test-data sets and testing plans for programming projects (Level 4; ABET Outcomes: A, c, I, K, L)
5. Produce recursive algorithms, and choose appropriately between iterative and recursive algorithms. (Level 3; ABET Outcomes: A, j)