Who, Where, When

InstructorAsa Ben-Hur
Office: 448
Office Hours: Mon 2:30-3:30pm, Tue 2-3pm, Wed 1:30-2:30pm
TAsNathan Lindzey (lindzey at cs dot colostate dot edu)
Office: 235
Off hrs: Tue 3-5pm, Thu 3-5pm (in the Linux lab)
Erin Nagoshi (nagoshi at cs dot colostate dot edu)
Office: 235
Office hrs: Tue 2-3pm, Wed 1-2pm (in the Linux lab)
TutorsTue 3-5pm (John Herndon) 6:30-9:30pm (Ryan Moore)
Wed 1-3pm (John Herndon) 2-3 (Alex Norton)
Thu 2-3pm (Alex Norton) 6:30-9:30pm (Ryan Moore)
Fri 1-3pm (Alex Norton)
Sun 3-5pm (Alex Norton)
Lecture9:30-10:45pm TR at Micro A 101
RecitationWed 5:00-6:50pm
Thu 1:00-2:50pm
Thu 5:00-6:40pm
Fri 12:00-1:50pm
Fri 2:00-3:50pm
 All recitations are in comsc 215

Course objectives

A student completing this course should be able to:

  • Implement object oriented programs and understand the underlying principles such as encapsulation, abstraction and reuse.
  • Design and build more complex programs (multiple files and multiple objects) that solve non-trivial problems.
  • Design more efficient programs by understanding basic algorithms, analyzing their complexity and understanding how they are implemented in hardware and software.
  • Relate concepts from theory to programming and architecture, such as how recursion is implemented in the system, and when it is an appropriate programming technique.


  • Objects: creating, instantiating, basic operations
  • Inheritance, interfaces, exceptions, polymorphism
  • Induction and recursion
  • Mechanics of recursive programs; method invocation and activation records
  • Assertions
  • File IO
  • Sorting
  • Arrays, lists (dynamic arrays), and binary search
  • Counting
  • Binding and scope
  • Parameter passing
  • Graphical User Interfaces
  • Linked lists


CS160 or CS153 with a C or better; M124, M126 (both with a C or better).


Data Abstraction and Problem Solving with Java: Walls & Mirrors, 2nd edition
Frank M. Carrano and Janet J. Prichard

Discrete Mathematics and Its Applications, Sixth Edition
Kenneth Rosen

Your cs160 Java book:
Java: an introduction to problem wolving and programming, Fifth edition
Walter Savitch and Frank M. Carrano


Assignments    40%Programing and written assignments
Recitations10%Attending and completing labs
Midterms (2)20%
Final Exam20%Comprehensive

Note: in order to pass the class you need to have a passing grade for the average of the exams. There will be a programming exam as part of the final exam

Assignments will be done individually.

Quizzes will typically be given during one lecture class each week, except those weeks in which a midterm exam is being given. No makeups will be given for quizzes, but two quiz grades will be dropped.

Class participation is strongly encouraged. Students who ask or answer a question during lecture will be given a chit (maximum of one per student per class session). Three chits earned translate into 10 additional points on the next quiz.

The assignment of letter grades will be made as follows:

Letter Grade   Point Range
Fbelow 60

NOTE: We will NOT cut higher than these points (but may cut lower).

Late and Makeup Policy

Midterm and Finals: Make-up exams are only given in extraordinary circumstances (e.g., illness, death of family member). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Course examination dates are listed in the syllabus; be aware of them and plan accordingly.

No make-ups will be given for missed quizzes.

Programming assignments are to be submitted electronically using the checkin program. Always check the assignment page for due dates. Late assignments submitted within 48 hours of the time required (or otherwise specified) will receive a 20% late penalty. Electronic submission is closed 48 hours after assignments are due (or as otherwise specified); students not having submitted programs receive an automatic zero on the assignment.

Written assignments are to be submitted in class. These may be handwritten, but must be legible. The instructors and TAs reserve the right to decide whether or not a paper is legible. Late assignments are accepted in class on the first MWF after the original due date, and will receive a 20% late penalty.

Assignment will be returned within 5 working days of the end of the late period.

Important Dates

First Midterm: TBD

Second Midterm: TBD

Final Exam: Dec 16th 9:10am-11:10am

All exams are in the same room as the lecture.

Course withdrawal date:

Professional Conduct

All students are expected to conduct themselves professionally. We assume you are familiar with the policies in the student information sheet.

Additionally, you are (beginning) computing professionals, so you should be familiar with the code of conduct for the primary professional society, the Association for Computing Machinery (ACM).

You MAY discuss assignments but the work you turn in must be your own.

We work to maintain an environment supportive of learning in the classroom and laboratory. Towards this end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, TAs and tutors). In particular:

  • Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
  • If you plan to use a laptop during class, please sit at the back of the classroom and turn off any sound from the machine. The tap-tap of the keyboard and the images showing on a screen can be distracting to those sitting around you. Also, be aware if you IM during class, that giggles, snorts or other reactions to what you are reading can be heard by the class and instructors and may be completely inappropriate with what is going on in the classroom.
  • Laptops and other personal computing devices must be shut during exams and quizzes.