CMSC131-0401,0402,0403,0404: Object-Oriented Programming I-Spring 2016 mpop

This is a first programming course for Computer Science majors and minors with a focus on object-oriented programming. The goal of the course is to develop skills such as program design and testing as well as the implementation of programs using a graphical IDE. All programming will be done in Java.

Lectures take place MWF 12-12:50pm in PHY 1410.

Corequisite: Concurrently enrolled in MATH140.


Mihai Pop - mpop [at] umd [dot] edu  (best way to contact me, or through the Piazza page for the course).
Outside office hours (listed here: Discussion sections and office hours) you can meet me by appointment in AVW 3223 or in my main office in the Biomolecular Sciences Building, Room 3102F.  Note that the latter building is usually locked and you must call me from the intercom.  The intercom code is listed by the door. If I don't answer, you can dial Christine Bogan instead.

Course website

The course website is in ELMS: . All assignments and additional materials will be posted here.  Make sure to regularly check the class calendar (available at the bottom of the Course Syllabus) and the Modules list.  Announcements and general discussion about the material will be managed through Piazza.

In-class Technology
There will be graded in-class activities that make use of the University's system, so you will need to have some Internet-capable device such as a smartphone or tablet or laptop with you in class. The use will be similar to how Clickers are used, but without requiring you to buy a dedicated clicker device. We will have a "trial period" at the start of the semester during which everyone will have the chance to get used to the system before points are assigned to the activities. These must be done at class time. Retroactive assignment of points will not be done.

For ungraded assignments during class we will also use Socrative.  The room number in Socrative is 187417, available by selecting "Student Login" at the top of the page.

Recommended Text
If you know you want to have a textbook to read, the one we suggest is Java Foundations: Introduction to Program Design and Data Structures by John Lewis, Peter DePasquale, Joseph Chase. I will not refer to it during the semester, but the discussion and examples are a good match for the course. Either the first (ISBN 0321429729) or second (ISBN 0132128810) or third (ISBN 0133370461) edition is fine. Available at the University Book Store and Maryland Book Exchange and many other stores such as online at Amazon and Barnes & Noble (these links are not endorsements of any of these stores).


Major Topics (not strictly listed in order of presentation)

  • Intro to Computer Systems
  • Programming Basics:  Variables, Operators, Expressions, Statements, Methods
  • Java Text Input/Output
  • Conditionals
  • Loops
  • Principles of Object Oriented Programming
  • Basics of Program Design
  • Testing and Debugging
  • Java Memory Map
  • Arrays and Java ArrayLists
  • Polymorphism
  • Java Interfaces
  • Inheritance

There will be 7-9 individual programming projects and other smaller coding exercises. The smaller coding exercises will be assigned to be worked on during the lab sessions and some of these lab exercises might be posted a day or two before that lab so you can try them on your own first if you'd like. All of the individual programming projects are considered "closed" assignments which you must complete by yourself, coming to our office hours if needed. On the smaller lab coding exercises you will be allowed to get help from others outside of our office hours, but please remember this is not allowed on the longer-term projects.

There will also be three midterms, a final exam, ELMS activities in class, and fairly regular quizzes. All quizzes are closed-book, closed-notes, individual work. Quizzes might be given in lab section or via ELMS.

Roughly once a week you will be asked to read material ahead of time and complete a short quiz, due Monday before 11am. You will also receive 'exit ticket' quizzes after class, which will be due by 10:59pm of the same day.

All assignments can be done on the machines 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. However, 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. For instructions on how to set up eclipse see:


The breakdown of the final grade across the different assignments is as follows:

ELMS/Socrative exercises 5%
Lab quizzes/coding exercises 8%
Projects 25%
Midterm 1 10%
Midterm 2 10%
Midterm 3 10%
Final 32%

As you see above, there will be two semester exams, and a cumulative final exam. Question types include providing definitions of technical terms, explaining the application of terminology, and tracing and writing Java code. These are closed-book/closed-notes written exams.

Final grades will be assigned based on the following anticipated ranges. It should be noted that these ranges may be expanded based on results obtained during the semester, but they will not be made smaller. The very lower and very upper parts of each range will be reserved for any +/- grades.

Range Grade
90-100 A
80-89 B
70-79 C
60-69 D
0-59 F


Deadlines and late policies

The smaller lab coding exercises will be due by 10:59pm the day of the lab for which they are posted and worked on. 

Reading quizzes will be due Monday mornings by 11am.

Exit tickets will be due by 10:59pm the day when they are posted.

Late assignments will not be accepted for the above categories.  Instead, for ELMS/Socrative exercises we will drop the 3 lowest scores.

For the larger programming projects you will have two deadlines - the 'do by' deadline is the official deadline for the project.  To account for unforeseen events and last minute issues, submissions will be accepted without penalty until a later 'due by' date.  Note that no further accommodations will be made after this final due date.

All coding exercises and projects are to be submitted electronically according to instructions given with the assignments, so please read them carefully. In general, no late projects will be accepted for credit though exceptional circumstances will be considered only if discussed with the instructor before the assignment is due. Final grades will be computed according the following weights. (These weights are tentative and subject to minor future adjustment if needed.)

Academic Honesty
All individual assignments/exams must be done individually. Please visit the webpage of the Student Honor Council for a detailed explanation of what constitutes academic dishonesty. Note that it 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. In short, all submitted work must be your own.

Cases of academic dishonesty will be dealt with harshly. Each such case will be referred to the University's Office of Judicial Programs. 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 one of the course instructors.

Excused Absence and Academic Accommodations
Any student who needs to be excused for an absence from a single quiz or lab exercise due to a medically necessitated absence shall:

  • Within 24 hours of the missed assessment, the student must inform the instructor of the missed assessment by using email or by using the "Report Absence" button on the grades server. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University staff 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.
  • The student is responsible for following up with the instructor and/or the TA to make sure they have all information missed from that day.
  • This self-documentation may not be used for any Major Scheduled Grading Events, defined below, and it may only be used for only 1 quiz and for 1 lab exercise during the entire semester. Any student who needs to be excused for a prolonged absence (2 or more consecutive class meetings), for additional quizzes or lab exercises, 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. In addition, it must contain the name and phone number of the medical service provider to be used if verification is needed. This documentation must be given to the instructor within a week of the student's return to classes.

The Major Scheduled Grading Events for this course include:

  • Exam #1 - Friday, March 4th during your lecture period.
  • Exam #2 - Friday, April 8th during your lecture period.
  • Exam #3 - Wednesday, May 4th during your lecture period
  • Final Exam - Friday, May 13th 4-6pm, location TBD
  • Project due times as posted on the project description

At the time the instructor is informed about the missed assessment, arrangements can be made for that Major scheduled Event. No projects will be excused - extensions in the due date are possible only if the illness was for a significant amount of time during the work time for that project (i.e. 1 or 2 days missed from a 2 week project will probably not result in an extension).

It is also the student's responsibility to inform the instructor of any intended absences from exams or class for religious observances or official University events during the first two weeks of the semester.


Disability Support Services
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 Disability Support Services within the first two weeks of the semester and the arrangements for individual exams must be made with the instructor at least one week in advance.

Course Evaluations

The Department of Computer Science takes the student course evaluations very seriously. Evaluations for the Fall will usually be open during the first two weeks of December. Students can go to to complete their evaluations (usually in the last two weeks or so of the semester).

Copyright Notice
Class materials are copyrighted and may not be reproduced for anything other than for your personal use without written permission from instructor.


Course Summary:

Date Details Due