CS 171 Introduction to Computer Science II, Spring 2012

Lecture: TuTh 2:30-3:45pm MSC W303

Web: http://www.mathcs.emory.edu/~cs171000
Mailing List: cs171000-list AT mathcs DOT emory DOT edu
Share Directory: /home/cs171000/share

Instructor: Li Xiong (lxiong @ emory.edu)
Office Hours: TuTh 5:15-6:15pm at MSC E412 or by appointment
TA: Amy Shannon (ashann2 @ emory.edu)
Office Hours: MWF 9:30-10:30am at MSC E308 (Computing Lab)

Overview

This course is a continuation of CS170. Emphasis is on the use and implementation of data structures, fundamental algorithms with introductory algorithm analysis, and object oriented design and programming with Java.

Textbook

Algorithms, Fourth Edition, Robert Sedgewick and Kevin Wayne

Prerequisites

CS170 or equivalent

Programming Assignments/Projects

Programming assignments/projects will involve designing, coding, testing and debugging non-trivial programs based on a written specification. There will be (about) 6 individual programming assignments and 2 team projects. Programming assignments must be completed individually although you are welcome to discuss general principles and concepts about the assignments with other students (and the instructor and TA!). You will work on projects in a team of up to 2 students. You will be able to work on your programs in the Math/CS Lab (E308 MSC) and from computers in your dorm or home.

Exams

We will have a midterm and a final exam that will test your conceptual understanding of the material and will require some attention to programming details. Questions will be a mix of filling in the blanks, multiple choices, and short answers. They will sometimes require you to write or analyze short bits of code. Practice exams and study guides will be made available prior to each exam and solution keys will be provided after the exams.

Grading

Your grade will be determined by a weighted average of all the graded items. Grades will be curved (up) so that the class mean falls at least in a B range. Although the numerical grade you receive for each assignment and exam will be a raw uncurved score, you will be given the class median and mean so that you may gauge where you stand.



Component Weight

Programming assignments/projects50
Midterm20
Final25
Quizes5
Score Grade

93-100 A
90-92.9 A-
87-89.9 B+
83-86.9 B
80-82.9 B-
77-79.9 C+
73-76.9 C
70-72.9 C-
67-69.9 D+
60-66.9 D
0-59.9 F

Late Policies

All exams must be taken promptly at the required time. Requests for rescheduling a midterm exam will only be considered if the request is made at least a week prior to the exam date. Final can not be rescheduled.

You have 2 late assignment allowances, each can be used to turn in a single late assignment within 3 days of the due date without penalty. Beyond this allowance, late assignment will be accepted within 3 days of the due date and penalized 10% per day. No extensions will be given. Please note on the assignment if you wish to use the late assignment allowance.

The above policies will be waived only in an "emergency" situation with appropriate documentation.

Honor code

All class work is governed by the College Honor Code and Departmental Policy. No collaboration is allowed on programming assignments unless you are asked to do a group assignment. Talking to other students about general concepts or programming features is OK but you should not look at anyone else's code or allow anyone else to look at your code prior to submission. If you feel dazed and confused just stop by office hours. We can get you back on track! 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_
    */

Enjoy yourself and good luck!