CMSC 132

Sections 030X/040X/050X

This is a second programming course for Computer Science majors with a focus on object-oriented programming. The goal of the course is to continue development of skills in program design, implementation, testing, and debugging, using a graphical IDE. Additionally, this course will introduce abstract data types and data structures, the Java Collection Framework, inheritance, and concurrent programming. All programming will be done in Java.

Course Coordinator:
Fawzi Emad

Recommended Text:
There is no required book for this course. There are many excellent introductory books on programming in Java. Look for one that includes material on "data structures". One that I can recommend is Data Structures and Abstractions with Java You can find this book for a reasonable price online at various online vendors. (You can even "rent" the book, or get an electronic downloadable version.)

Major Topics


There will be numerous (eight to ten) substantial programming projects as well as shorter in-class assignments to be completed during the lab sessions.  Some are considered "closed" assignments which you must complete by yourself and others are considered "open" assignments where some degree of collaboration is permitted. (More information about the open/closed policy will be provided in class and can be found here: Policy Regarding Open/Closed Projects.) There will also be two midterms, a final exam, and occasional quizzes.


All programming assignments can be implemented on the machine of your choice. You are welcome to do the work on a home computer if you have one. There should not be any machine-specific dependencies in your code. If we are not able to run your program because there is a difference between your and our computer environments, you must work with us to get your program to work in our environment.  You are expected to use the Eclipse IDE for all programming assignments.


All programming assignments must be submitted before 11pm on the day they are due. They are to be submitted electronically according to instructions given with the assignments. Late assignments will be strictly penalized. Exceptional circumstances will be considered only if discussed with the instructor before the assignment is due. Late assignments will be penalized as follows:

Final grades will be computed according the following weights. (These weights are tentative and subject to future adjustment.)

Percentage Component
25% Projects       [The weights of the individual projects will vary. Longer/harder projects will be worth more points.]
15% Lab assignments (quizzes & exercises to be completed during your discussion sessions)
15% Midterm #1
15% Midterm #2
30% Final Exam

Online Posting of Project Implementations Not Allowed


You need to keep backups of your projects as you develop them. No extensions will be granted due to hardware failures or because you accidentally erased your project. Feel free to use the submit server as a backup tool by submitting often. You can also use tools like git, etc. Do not post code in any online system that is accessible to others (e.g., GitHub).

Academic Honesty

Note that academic dishonesty includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. You are allowed to use the Web for reference purposes, but you may not copy code from any website or any other source. In short, all submitted work must be your own.

Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct. Without exception every case of suspected academic dishonesty will be referred to the Office. If the student is found to be responsible of academic dishonesty, the typical sanction results in a special grade "XF", indicating that the course was failed due to academic dishonesty. More serious instances can result in expulsion from the university. If you have any doubt as to whether an act of yours might constitute academic dishonesty, please contact your TA or the course coordinator.

The University of Maryland, College Park has a nationally recognized Code of Academic Integrity, administered by the Student Honor Council.B This code sets standards for academic integrity at Maryland for all undergraduate and graduate students. As a student you are responsible for upholding these standards for this course. It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit http://www.shc.umd.edu

Examples of Academic Integrity Violations

The following are examples of academic integrity violations:

Excused Absence and Academic Accommodations
  1. Any student who needs to be excused for an absence from a single class session , due to a medically necessitated absence shall:
    • Make a reasonable attempt to inform the instructor (not the TA) of his/her illness prior to the class. If you are going to miss an in-class assignment then we expect to hear from you (either email or telephone message) before the class session begins.
    • Upon returning to the class, present their instructor (not the TA) with a self-signed note attesting to the date of their illness. The note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 9(h) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action.
    • This self-documentation may not be used for the Major Scheduled Grading Events as defined below and it may only be used for one class meeting during the semester.

  2. Any student who needs to be excused for more than one absence, or for a "Major Scheduled Grading Event", must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the timeframe that the student was unable to meet academic responsibilities. The documentation should be given to the instructor, not the TA. We will not accept a "self-signed" note for "major scheduled grading events", as defined below. The note must be signed by a health care professional.

    The Major Scheduled Grading Events for this course include:
    • Midterm #1
    • Midterm #2
    • Final Exam
    • Programming projects

It is also the student's responsibility to inform the instructor of any intended absences from exams for religious observances in advance. Notice should be provided as soon as possible but no later than one week prior to the exam.

Accessibility and Disability Service
Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Accessibility and Disability Support (ADS) within the first two weeks of the semester.
Course Evaluations

The Department of Computer Science takes the student course evaluations very seriously. Evaluations will usually be open during the last few weeks of the course. Students can go to  www.courseevalum.umd.edu to complete their evaluations. 

All course materials are copyright UMCP, Department of Computer Science © 2020. All rights reserved. Students are permitted to use course materials for their own personal use only. Course materials may not be distributed publicly or provided to others (excepting other students in the course), in any way or format.

Web Accessibility