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:
- An understanding of what can be accomplished by using modern language features to develop a distributed information technology system.
- Basic Java Programming.
- Introductory Java GUI Swing Programming.
- Basic relational database, SQL, and JDBC concepts.
- CORBA concepts.
- Introductory distributed multi-tier architecture concepts.
The student should be able to apply the concepts above to the following:
- Develop, test, and debug basic Java GUI programs.
- Define an SQL database and query it using JDBS calls from Java.
- Create a remote object and/or remote object factory using CORBA’s Java IDL.
- Use the above together to develop a distributed information technology system.
Prerequisite by Topic
- Fluency in C/C++.
- Knowledge of basic object-oriented programming concepts.
- Comfortable using DOS and Windows.
- Some experience using Unix.
- 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.