CS:2820:AAA Object-Oriented Software Development (Fall 2014)

Lecture Location:: MacLean Hall room 110

Lecture Times: 14:00-15:15 Tuesday and Thursday

Course Website: http://weblog.cs.uiowa.edu/cs2820f14. Also, ICON will be used for posting grades and maybe some lecture material.

College Home: This course is administered, and regulated by the College of Liberal Arts and Sciences, 120 Schaeffer Hall.

Discussion Sections meet on Fridays, at two different times (11:30 and 12:30) in MacLean Hall 301. Seating is quite limited in 301 MLH; furthermore, there can be group projects, so only attend the discussion section for which you are registered.

The Final Exam will be held outside of regular class times, see below.

Adds and Drops: facts on registration are detailed in the CLAS policies. All adds and drops during the first week are handled exclusively through ISIS, which automatically uses a waitlist to give priority to adds.

Instructors, Prerequisites, Textbooks

Professor: Ted Herman, 201M MacLean Hall, Telephone: 335-2833, Email: ted-herman AT uiowa.edu (replace AT by "@" and remove spaces), Office Hours: 10:30-11:30 (Monday, Wednesday, Friday) and by appointment. The office hours may change during the semester, and the place for office hours may move from my office to computer labs or other larger spaces, so that I can help more students and see problems interactively at the keyboard.

Teaching Assistant: Teaching assistant for this course is Rahil Sharma. His office hours are Tuesday 10:30-12:00 in 301 MLH and Wednesday 4pm-5:30 in 301 MLH.

Course Prerequisites: Students will have passed CS:1210 (22C:016) and CS:2230 (22C:021), and thus will be familiar with basic coding skills, using modules and libraries, understand data structures with recursive object references, and complexity analysis. Students should be able to write Python software and have some working knowledge of Java (or C/C++); most programming work will be done in Java.

Textbooks: There are two textbooks for this course.

Online Material: much additional material, particularly for projects, is online (links will be on the course web page as needed). For students needing to review Java, here is quick start.

Computing Facilities: Students will need to use a variety of tools in this course, including Java for implementation and Git for working in groups. It's helpful to use Eclipse when working with Java, which is available on CLAS Linux and Window workstations. You can install Java and Eclipse on your own computer, though our expertise on all platforms and operating systems is limited, so we may not be able to answer all installation questions. Many online resources assume the reader uses command-line syntax (so-called "POSIX" commands, which are found on Linux, Mac OS, and can be installed on Windows using Cygwin). Every student in this course is entitled to have an account on College of Liberal Arts (CLAS) workstations, which enable working in any of the labs (301 MLH, B5 MLH, and one in SH). Also, remote access is possible, though tricky off-campus due to security policies (see the VPN documentation). Using secure shell, either through a command or a client, it's even possible to use full-screen programs like Eclipse remotely on a CLAS machine.

Setup Account: you should automatically have an account CLAS Windows machines if you are enrolled in this course; to get a Linux account use this form.

General Information

Goals and Objectives of the Course

There are two main objectives in CS:2820: (1) introduction of techniques and concepts for large-scale, multi-person software development (mainly Agile methods and tools); (2) introduction of software design (as opposed to mere programming), as realized through object-oriented software construction. For both (1) and (2) students will be evaluated by written examinations and software development exercises, some in-class but most as larger-effort project tasks. Another way to look at the course's objective is this: it starts the transition from school work to industrial technology for software production.

Effort Level

CS:2820 is a four-credit course (two seventy-five sessions and one fifty-minute session per week). The official university policy is to expect about two hours of work, outside of class, for each credit unit. In fact, for this course, there will be slighltly more work outside of class than usual (because the number of minutes in class is 40 less than one would normally expect). It's possible that additional meetings with student teams and instructor/TA will be needed.

Grading Procedures and Policy

Grades - Two components determine the grading in this course: exams and project work. As we will see when learning about Agile, project work needs to be broken up into small units to be effective, so grading evaluation will be continuous. Final grades will be done by a curve so that the distribution corresponds to the University of Iowa CLAS Recommended Grade Distribution, using plus and minus letter grades.

Components - The general formula for scoring, toward a total upon which the curve is formed, is 65% project and 35% exams. Within the project, there will be multiple forms of work, including programs, documents, and in-class exercises, all contributing to the total project score.

Exams - There will be a final exam sometime during exam week:

Tuesday 16 December, 8pm to 10pm, N104 LC

At various times during the semester, there will be other brief quizzes in class which count as exams or parts of an exam. Outside the final, grading of quizzes will be done nondeterministically: not all quizzes or quiz questions may be graded.

Makeups - The TA is in charge of all makeups for missed work, however for group participatory events (such as an Agile Scrum Meeting) it's not clear that makeup work would be meaningful.

No Class Days

There will be no discussion section meeting on 29 August, no class on 30 September, and no class on 2 October. Thanksgiving recess starts 24 November. Final exam week runs 16--20 December.

Attendance, Tardiness, Late Policy

Students do better when they attend classes. Classes may have interactive problem-solving exercises that cannot be reproduced after class (because they rely on students interacting with each other). Project deadlines will be announced during the semester, and late completion will penalized with increasing weight.

Cheating and Plagiarism

Grades in courses are supposed to be an evaluation of your mastery of the course material. Any method of getting a grade that evades this evaluation is cheating. Copying answers, getting solutions from other students in the class are ways of cheating, technically called plagiarism. Providing answers, sharing solutions, or doing someone else's work also counts as cheating. Cheating is a significant problem in computer science ("cheating computer science" turned up over 25,000 hits on a web search), but the definition of cheating is not so simple in software. The consequences and procedures for suspected cheating are described below, under the College of Liberal Arts policies.

Quizzes and exams should not be collaborative activities: each student takes a quiz or exam individually and the score reflects an individual result, not a group effort.

Where things get murky for this course are group projects. The objective of the instructor is to know who is responsible for the contributions to a project. Students should not take credit for other team members work.

Additional Resources

Most of the additional resources are online or in libraries. They will be announced on the course web page.

Miscellaneous Announcements: The University of Iowa Policies

Addendum to Syllabus: see this insert for details, some of which are repeated below. Also see standard syllabus template.

This course is given by the College of Liberal Arts and Sciences (CLAS). This means that course policies on matters such as requirements, grading, and sanctions for academic dishonesty are governed by the College of Liberal Arts and Sciences. Students wishing to add or drop this course after the official deadline must receive the approval of the Dean of the College of Liberal Arts and Sciences. Details of the University policy of cross enrollments may be found at: Cross Enrollments Document.

See the student academic handbook for administrative procedures, your rights and responsibilities, and other topics. The official classroom procedures for faculty includes policies on cheating and plagiarism, students with disabilities, and other topics. In particular, we are required to state the following: I would like to hear from anyone who has a disability which may require seating modifications or testing accommodations or accommodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours. More information is found below.

Also, we are required to specify the following information. The name of the department, location of the departmental office, and information on how to contact the Department Chair (DEO) or his/her designee: Department of Computer Science, 14 MacLean Hall, Professor Alberto Segre, DEO

The College of Liberal Arts and Sciences: Policies and Procedures

Administrative Home of the Course

The College of Liberal Arts and Sciences is the administrative home of this course and governs such academic matters as the add/drop deadlines, the second-grade-only option, issues concerning academic fraud or academic probation, and how credits are applied for various graduation requirements. Different colleges may have different policies. Students with questions about these or other CLAS policies should speak with an academic advisor or with the staff in 120 Schaeffer Hall. Also see the CLAS Academic Handbook.

Academic Fraud

Plagiarism and any other activities that result in a student presenting work that is not his or her own are academic fraud. Academic fraud is reported to the departmental DEO and then to the Associate Dean for Academic Programs and Services in the College of Liberal Arts and Sciences who deals with academic fraud according to these guidelines: Code of Academic Honesty. The College of Liberal Arts and Sciences expects all students to do their own work, as stated in the CLAS Code of Academic Honesty. Instructors fail any assignment that shows evidence of plagiarism or other forms of cheating, also reporting the student's name to the College. A student reported to the College for cheating is placed on disciplinary probation; a student reported twice is suspended or expelled.

Making a Suggestion or a Complaint

Students have the right to make suggestions or complaints and should first visit with the instructor, then with the course supervisor if appropriate, and next with the departmental DEO. All complaints must be made within six months of the incident. See Student Rights.

Accommodations for Disabilities

A student seeking academic accommodations should first register with Student Disability Services and then meet with a SDS counselor who determines eligibility for services. A student approved for accommodations should meet privately with the course instructor to arrange particular accommodations. See Student Disability Services Website and complete the SAAR form with appropriate information.

Understanding Sexual Harassment

Sexual harassment subverts the mission of the University and threatens the well-being of students, faculty, and staff. See University Policies on Sexual Harassment.

Reacting Safely to Severe Weather

If severe weather is indicated by the UI outdoor warning system, class members will seek shelter in the innermost part of the building, if possible at the lowest level, staying clear of windows and of free-standing expanses which might prove unstable. The class will resume after the severe weather has ended. Some severe weather may result in classes being cancelled as noted in the University Operations Manual.

College of Liberal Arts Resources

There are several other programs and resources available to you.

Student Classroom Behavior

The ability to learn is lessened when students engage in inappropriate classroom behavior, distracting others; such behaviors are a violation of the Code of Student Life. When disruptive activity occurs, a University instructor has the authority to determine classroom seating patterns and to request that a student exit immediately for the remainder of the period. One-day suspensions are reported to appropriate departmental, collegiate, and Student Services personnel (Office of the Vice President for Student Services and Dean of Students). Please control your phones. Texting during quizzes and exams is prohibited, of course.

University Examination Policies

Missed exam policy. University policy requires that students be permitted to make up examinations missed because of illness, mandatory religious obligations, certain University activities, or unavoidable circumstances. Excused absence forms are available at the Registrar web site: Registrar Forms.

Recently, the Student Health Services changed the policy on class excuses, please read here: Student Health Forms and Reports.

Final Examinations

An undergraduate student who has two final examinations scheduled for the same period or more than three examinations scheduled for the same day may file a request for a change of schedule before the published deadline at the Registrar's Service Center, 17 Calvin Hall, 8-4:30 M-F, (384-4300).

Electronic Communication

University policy specifies that students are responsible for all official correspondences sent to their standard University of Iowa e-mail address (@uiowa.edu). Students should check their account frequently. (See Operations Manual on technology use.) In case of any official grading or other official information, I will not be able to email to destinations outside of @uiowa.edu

Syllabus (last edited 2014-10-14 18:48:00 by Ted Herman)