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.
Office: CS 318
Office Hours: Tuesday 2:30–4:00, Wednesday 9:30–11:00, and by appointment.
(all TA office hours are in the EdLab, LGRT 223)
Office Hours: Wednesday 1:30–3:30
Office Hours: Wednesday 4:00–6:00
Abhyuday Narayan Jagannatha
Office Hours: Wednesday 11:00–1:00
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 firstname.lastname@example.org 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.