Skip to main content

more options


Welcome to CS1130 (formerly CS101J)
Transition to object-oriented programming

Credits: 1.          Grade option: S/U only
Prerequisite: one course in programming

Course description: Introduction to object-oriented concepts, using Java. Assumes programming knowledge in a language like Matlab, C, C++, or Fortran. Students who have learned Java but were not exposed heavily to OO are welcome.

Announcement

There are no required lectures or discussions in this course. Discussion sections are optional. If you have difficult registering for this course, email us and we will help. There is no cap on this course, and anyone with the prerequisites can take it.

Announcement

Please read the Course instructions carefully. Note that Module 1 should be completed by Fall Break and Module 2 by Thanksgiving Break.

Click the link "About the CMS" to the left to find out about our course management system.

Overview

This self-paced course will teach you about the object-oriented (OO) aspects of programming using the programming language Java. Naturally, you will use other parts of Java —variables, expressions, the assignment statement, perhaps loops and arrays (similar to their counterparts in other languages), etc. But the emphasis is on OO.

There are two aspects to any language:

  1. How one writes sequences of statements —an algorithm.
  2. How one organizes and structures programs. Before OO, the major structuring mechanism was the subroutine (function, procedure), although some languages developed various kinds of modules. But OO introduces a new and classy organizational facility. And that is what CS1130 is about.

How this course operates

This course is different from most of your courses, in the following ways.

  1. It is self-paced. Many students will do the work in 4-5 weeks. Some may do it in fewer, and some may take 6-7 weeks. The course expects to close before Thanksgiving.
  2. If you are looking at this webpage during summer 2009 and wish to get a head start, by all means do as much work as possible, including the assignments, before the semester starts to make it easy to finish the course early.
  3. Though S/U only, the course requires mastery of the material. If your programming assignments have errors or inadequacies, you will be asked to fix them. The two tests, which will not be overly difficult, must be passed at the 85% level —you may take a (version of a) test as often as necessary. The emphasis is on learning the material, but at your pace.
  4. No regular lectures! Instead, this web site contains 2-8 minute blectures (web lectures, lectures to be watched on the web) on most of the material. You may view these blectures, read the web pages, read the course text, and listen to lectures on the ProgramLive CD, which comes with the course text. Learn the material in a way that is most effective for you.
  5. You can have interaction with the course staff. In regular optional discussion periods, you can decide on what will be discussed, based on course material that you have studied but perhaps find difficult. A lab will be open several hours a day, and you can get as much 1-on-1 help from consultants as you need.
  6. The few quizzes are designed to ensure that you have learned important concepts. A consultant will give you the quiz. If you don’t do well, the consultant will immediately work with you to show you what you did wrong and help you learn the material. The grade on the quiz doesn’t matter; the important point is that you learn the material. Later, you take it again.

As you can see, we are trying several new features in this course. Your feedback will be requested at various times, so that we can improve.