Department and CEG 255

Course Number

Course Title Introduction to the Design of Information Technology Systems


Course Thomas C. Hartrum

Coordinator

Total Credits 4

Catalog Description

Introduction to the design of information systems comprising modern technologies such as SQL database programming. networks, and distributed computing with CORBA, electronic and hypertext (HTML) documents, and multimedia. Prerequisite: CS 241.

Text Books

1.  Deitel and Deitel, Java How to Program, 3rd Edition, 1999: Prentice Hall, ISBN 0-13-012507-5.

Home Page

www.cs.wright.edu/~thartrum/CEG255SP01/intro255.html

News Groups

None. Students do use email to communicate to the instructor, while frequent home page updates are used to communicate in the other direction.

Course Goals

The student should have learned the following:

  1. An understanding of what can be accomplished by using modern language features to develop a distributed information technology system.
  2. Basic Java Programming.
  3. Introductory Java GUI Swing Programming.
  4. Basic relational database, SQL, and JDBC concepts.
  5. CORBA concepts.
  6. Introductory distributed multi-tier architecture concepts.

The student should be able to apply the concepts above to the following:

  1. Develop, test, and debug basic Java GUI programs.
  2. Define an SQL database and query it using JDBS calls from Java.
  3. Create a remote object and/or remote object factory using CORBA’s Java IDL.
  4. Use the above together to develop a distributed information technology system.

Prerequisite by Topic

  1. Fluency in C/C++.
  2. Knowledge of basic object-oriented programming concepts.
  3. Comfortable using DOS and Windows.
  4. Some experience using Unix.
  5. Basic Internet and computer literacy skills are also assumed. These include the ability to transfer files between systems, use basic text editors, navigate hierarchical file systems, and use web browsers to view information and download files.

Major Topics Covered in the Course

Wk Topic Readings

1 Intro, Java Applications Chap 1, 2, skim 3-7.

2 Java Features Chap 8-10, 14.

3 Java GUIs Chap 12,13.

4 More Java Above, handouts.

5 Catch up; review, Midterm Chap 1-14

6 Databases, JDBC Chap 18, Handouts

7 Databases, JDBC Chap 18, Handouts

8 CORBA Handouts

9 CORBA Handouts

10 Catch up; review All

Laboratory Projects

There are four programming homework problems to prepare you for the project. These count 20% of the course grade.

There is one project for the course which counts 25% of the course grade. It is done in three pieces, each of which builds on the previous one, which count 35%, 35%, and 30% of the project respectively.

The homework and projects are evaluated on the following criteria: (1) execution (the code must compile and execute); (2) correctness (meets the stated specification); (3) documentation; and (4) programming style. These are individual efforts, done only by the student (except for code provided by the instructor).

News Group Activity

While there is no formal news group, students are encouraged to use email to communicate to the instructor, and are advised to check the home page frequently between classes for important updates.

Estimate CSAB Category Content

Core Advanced

Data Structures 0.2

Algorithms 0.3

Software Design 2.0


Core Advanced

Concepts of PL 0.5

Comp Organization + 0.0

Architecture

Other 1.0

Oral and Written Communications

There are no oral presentations. Students submit documented source code of their projects and homework. Although documentation is part of the basis for grading, we do not claim that it constitutes written communications.

Social and Ethical Issues

None.

Theoretical Content

None.

Problem Analysis

The projects involve a distributed information system involving a GUI user interface, SQL backend database, and CORBA distributed objects. It is scoped in size and sophistication to fit a 10-week

course. Detailed analyses of the requirements of the project are performed by the student before implementing them.

Solution Design

The projects involve a distributed information system involving a GUI user interface, SQL backend database, and CORBA distributed objects, scoped in size and sophistication to fit a 10-week

course. Architectural designs, e.g., multi-tier aspects of GUI, business logic, and database, are given by the instructor at the conceptual level in the lectures, and also in example systems. Design tradeoffs concerning what should be done in the different tiers are discussed. Some design decisions are made by the instructor and become part of the “requirements.” The student needs to make further design decisions and implement them.