Course Syllabus
Meetings: MWF 10:20 AM - 11:20 PM, Olin 305
Instructor: Peter Drake
Teaching Assistant: Maggie Dreyer
Text: Sedgewick and Wayne, Introduction to Programming in Java: An Interdisciplinary Approach
Google group: 16sp-cs-172-01@lclark.edu
Link to Policies
Overview
Computer Science II introduces object-oriented programming, data structures, and more sophisticated algorithms than you saw in CS1.
In terms of the ACM’s Computer Science Curriculum 2013, this course addresses the following knowledge areas:
- Algorithms and Complexity (AL)
- Discrete Structures (DS)
- Programming Languages (PL)
- Software Development Fundamentals (SDF)
- Software Engineering (SE)
Learning Objectives
Upon completing the course, you should be able to:
- read and write code in the Java programming language, observing stylistic conventions.
- design and implement object-oriented software systems incorporating both new code and existing libraries.
- solve computational problems using recursion.
- use, implement, explain, and compare various data structures and algorithms. Data structures include stacks, queues, lists, sets, trees, and graphs. Implementations include array-based and linked versions. Algorithms include binary search, insertion sort, merge sort, and depth- and breadth-first search.
Java Practice
The most important thing you can do is get more practice writing code. Here are some sites that provide automated exercises:
Course Summary:
| Date | Details | Due |
|---|---|---|