Course Information


About this Course

CS 2110 (cross-listed as ENGRD 2110) is an intermediate-level programming course and an introduction to computer science. Topics include program design and development, debugging and testing, object-oriented programming, proofs of correctness and complexity analysis, recursion, and commonly used data structures and abstract data types. Java is the principal programming language.

You must have a working knowledge of basic programming and Java prior to taking CS2110. Official prerequisities are CS 1110 'Introduction to Computing Using Java', or CS 1130 'Transition to Object-Oriented Programming', or an equivalent course in Java or C++. To brush up, visit the CS 1130 web site. We strongly recommend going over the CS1130 material if you aren't completely sure you remember Java.

In CS 2110, you will learn about:

You will also get plenty of hands-on programming experience with Java, and learn about its flaws and limitations. You will also learn about the powerful features and the issues associated with Eclipse, the interactive development environment (IDE) we use.


Time and Location

Students are expected to attend all lectures and one recitation section per week. Section will cover some material not covered in lecture and provide an opportunity for questions on recent material, assignments, and exams. You must register for a section, but you may attend any section. However, we prefer that you select one and stay with it.


TR 10:10AM - 11:00AM Olin Hall 155

Recitation Sections

Day Time Room TA
Tu 12:20pm - 1:10pm HLS 306 Lydia
Tu 12:20pm - 1:10pm OLH 165 Akilesh
Tu 1:25pm - 2:15pm BRD 140 Mark
Tu 2:30pm - 3:20pm PHL 219 Thomas
We 12:20pm - 1:10pm HLS 306 Nick
We 1:25pm - 2:15pm BRD 140 Yinglei
We 2:30pm - 3:20pm HLS 110 Haocheng


Doug James Prof. Doug James
djames [at]

Teaching Assistants

The TAs teach recitation sections and assist with homework and exams. All TAs hold office hours, and we strongly encourage you to attend them if you have difficulties.

Mark Verheggen Mark Verheggen
mark [at]
Konstantinos Mamouras Konstantinos Mamouras
mamouras [at]
Nicholas Eng-Rohrbach Nicholas Eng-Rohrbach
nse6 [at]
Lydia Wang Lydia Wang
lw354 [at]
Akilesh Potti Akilesh Potti
avp39 [at]
James Feher James Feher
jkf49 [at]
Yinglei Adam Wang Yinglei Adam Wang
yw287 [at]
Haocheng Victor Shen Haocheng Victor Shen
hs454 [at]
Thomas Torng Thomas Torng
tlt58 [at]


In addition to TAs, there are a number of consultants. These are are undergraduates who have excelled in their coursework and are employed as graders and tutors. Consultants hold office hours in 360, and are always happy to help with Java and Eclipse issues. See the consultant schedule.

Sara Boccabella Sara Boccabella
snb42 [at]
Jared Claypoole Jared Claypoole
jjc385 [at]
Jeremy Cohen Jeremy Cohen
jrc352 [at]
Husam Eldawi Husam Eldawi
hme36 [at]
David Felty David Felty
djf242 [at]
Brian Finn Brian Finn
bgf25 [at]
Samuel Fischer Samuel Fischer
sef67 [at]
Amanda Gordon Amanda Gordon
akg56 [at]
Xiaoyue Guo Xiaoyue Guo
xg55 [at]
Matthew Hayes Matthew Hayes
mjh388 [at]
Jisun Jung Jisun Jung
jj329 [at]
Maxwell Klefstad Maxwell Klefstad
mk672 [at]
Ryan Kozierok Ryan Kozierok
rnk49 [at]
Ying Crystal Qin Ying Crystal Qin
yq37 [at]
Xue Rong Shane Soh Xue Rong Shane Soh
xs46 [at]
Rebant Srivastava Rebant Srivastava
rrs67 [at]
Kristen Tierney Kristen Tierney
kjt54 [at]
Darren Voon Darren Voon
dtv23 [at]
Joachim Valdez Joachim Valdez
jjv57 [at]
Xue Helena Wang Xue Helena Wang
xw92 [at]
Alvin Adrian Wijaya Alvin Adrian Wijaya
aaw39 [at]
Victoria Wu Victoria Wu
vw52 [at]
Limin Zhu Limin Zhu
lz98 [at]

Piazza Forum

The CS 2110 Piazza Forum is a public forum for discussing questions about the assignments. The course staff monitors this forum regularly, so this is a great way of getting help and interacting with the course staff. An extra advantage of using Piazza is that everyone else can benefit from your question as well.

If you know the answer to a question, feel free to post a reply yourself, but please avoid giving away any hints on the homework or posting any part of a solution. This will be considered a violation of Academic Integrity. Generally, rough algorithms or non-solution-specific code fragments are OK if you need them to illustrate a point.

Academic Excellence Workshops

There will be Academic Excellence Workshops (AEW) accompanying CS2110 this semester. AEWs offer an opportunity for students to gain additional experience with course concepts in a cooperative learning environment. Research has shown that cooperative and collaborative methods promote higher grades, greater persistence, and deeper comprehension. The material presented in the workshop is at or above the level of the regular course. We do not require joining the AEW program, but do encourage students to join if they are seeking an exciting and fun way to learn. The AEW carries one S/U credit based on participation and attendance. The time commitment is two hours per week in the lab. No homework will be given. This is a wonderful opportunity for students to seek extra help on course topics in a small group setting.

Your fellow undergraduate students, who are familiar with the course material, teach the sessions with material that they prepare. The course staff provides guidance and support but do not actually teach the AEW course content or any session. A representative from the AEW program will be speaking about the program and registration procedures in lecture.

See the AEW webpage for further information.

Times Offered

Tuesday 11:15AM - 1:10 PM Olin Hall 216
Friday 2:30PM - 4:25 PM Hollister Hall 401


All assignments and exams receive scores out of 100 points. The points roughly correspond to letter grades as follows.

92 - 100 A-, A or A+
82 - 88 B-, B or B+
72 - 78 C-, C or C+
50 - 68 D-, D or D+

For homeworks, your grader's comments will be posted on CMS. For exams, the comments are written directly on the exam. Graded prelims can be picked up in Upson 360 (opening hours Mondays - Thursday: noon - 4:00pm, Friday: 1:30pm - 4:00pm).

If an assignment is handed in late, we deduct 5 points for every 24 hours it is late. However, every student has a budget of 5 late days (i.e. 24 hour periods after the time the assignment was due) throughout the semester for which there is no late penalty. At some point CMS locks down and you can't hand the assignment in at all. Normally, this occurs after 3 days, but we may make an exception if the head TA feels that extra time is needed for some reason.

Your final numerical score will be a weighted combination of your scores for all required course work, and it will follow the same mapping to letter grades that was stated above. We reserve the right to change the relative weights.

To eliminate outlier grades for homework assignments and quizzes, the lowest grade is replaced by the second lowest grade in the final grade computation.

"CourseEval" is the University course evaluation. You get one point for participating. We get a list of people who fill it out, but the university keeps your responses anonymous. Similarly, we are conducting a "Survey" at the beginning of class to learn more about your background and interests.

Regrades Requests

Regrade Requests for Assignments and Prelims

General Regrade Policies

Academic Integrity

The utmost level of academic integrity is expected of all students. Please read the following carefully.

Course-Specific Academic Integrity Policies

You are responsible for understanding and abiding by these policies. It is no defense to say that you did not understand them, or that it was not done this way in another course. If you are ever in doubt about anything, ask.

If You Suspect a Violation...

...please contact a member of the course staff immediately. This is not a competition between students vs. faculty. We are all working together toward the same goal, to maximize the value of your educational experience. Violations of academic integrity only hinder this process. There is no honor in it, nor in protecting it. Your information will be held in the strictest confidence and you will not be asked to testify against your peers at an AI hearing.


Penalties for violations are assessed on a case-by-case basis. The penalty will usually be a grade penalty. It may be a point deduction, a negative score on the homework or exam, a grade reduction in the course, or failure in the course, depending on severity. Repeated offenses are automatically referred to the Academic Integrity Hearing Board and may result in suspension or expulsion from Cornell.

Special Needs

We provide appropriate academic accommodations for students with special needs and/or disabilities. Requests for academic accommodations are to be made during the first three weeks of the semester and must be accompanied by official documentation. Please register with Student Disability Services in 420 CCC to document your eligibility.