MSI 572: Introduction to Java

Instructor Information

Name: Sanjay Goel
Phone: (518) 442-4925
Room: BA 310b
Office Hours: M 1:30 - 3:30pm or by appt.

Class Information

Time: MW 10:10am - 12:10pm
Location: BA 209/MIS Lab
Dates: September 4 - October 7 (Contingency Class Date October 9)
Credit(s): 1
Call #: 4485
Available Lab(s): MIS Lab (BA 234), HRIS Lab (BA 232)

Course Overview

This course provides an introduction to programming using JAVA language. The basic constructs of the language and some aspects of object oriented programming are covered in this class. The course will start with a discussion of data types and flow control and then discuss issues like abstraction and inheritance. This will be a very fast paced class with a lot of new material in every class. The students are expected to have thoroughly reviewed the material from previous classes prior to the next class. This is a programming class so a lot of effort is required outside of the class in programming assignments. The first half of each class will be spent in the classroom learning the language constructs and the second half of each class will be spent in the MIS/HRIS lab on programming assignments. In each class an assignment related to the content of the class for that day will be given to complete in the lab. Students may choose to pair up for these assignments as the number of students may be more that the number of computers in the lab.

Text & Reference Books

Three books are listed in the syllabus, however, I expect students to purchase only the text book. The other books are only listed for students who would like additional material to increase their understanding. There is also a lot of material available on the web. Please check out the SUN Microsystems web site for additional information.

Text: Ira Pohl & Charlie McDowell, Java by Dissection, The essentials of Java Programming, Updated Edition. ISBN: 0201751585

Reference: Peter Van Der Linden, Just Java, 2nd Edition

Reference: Allen Vermeulen et. al, The Elements of Java Style.


Assignment given in any week is due at the beginning of the Monday class in the next week. There will be a penalty of 10% per day for late assignments unless there is a very pressing reason for the delay. In case of a holiday on the due date, the assignment is due in the following class which is not a holiday. Please work individually on all assignments. Stop by my office if you have difficulty in understanding the assignment or the course material related to the assignment.


Homework: 50%

Exam: 50%

Course Schedule

Lec. Date Topics Readings Homework
1 9/4Introduction Ch 1&2
2 9/11 Programming Fundamentals, Data Types, Operators, Expressions, Simple IO Ch 2 (#11-13)
3 9/18 Control Flow and Statements Ch 3 Ch 3(#14, 16, 20)
4 9/23 Functional Abstraction (methods) Ch 4 Ch 4 (#3, 13, 20)
5 9/25 Vectors, Arrays, and Collections Ch 5 Ch 5 (#14, 17, 20)
6 9/30 Data Abstraction: (Constructors, Scope of Variables & methods, O-O Design) Ch 6 Ch 6 (#7, 13, 16)
7 10/2 Data Abstraction / Inheritance Ch 6-7
8 10/2 Exam
9 10/9 Contingency Class

Download Fall 2002 syllabus: msi572syllabus.pdf