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 | ||
---|---|---|---|---|---|
Introduction | |||||
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
Grading
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.
/* THIS CODE IS MY OWN WORK, IT WAS WRITTEN WITHOUT CONSULTING CODE WRITTEN BY OTHER STUDENTS. Your_Name_Here */
An assignment will not be considered turned in without the comment.
Accommodations
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.