22c:22 Object-oriented Software Development
TTh 10:55-12:10
in E205 Adler
...plus discussion sections:
| |
1) F 1:30 in 113 MLH
2) F 2:30 in 114 MLH
|
|
|
The instructor
Gregg Odén
[MW 10:30 in E112 SSH, T 2:30 in 201D MLH]
gregg-oden
with the assistance of...
Matt Gibson
[tba in 201C MLH]
matthew-gibson
|
|
|
The course
The objectives of this course are to introduce software development methodology with
continued emphasis on the separation of abstraction and implementation, and to
extend programming skills generally and with specific regard to network
programming, concurrency, graphics, and user interface programming.
The course focuses on developing professional-level programming competence,
especially the ability to construct correct programs and to use advanced program
development techniques effectively. The course emphasizes the object-oriented paradigm and associated concepts of classes, objects, methods, inheritance, and polymorphism. This course provides a
continuation of the presentation of skills and knowledge necessary for effective
software development building upon the basic competence students gained in 22C:016.
The assignments
There will be two midterm exams each covering one section of the course as
shown on the schedule and a final exam covering the third section plus
the course as a whole. In addition, there will be
homework assignments
every week or so for the first half of the course and then,
during the rest of the semester, a team-based
course project.
Exam 1 will count 10% toward the course grade,
Exam 2 will count 20%, the final exam will count 30%,
and the homework and the project together will count 40%.
Course grades will be determined on the basis of the resulting final
distribution of numerical scores.
My current expectation is that about a sixth or so of those originally
enrolled in the class will get A grades (that is, A+, A or A-), about a
third will get B grades, and another third will get C grades.
However, these proportions will be adjusted to reflect overall
class performance. That is, if it turns out that this class does
better than expected, then there will be more good grades;
if it does worse, then there will be fewer good grades. I will periodically
provide updated information about the expected distribution of grades as we
go along through the semester so you will have a good idea of where you stand.
The schedule
The texts
| |
|
Programming Ruby (2nd Ed.)
by Dave Thomas...
|
|
|
Code Complete (2nd Ed.)
by Steve McConnell
|
The fine print
- I would like to hear from anyone who has a disability which may require seating modifications or testing accommodations or accomodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours.
- Both students and professors have rights and responsibilities. One responsibility
that we share is to be familiar with College of Liberal Arts and Sciences policies regarding
procedures to be followed in the event of your misconduct or mine. These policies can
be found at the College's website. In general, please do not hesitate to discuss with me any questions or concerns you may have. If, in addition,
you would like to talk with the department chairman, Dr. James Cremer,
appointments can be made with the staff in the department office, 14 MLH.
- Sexual harassment subverts the mission of the University and threatens the well-being of students, faculty, and staff. For definitions, assistance, and the full policy, refer to
www.sexualharassment.uiowa.edu .
- If a tornado or other severe weather is indicated by the National Weather Service radar, the UI outdoor weather sirens will sound. The class will seek appropriate shelter immediately, continuing class if possible when the event is over.
- You are expected to honor copyright laws pertaining to use of software
packages that are available to you in the labs and in any other situation in this course.
- Grades (and lots of other stuff) will be posted on Icon.
- Makeup exams will be provided only for documented legitimate reasons.
- Class attendance will not be recorded but the most important stuff will happen in class.
- The ruby image at the top of this page is from why's (poignant) guide to Ruby.
- This syllabus is available at http://www.cs.uiowa.edu/~oden/courses/cs22.html and on Icon.