CS 171 - Introduction to Computer Science II

Course Overview

A continuation of CS 170, and sometimes referred to as intermediate programming in Java. The focus of the class is the use and implementation of data structures, introductory algorithm analysis, and object oriented design and programming with Java.

Prerequisites: CS 170

Schedule (Tentative)

# Date Topic Assignments
1 8/23 Overview & Course Logistics
2 8/29 Java Review
3 8/31 Arrays
4 9/5 ArrayLists Homework 1
5 9/7 Objects
6 9/12 Inheritance
7 9/14
8 9/19 Stacks
9 9/21 Queues Homework 2
10 9/26 LinkedLists
11 9/28
12 10/3 Homework 3
13 10/5 Algorithms
14 10/12 Basic Sorting
Midterm Week
15 10/17 Review
16 10/19 Midterm
17 10/24 Recursion
18 10/26
19 10/31 MergeSort
20 11/2 Quick Sort
21 11/7 Symbol Tables / Binary Search
22 11/9
23 11/14 Hash Tables
24 11/16 Introduction to Graphs
25 11/21
26 11/28 Graphs: Digraphs & Dijkstra's Algorithm
27 11/30 Graphs: Prim's Algorithm
28 12/5 Review

Course Logistics

  • Piazza: All announcements, assignment clarifications, and slide corrections will be posted on Piazza. Make sure to check the site on a regular basis.
  • Office Hours:
    • Joyce Ho: M 1:30 PM - 3:30 PM, W 9:30 AM - 12:00 PM @ MSC W414
  • Textbook
    • (Required) Algorithms (4th Edition), by Robert Sedgewick and Kevin Wayne


Your grade will be determined by a weighted average of all the graded items. Grades may be curved (up) so that the class mean falls at least in a B range. The class median and mean for each assignment and exam will be announced so you have an idea where you stand. The participation element consists of short bi-weekly quizzes (unannounced), monthly surveys (on Piazza), and class coding questions (on Canvas).

Component Weight
Programming Assignments 35%
Project 15%
Midterm (10/19 10:00-11:15 AM) 15%
Final (12/13 3:00-5:30 PM) 25%
Quizzes & Participation 10%

Assignments and Exams Policy

  • Assignment & Project:
    • Involve designing, coding, testing, and debugging programs.
    • Must be completed individually.
    • Assignments will be accepted up to 24 hours late with a penalty of 10%.
    • Assignments turned in after 24 hours will receive no credit.
  • Exam:
    • The midterm must be taken at the required time.
    • Rescheduling the midterm is not permitted except in emergencies with appropriate documentation from OUE.
    • The final cannot be rescheduled under any circumstance.

Honor Code and Collaboration Policy

All class work is governed by the College Honor Code and Departmental Policy. It is acceptable and encouraged to discuss assignments with other students. However, all code should be written by yourself. Any code and writeup that is found to be similar is grounds for an honor code investigation.

Every program assignment must have the following comment included at the top of the file.


An assignment will not be considered turned in without the comment.


The Department of Mathematics and Computer Science at Emory supports equal access for students with disabilities. Any students needing special accommodations due to a disability should speak with someone in the Office of Disability Services and arrangements will be made.