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 UPS 211 Konstantinos
Tu 12.20pm - 1.10pm HLS 320 Gary
Tu 1.25pm - 2.15pm HLS 320 Diego
Tu 1.25pm - 2.15pm UPS 109 Adith
Tu 3.35pm - 4.25pm UPS 315 Jeremy
We 12.20pm - 1.10pm PHL 307 Sara
We 12.20pm - 1.10pm UPS 111 Limin
We 1.25pm - 2.15pm UPS 215 Jong Hwi
We 1.25pm - 2.15pm UPS 109 Haocheng
We 2.30pm - 3.20pm UPS 215 Sarah


Thorsten Joachims Prof. Thorsten Joachims
tj [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.

Adith Swaminathan Adith Swaminathan
adith [at]
Konstantinos Mamouras Konstantinos Mamouras
mamouras [at]
Jong Hwi Lee Jong Hwi Lee
jl658 [at]
Sarah Bouwman Sarah Bouwman
stb54 [at]
Diego Accame Diego Accame
daa67 [at]
Gary He Gary He
gh269 [at]
Haocheng Victor Shen Haocheng Victor Shen
hs454 [at]
Jeremy Cohen Jeremy Cohen
jrc352 [at]
Limin Zhu Limin Zhu
lz98 [at]
Sara Boccabella Sara Boccabella
snb42 [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.

Andrew Casey Zhe Ran Susan Duan
zd32 [at]
Andrew Casey Andrew Casey
acc248 [at]
Benjamin Jaeger Benjamin Jaeger
bgj9 [at]
Harris Karsch Harris Karsch
hck32 [at]
James Feher James Feher
jkf49 [at]
Jisun Jung Jisun Jung
jj329 [at]
Kristen Tierney Kristen Tierney
kjt54 [at]
Lydia Wang Lydia Wang
lw354 [at]
Mehmet Mihmanli Mehmet Mihmanli
msm267 [at]
Michael Cho Michael Cho
mhc76 [at]
Nikhil Nathwani Nikhil Nathwani
njn27 [at]
Ryan Kozierok Ryan Kozierok
rnk49 [at]
Samuel Fischer Samuel Fischer
sef67 [at]
Yinglei Adam Wang Yinglei Adam Wang
yw287 [at]
Yiyi Chen Yiyi Chen
yc523 [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.


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.