INFSCI 0017: Object-Oriented Programming 1 for Information Science

Instructor: Marek J. Druzdzel

Overview

"A computer is like a violin. You can imagine a novice trying first a phonograph and then a violin. The latter, he says, sounds terrible. That is the argument we have heard from our humanists and most of the computer scientists. Computer programs are good, they say, for particular purposes, but they aren't flexible. Neither is a violin, or a typewriter, until you learn how to use it."
Marvin Minsky, "Why Programming Is a Good Medium for Expressing Poorly-Understood and Sloppily Formulated Ideas"

Even though superficial knowledge of a programming language may get you far in your professional endeavors, being an information science professional requires much more. It is possible to write programs with minimal knowledge of programming, but you can accomplish more and in a more efficient way by mastering the available variety of programming tools.

The Object-Oriented Programming 1 for Information Science course is the first programming course for Information Science majors. It is designed for students with little or no programming experience. It will guide you through the process of learning basic principles and concepts of object-oriented programming using Java, such as classes, interfaces, operators, program control, arrays, testing, debugging, inheritance, polymorphism, and event handling. It will also give you an opportunity to master techniques for simplifying the programming process and improving code quality. Upon a successful completion of this course you will have acquired basic knowledge of programming tools for future endeavors. The course will offer you a mixture of theoretical knowledge and practical experience. You will learn the tools and you will learn to apply them to practical problems.

As you might have already experienced by now, being a professional requires independence and creativity, but most of all commitment to hard working. In this class, most of your effort will be concentrated on programming assignments. If you have no programming experience, these assignments will make your workload heavy. The class will require a lot of your time, but I believe that you will find the work interesting and important. I require your commitment, keeping up with the readings and the assignments, coming to classes, and being their active participant. In return, I will do my best to ensure that you have fun and learn useful skills.

Prerequisites: MATH 0031 or MATH 0032 or equivalent.

Syllabus (Spring 2007, Microsoft Word)
Marek Druzdzel's teaching page
Marek Druzdzel's home page


HOME marek@sis.pitt.edu / Last update: 20 December 2006