Instructor: Eugene Wallingford
- Office: 305 ITTC
- Phone: 273-5919
- E-Mail: email@example.com
- WWW: http://www.cs.uni.edu/~wallingf/
- Click here for my my office hours and schedule
- Required texts:
These texts are both intro CS books that use Java. They provide nice basic introductions to the language and should be relatively easy to read. Both are available for free in digital form and in print for a price. You are not required to purchase a print copy of either.
- Optional texts:
The Budd text is as good an introduction to object-oriented programming as I have ever found for a course like this. Unfortunately, it is a bit dated, available only in print, and rather expensive.
- Electronic resources:
- The course web page, http://www.cs.uni.edu/~wallingf/teaching/cs2530/
- The course mailing list, firstname.lastname@example.org
Note: To send messages to the course mailing list, you must send from the mailing address from which you are subscribed. By default, that is your @uni.edu e-mail address. If you'd like to be subscribed from some other address, just let me know.
Your skill as a programmer depends largely on how many ways you can think about problems and solutions. At the most abstract level, flexibility allows you to be creative. At a more concrete level, flexibility allows you to learn new kinds of programming languages more effectively. And, at the most concrete level, such flexibility allows you to use individual programming languages more effectively.
This course aims to help you develop an in-depth understanding of a new way to think about computer programs: as collections of independent objects that collaborate to achieve some goal. It does so by giving you the opportunity to read, design, critique, and implement object-oriented programs in Java.
By the end of the semester, you should have a solid grasp of the object-oriented approach to software development. You should:
Among the more general goals that you should have for the course is to learn both low- and high-level patterns of programming that will make you wonderful, intelligent programmers and designers.
The course is not a "Java course". As a result of the course, however, you will probably become a reasonable Java programmer. Likewise, the course is not organized so that you will be become expert 3:00 AM Java hackers, but that may happen anyway, depending on your programming habits.
Grades will be determined on the basis of your performance on homework
assignments and examinations. Final grades will be based on the
Grades will be assigned using an absolute scale:
This means that there is no curve.
That said, the project that will account for most of your grade in this course may be done in teams of two or three. For the project, the above paragraph refers to the project team.
In addition to our time together in class, we will communicate by e-mail and the web. I will post materials for the course to the course web page, and we will make use of other web-based resources when appropriate. We also have a class-wide mailing list, email@example.com, with which we can carry on discussion outside of class meetings. Be sure that you remain current in your use of these resources!
You will write all programs for the course in the Java programming language. Numerous Java resources are available on the web, and Java implementations are available for nearly every platform, including Unix, MacOS X, and Windows.
The base platform for the course is student.cs.uni.edu, the Linux system for CS students. It provides Version 1.6 of the Java Development Kit, a set of tools for compiling and executing Java programs. I require only that I must be able to compile and run your programs in a standard Java 1.6 environment. (I do most of my Java programming on a Mac OS X 10.6 system.)
The following schedule gives a rough sketch of the topics we will cover and the distinguished dates this semester. It is tentative and subject to change at any time. I will announce any substantive changes in class and give you sufficient notice.
|1||Introduction to OO programming||.|
|2||Introduction to OO design||.|
|3||Basics of OOP||.|
|4||Basics of OOP||.|
|5||Basics of OOP||.|
|6||Intermediate OOP||Tuesday off|
|8||Intermediate OOP||midterm exam|
The FINAL EXAM is Thursday, December 13, from 3:00 PM-4:45 PM.