MSI 692: Special Topics in Information Technology
Fall 2004 Syllabus
Instructor Information
Name: Sanjay Goel / Eliot RichEmail: [email protected] / [email protected]
Phone: 442-4925 / 442-4944
Office Location: BA 310b / BA 310C
Office Hours: M 12:30pm - 2:00pm
Class Information
Time: Thursday 8:00-11:00Location: BA 219
Dates: September 2, 2004 - December 2
Credit(s): 3
Call #: 8220
Available Lab(s): BA222
Course Overview
This course provides an overview of some emerging techniques in Information Technology and teaches concepts of advanced programming languages. The content of the course will change from year to year as new technologies emerge. The class this year will cover three separate topics, that is, Java programming, guest lectures on separate topics, and systems dynamics. The initial two-thirds of the class will be taught by Professor Goel and the last one-third of the class will be taught by Professor Rich. This is a syllabus for the initial two-third of the class. The class focuses on development of simple business logic in a structured form. The focus is on development of logic rather than the specifics of a programming language. The class covers the basic elements of a programming language, such as data types, loops, arrays, functions etc. The class also covers the basic concepts of object oriented programming, such as, abstraction, polymorphism and inheritance. By the end of the class, the students should be able to write simple programs in Java language and be able to abstract a problem into a class structure.
Learning Objectives (Programming Concepts)
Students will learn:
- The evolution object oriented programming languages
- Application of object oriented programming to solve business and enterprise problems
- The basic syntax of Java language
- The concepts of object oriented programming
Students should be able to:
- Install the programming environment for programming in Java
- Write programs encapsulating simple logic
- Compile, debug, and run Java programs
- Able to create simple classes
Class Structure
The first half of each class will be conducted in the classroom and the second half of the class will take place in the computer lab. The students will learn basic concepts in the first half of the class and go through a programming example. In the second half of the class, students will develop software based on the concepts they have learned in the first half. Please come prepared with the readings since the class will move at a brisk pace.
Text & Reference Books
Four books are listed in the syllabus, however only the textbook is required. The other book is 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 the SUN Microsystems website at: http://java.sun.com web sites for supplementary information.
Text: Kathy Sierra & Bert Bates, Head First Java, ISBN: 0596004656
Reference: Ira Pohl & Charlie McDowell, Java by Dissection, The essentials of Java Programming, Updated Edition. ISBN: 0201612488
Reference: Peter Van Der Linden, Just Java, 2nd Edition
Grading
Homework: 20%
Project: 30%
Exam: 50%Course Schedule
No. | Date | Topics | Readings | Practice Problems |
---|---|---|---|---|
1 | September 2 | Java Development Environment, Programming Fundamentals, Data Types, Operators, Expressions, Simple IO |
Intro Chapter (pg. xx-xxvii), Chapter 1: Breaking the Surface (pg. 2-18), Chapter 2: A Trip to Objectville (pg. 25-40), and Chapter 3: Know Your Variables (pg. 47-61) | Exercises and Puzzles at the end of Chapter 1, 2, & 3. |
2 | September 9 | Control Flow and Statements, Functional Abstraction (methods), Arrays |
Chapter 4: How Objects Behave (pg. 71-86), and Chapter 5: Extra-Strength Methods (pg. 94-115) | Exercises and Puzzles at the end of Chapter 4 & 5 |
3 | September 23 | Data Abstraction: (Constructors, Scope of Variables & methods, O-O Design) |
Chapter 5: Extra-Strength Methods (continued reading), Chapter 6: Using the Java Library (pg. 122-157), and Chapter 9: Life and Death of an Object (pg. 232-262) | Exercises and Puzzles at the end of Chapter 5, 6 & 9 |
4 | September 30 | Inheritance, Polymorphism | Chapter 7: Better Living in Objectville (pg. 164-188), and Chapter 8: Serious Polymorphism (pg. 196-225) | Excercises and Puzzles at the end of Chapter 7 & 8 |
5 | October 7 | Grid/Distributed Computing -- Guest Lecturer: Bill Steinberg | ||
6 | October 14 | Review/Exam | ||
7 | October 21 | Privacy and Ethics-- Guest Lecturer: Saul Seinberg, Albany Law School | ||
8 | October 28 | Bioinformatics | ||
9 | November 4 | Systems Dynamics | ||
10 | November 11 | Systems Dynamics | ||
11 | November 18 | Systems Dynamics | ||
12 | December 2 | Systems Dynamics |
Download syllabus: msi692syllabus.pdf