ACSU/CS 2110
CS 2110 | |
---|---|
Number | CS 2110 |
Offered | Every semester |
Prerequisites | CS 1110, CS 1112, or AP credit |
Historical median | B |
Workload | Moderate (5 to 8 hrs/wk) |
This is the second course in the introductory computer science sequence. It teaches basic computer science topics including sorting and searching, asymptotic complexity, recursion and data structures. Almost all material in this course is used in later courses or interviews.
Typically taught by David Gries and one other CS professor, this class forms the core of many CS topics and forms the basis of general CS knowledge. Many 4000 level courses will have this class as their highest requirement. A very large portion of programming interviews use material from this class.
This class has a lighter amount of work compared to other CS classes. There are seven projects which can be completed with a partner. There are two prelims and an optional final. Grades in homeworks are typically very high (~90) while prelim grades follow a normal distribution (average between 65 and 75). This means that prelims are weighted heavily when deciding grades, so study up.
Notes: This course does assume some programming experience (at the level of CS 1110), but the majority of students will not have background in Java.
Contents
General Information
Easy-ish required course.
Prerequisites
Any intro to CS 111x
Topics Covered
- Classes/Objects
- Interfaces/Abstract Classes
- Static/Dynamic typing in Java
- Recursion
- Grammars/Parsing
- Lists
- Trees
- GUI
- Asymptotic Complexity
- Sorting Algorithms
- Generic Types
- Stacks
- Queues
- Heaps
- Graphs
- Induction
- Some concurrency
Workload
A few hours a week depending on your coding experience. Usually you get around two weeks per project. Two prelims and one final. The tests are usually very similar to previous years.
Very light. The assignments take a few hours each, except the last one, which can take a while if you didn't pay attention in the graph theory lectures.
General Advice
If you know you're wicked serious about CS, and/or you're a masochist, consider doing 2112 instead.
If you have a reasonable familiarity with Java programming and the Java API, consider 2112 instead. The first several weeks are spent introducing inheritance, static typing, and recursion.
Do not buy the textbook.
You get out of this class the effort that you put in. You could coast through this class with almost no effort, and get barely anything out of it. Or, as you learn about the various data structures, take the extra effort and implement them yourself. The course material is a source of many interview questions for internships, and having an intimate (and mostly self-learned) knowledge of it can be very rewarding.
If you are concerned about how you will do in this class (CS major or not), then consider signing up for an AEW (Academic Excellence Workshop). These are workshops led by students that have done well in the class in previous semesters, and give you considerable exposure to the material without risk of a lower grade because it is pass/fail.
You can also consider signing up for CS 2111, which is the Java Practicum. The practicum supplements lecture and recitation material.
One other thing to take note of is that the final for this course in past years is OPTIONAL, and will likely continue to be optional. The only additional material covered in the final compared to prelims 1 and 2 is a little bit of concurrency.
Testimonials
The workload is very fair. Work at assignments a bit every day and you will have no issue getting through them.
When you are in it, the class seems boring as hell... although you don't realize how important the material is until you get to interviews.
This class is super important. Don't get lulled into a false sense of security by the seeming lack of work - the projects can sneak up on you. Also, you'll get the most out of this class if you practice data structure questions on your own time . Cracking the Coding Interview is right at the level of this class for most chapters.
Past Offerings
{:.past-offerings} | Semester | Time | Professor | Median Grade | Course Page | | --- | --- | --- | --- | --- | | Fall 2016 | TR 10:10 - 11:00 AM | Michael George and David Gries | B | http://www.cs.cornell.edu/courses/cs2110/2016fa/ | | Spring 2015 | TR 10:10-11:00 AM | Siddhartha Chaudhuri and David Gries | B | http://www.cs.cornell.edu/courses/CS2110/2015sp/ | | Fall 2013 | TR 10:10 - 11:00 AM | Ken Birman and David Gries | B+ | http://www.cs.cornell.edu/courses/CS2110/2013fa/ | | Spring 2013 | TR 10:10 - 11:00 AM | Ken Birman and David Gries | B | http://www.cs.cornell.edu/courses/CS2110/2013sp/ |