CMSC 433, Fall 2010

Programming Language Technologies and Paradigms


Topics and Textbook

This course will focus primarily on concurrent and distributed programming. We will identify pitfalls and difficulties in writing such programs and explore design patterns and best practices for avoiding them. Most of our work will be done with the Java programming language, though we may consider other languages, such as Scala or Erlang, as time permits, since these languages are being increasingly used to write scalable web services.

The textbook for the course is Java Concurrency in Practice, ISBN 978-0-3-2134960-6, by Brian Goetz (this link goes to Amazon, whose price is lower than the University bookstore's). Note that this book should be also accessible through Safari on-line, free when on campus.


Most of the topics in the class you will learn by doing, so there will be a substantial emphasis on programming projects, and in-class programming and code-reading exercises. An expected breakdown of the grade is as follows:

Projects (5 total)40%
Exams (3 total)50%
Class participation10%

Projects are a means for you to learn the material by doing, and thus to prepare you for the exams, which are half of the course grade.

Any regrades for project or exams must be requested within one week of the date your grade for the assignment or exam is given to you.

Some of the class participation grade will derive from doing in-class programming exercises that will be given on various Mondays throughout the semester. Also for this part of the grade, students may have cookies with the professor: this is a one-time meeting with the professor, during office hours or at another arranged time, to discuss the student's academic goals, the course, and anything else that seems interesting.


Academic Dishonesty

We will strictly enforce the honor code. Every semester this instructor has taught an undergraduate class he has turned in students to the honor council for cheating. You are taking a terrible risk by cheating; know what cheating is, and the penalty for it, by reading further.

The University of Maryland, College Park has a nationally recognized Code of Academic Integrity, administered by the Student Honor Council. 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

Here are some highlights of this Code as it applies to this course:

Policies and Responsible Conduct

Cell phones. As a courtesy to your fellow classmates, pagers and cell phones must be off or on vibrate during class.  Having cell phones or pagers ring during class repeatedly can result in points being deducted from a student's semester grade.

Laptops.  Laptops can be a blessing or a curse. We intend to make use of laptops to perform programming and code-reading exercises during class. However, if personal laptop use becomes too much of a distraction for other students in the class, their use may be curbed or elimiated.

Office Hours and E-mail.  Questions concerning the content of the course or project should, as a general rule, be directed to the class discussion forum. This allows questions to be answered by whoever is monitoring the forum, and the answer can benefit all students.
The instructors (Dr. Hicks and the TA) are happy to answer questions during office hours and on the discussion forum.  However, office hours and email are not intended as a replacement for attending lectures and recitations. As a result, instructors will only respond to questions, whether during office hours or on the newsgroup, from those students who regularly attend class.  Instructors may not respond to electronic questions instantly.  However, the instructors will try to respond to email by the next regularly scheduled office hour after it is sent.  If a student cannot make it to scheduled office hours, he or she is encouraged to make an appointment by e-mail or after class.

Excused Absences.  Students claiming an excused absence must apply in writing and furnish documentary support (such as from a health care professional who treated the student) for any assertion that the absence qualifies as an excused absence. The support should explicitly indicate the dates or times the student was incapacitated due to illness. Self-documentation of illness is not itself sufficient support to excuse the absence.  (This is a department policy, and it is a higher standard than in some other departments.) An instructor is not under obligation to offer a substitute assignment or to give a student a make-up assessment unless the failure to perform was due to an excused absence.

Accommodating Disabilities.  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 (DSS) within the first two weeks of the semester.

Valid HTML 4.01!