CMSC+433+Spring+2012


 * Programming Language Technologies and Paradigms**
 * **Section** || 0101 || 0201 ||
 * **Instructor** || Tom Yeh || Adam Porter ||
 * **Time** || MW 2:00-3:15pm || TuTh 9:30-10:45am ||
 * **Room** || CSI 3120 || CSI 2107 ||
 * Topics:** Concurrency, modeling concurrent systems, Java threads, Java memory model, synchronization: locking (synchronized) and signaling (wait/notify), design forces (safety, liveness/deadlock, performance, reusability), threaded programming patterns, synchronizers, advanced locking, non-blocking data structures, distributed Programming (RMI, MapReduce).

=Updates and announcements=


 * April 30**

Project 5 has now been posted: Project 5 - MapReduce

The course evaluation site is now open. Please submit your evaluation to help improve this course. The URL is: [].
 * April 23**

Uploaded the slides we'll be using in the lecture on Wednesday (How to solve Project 0 - Getting Started with BitBucket, Git and Eclipse): Ungraded assignment 0
 * February 8th**

We posted some grading guidelines to have in mind when submitting your code. We also pushed to your individual repositories the test results for Project 0 (The tests were performed on February 4th, at approximately 9:00 AM - any changes submitted after that time were not taken into consideration). Please see Details about Grading, and check **test.output** in your repositories to see how you did. If anything is unclear, or you can't find **test.output** in your repository, write me an email (florinc@umd.edu) and I'll explain what happened.
 * February 6th**

We posted some statistics regarding Project 0 results on the project page: Ungraded assignment 0.
 * February 4th**


 * February 3rd**
 * Project 1 - Bidding Server** has been posted.

=Schedule= Section 0101 Section 0201

=Projects= 1. Bidding Server (Due 2/24) 2. Restaurant Simulation (Due 3/16) 3. Maze Solver (Due 4/13) 4. RMI (Due 4/27) 5. MapReduce (Due 5/11) =Course information=

**Major Scheduled Grading Events:** > __This grading scheme assumes a good faith effort will be made by each student. The professors reserve the right to modify the grading scheme as we deem appropriate. __ (Please let me know in advance when you intend to come - I will hold the office hours by request. Also, if nobody is there by 1:00 I will leave early.) || 1112 AVW || (Please let me know in advance when you intend to come - I will hold the office hours by request. Also, if nobody is there after 15 mins. I will leave early.) || TBD ||
 * Midterm #1, Midterm #2, Final exam. 
 * Nominal Grading Scheme:**
 * || **#** || **% each** || **% tota**l ||
 * Programming projects || 5 || 8 || 40 ||
 * Mid-term || 2 || 15 || 30 ||
 * Final || 1 || 30 || 30 ||
 * Contact:**
 * ~  ||~ Name ||~ Email (@cs.umd.edu) ||~ Office Hours ||~ Office ||
 * Section 0101 || [|Tom Yeh] || tomyeh || By appointment only || 4465 AVW ||
 * Section 0201 || Adam Porter || aporter || Tu 11:00am-12:00pm, W 11:00am-12:00pm or by appt. || 4125 AVW ||
 * TA || Florin Chelaru || florinc || MW 12:45-1:45pm
 * TA || Emre Sefer || esefer || Tu 1:00pm-2:00pm, Th 11:00am-12:00pm

All assignments are due at the beginning of the class on the day that they are due. The paper part (if any) must be turned in in class, and the electronic part (if any) must be submitted by the time of the beginning of class. Late assignments will be strictly penalized. Exceptional circumstances will be considered only if discussed with me in advance. 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. Instructors are 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. An excused absence for an individual typically does not translate into an extension for team deliverables on a project. All late assignments will have points deducted as follows:
 * Textbook:**
 * [[image:http://www.cs.umd.edu/class/spring2011/cmsc433/jcipMed.jpg width="72" height="72" align="left"]] || [|Java Concurrency in Practice] by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes and Doug Lea. ISBN 0-321-34960-1. ||
 * Late assignments and excused absences policy:**
 * 20%: Up to 9am the day after the due date.

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 [].
 * Academic dishonesty:**

Here are some highlights of this Code as it applies to this course:
 * The standard penalty for any academic dishonesty, including facilitating academic dishonesty, is to receive a grade of XF in the course. This grade denotes failure due to academic dishonesty, and your transcript will be so annotated.
 * How to avoid getting an XF
 * All graded materials (whether exams or programming assignments) must be strictly individual efforts.
 * Allowing another student to examine a listing of your program or examining the listing of another student's program, for any reason, is strictly forbidden.
 * We encourage discussions about concepts and ideas behind programming projects. However, such discussions with other students about the project should only be done in an environment with no program listings available. That is, you are discouraged, in the strongest possible terms, from making a habit of getting together with another student at adjacent workstations while you work on a programming project with the idea that you will limit yourselves to discussion of problems such as syntax errors only. There are too many temptations, and if by chance your programs wind up being very similar, you will find it difficult to make a convincing argument that you limited yourselves to allowable discussions of the project.
 * Logging onto another student's account, for any reason, is academic dishonesty.
 * Attempting to falsely represent the correctness of your program, or to delay other members of the class from completing a programming assignment, is academic dishonesty
 * We expect you to follow all CSC guidelines for responsible machine usage.
 * The instructor is the information owner for all CSIC accounts in this class, and all files in those accounts may be inspected by him at any time, and may be used by him as he sees fit to support educational ends.
 * Automatic tools and manual inspection will be used to compare your solution to that of every other current or past student in this class, so it will be very difficult to hide any collaboration.
 * The risk of getting caught is too high, and the standard penalty is way too high (grade of XF). In Fall 1997, 14 students who thought they could hide their collaboration in CMSC 430 received grades of XF. Over the past couple of years, cheaters in CMSC 433 have been caught and received grades of XF. Recently, cheaters in CMSC 412 were caught that had cheated on students' work from prior semesters.


 * 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 pages ring during class repeatedly can result in points being deducted from a student's semester grade.
 * **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 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.
 * **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.