This is the home page for CMPSCI 187. CMPSCI 187 is the second course in programming for undergraduate computer science majors and deals with the design, use, and analysis of important data structures, implemented in Java.
This course uses the Moodle course management system, and many elements of course content are available there, to registered students only. The Moodle main page will be here once it is available, shortly before the start of term.
Instructor Contact Info: David Mix Barrington, 210 CMPSCI building, 545-4329, office hours for Fall 2014 Tue 11-1, Wed 12-1, Fri 2-3 I generally answer my email fairly reliably.
Mark Corner, email here.
TA Contact Info:
If you have a question that either I or any of the TA's might answer, please use the Student Questions forum on the Moodle site.
TA info: Bruno Castro da Silva, Melissa Frechette, Nick Jacek, Gene Levitzky.
The course is primarily intended for undergraduates in computer science and related majors such as mathematics or computer engineering. CMPSCI 121 (an introduction to Java programming) is a prerequisite. There is no formal mathematics prequisite but readiness for MATH 131 (Calculus I for scientists and engineers) is recommended.
The course satisfies the R2 general education requirement. See this page for details on the learning goals of the course and how it meets the criteria for this requirement.
The course meets for two lecture meetings a week, Tuesday and Thursday, at 2:30-3:45, in Morrill II room 131. (This room is at the south end of the Morrill complex, most easily accessed from North Pleasant Street.)
Second section info (Mark's) Also TuTh 2:30-3:45, in 126 Hasbrouck.
There is one discussion meeting per week, meeting on Mondays. There are currently ten separate discussion sections, each to be led by one of the TA's, two each meeting at 10:10-11:00, 11:15-12:05, 12:20-1:10, 1:25-2:15, and 2:30-3:20. Check SPIRE to see which discussion you are in -- with rare exceptions, we want you to go to the one you are assigned. These discussion sections will meet in the CMPSCI computer lab in rooms 223 and 225 of the Lederle Tower (LGRT) -- room 225 is accessible only through room 223. The first discussion meetings were on Monday 8 September.
Most discussions will have a written assignment which you will carry out in pairs, chosen by you at the start of each discussion with the requirement that you may not have the same partner twice in the term. Some assignments will involve use of the computers that are in the lab, with each pair using a single machine. Discussion attendance is required, so that missing a discussion will incur a grade penalty. It is intended that the many discussion sections be as interchangeable as we can make them.
The textbook is the same one used since Fall 2012, the third edition of Object-Oriented Data Structures Using Java by Dale, Joyce and Weems (Jones & Bartlett, ISBN 978-1-4496-1354-9), henceforth called "DJW" The first and second editions of the book are substantially different and will not do. Lectures will follow the book fairly closely (especially after the first few weeks) but I will also make slides from the lectures available on this site.
The DJW book is not a Java language manual. There are a variety of ways to get information about the Java language -- two I like are the official API's for the language and the very inexpensive book Java Precisely by Peter Sestoft. Java Precisely is intended more as a reference for people who already know the language, but it has both all the details you aren't likely to ever memorize and a very clear definition of exactly what the language is and what it does.
Announcements (10 November 2014):
The scale for the second midterm was A = 92, B = 78, C = 64, D = 50, F = 36. Scaled scores have been posted on Moodle, using the rule that the scaled score is (raw score - 36) * (400/56), unless this would be negative in which case the scaled score is 0. The distribution was:
Note that it is still possible to get a C or better in the course even with D exams as long as you have good programs, discussions, quizzes, and clickers.
The exam and solutions will go up on this site in the next day or two. Here is the distribution of grades for the 173 exams we received:
Students with grades of C- or D+ on this exam still have a definite chance of getting C or better overall with a boost from better grades on projects, quizzes, discussions, and clickers. Even students who failed or missed this test could still do so, by improving their scores on later tests. But anyone with a D or F on this test should seriously consider their position in the course. Thursday 16 October is the last day to drop the course with a W or to change to elective Pass/Fail grading. If you would like further advice please contact Dave or Mark at office hours or by email.
Today I have put up the main page, and in the next day or two I plan to put up the syllabus and the requirements and grading page.
I taught this course two years ago and you can read the entire website for the Fall 2012 version -- it has exams, solutions, lecture slides, and programming assignments. This offering of the course will be similar to that one, except that: (1) we probably have two lecture sections, (2) we have a somewhat larger class, (3) we have at least ten discussion sections instead of four, and (4) we are using Moodle and clickers.
Last modified 10 October 2014.