Welcome: In this course, each voice in the classroom has something of value to contribute. Please take care to respect the different experiences, beliefs and values expressed by students and staff involved in this course. We support UMass’s commitment to diversity, and welcome individuals of all ages, backgrounds, citizenships, disability, sex, education, ethnicities, family statuses, genders, gender identities, geographical locations, languages, military experience, political views, races, religions, sexual orientations, socioeconomic statuses, and work experiences.
Overview: This is the home page for CMPSCI 187, the second course in programming for undergraduate computer science majors. It deals with the design, use, and analysis of important data structures, as implemented in the Java programming language.
This course satisfies the R2 general education requirement. Read more about the learning goals of this course and how it meets the criteria for this requirement.
Prerequisites: CMPSCI 121 with a C or better (you should be familiar with a Java IDE such as jGRASP, and the topics covered in 121, including data types, expressions, objects, methods, top-down program design, program testing and debugging, state representation, interactive programs, data abstraction, conditionals, iteration, interfaces, inheritance, arrays, graphics, and GUIs). New Java language concepts are introduced quickly in this course; if unsure of background, contact the instructors. A Basic Math Skills (R1) course is also required. There is no other specific mathematics prerequisite but readiness for MATH 131 (Calculus I for Scientists and Engineers) is recommended.
This course uses the Moodle course management system, and many elements of course content are available there, to registered students only. The course Moodle page will be available shortly before the start of term.
Instructors:
John Ridgway
Email: ridgway@cs.umass.edu
Office: CS 318
Office Hours: Tuesday 2:30–4:00, Wednesday 9:30–11:00, and by appointment.
Marc Liberatore
Email: liberato@cs.umass.edu
Phone: 413-545-3061 (on campus: 5-3061)
Office: CS 356A (inside 356)
Office Hours: Monday and Wednesday 4:00–5:00, and by appointment.
Teaching assistants
(all TA office hours are in
the EdLab, LGRT 223)
Kristina Fedorenko
Email: kfedoren@cs.umass.edu
Office Hours: Wednesday 1:30–3:30
Gene Levitzky
Email: levitzky@cs.umass.edu
Office Hours: Wednesday 4:00–6:00
Abhyuday Narayan Jagannatha
Email: abhyuday@cs.umass.edu
Office Hours: Wednesday 11:00–1:00
Keen Sung
Email: ksung@cs.umass.edu
Office Hours: Tuesday 1:00–3:00
If you have a question that either we or any of the TAs might answer, send it to cs187help@cs.umass.edu and we will all see it.
Lecture sections: There are two sections of this course. Section 01 meets Tuesday and Thursday, 10:00-11:15 a.m. in Morrill 1, room N375. Section 02 meets Tuesday and Thursday 8:30–9:45 a.m. in the same room.
Discussion sections: There is one discussion meeting per week, meeting on Mondays. There are currently twelve separate discussion sections, each to be led by one of the TAs, two each meeting at 9:05–9:55 a.m., 10:10–11:00 a.m., 11:15 a.m.–12:05 p.m., 12:20–1:10 p.m., 1:25–2:15 p.m., and 2:30–3:20 p.m. You must attend the discussion section you are assigned to, unless you make special arrangements beforehand. These discussion sections will meet in the CMPSCI education lab (the EdLab) in rooms 223 and 225 of the Lederle Tower (LGRT) — room 225 is accessible only through room 223. The first discussion meeting will be on Monday January 26. Check SPIRE to see which discussion section you are in.
Discussions will have a short written assignment which you will carry out in pairs. You choose your own partner 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.
Course materials: