Skip to main content

more options

Welcome to CS1130 (previously 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.


There are no required lectures or discussions in this course. Discussion sections are optional. At the moment, you may have difficulty registering for this course because you have a conflict with the time at which an optional lecture is being given. Don't be concerned. We will fix this and you can register for the course next week, at a more leisurely time. There is no cap on this course, and you will have no trouble registering later on.

Please read the "Course instructions" by clicking on the red link to the left and above.


Please read the Course instructions carefully. Click the link "About the CMS" to the left to find out about our course management system.


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. Most students will do the work in 4 weeks. Some may do it in fewer, and some may take 5-6 weeks, although there will be a maximum amount of time allowed.
  2. 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.
  3. 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.
  4. You will 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 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.
  5. 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.

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.