COMP 360 - Software Applications
Spring, 1997
Instructor: M. D. Rice
Course Overview
The course is an attempt to bridge the gap between the traditional courses found in the computer science curriculum and the "real-world" of software applications. Usually, a course focuses on a single topic such as formal languages, algorithms, or databases, while the development of modern software applications usually requires the integration of a variety of techniques and technology. In addition, because of rapid technological changes, a course often does not use the most current software tools and software development environments.
In this course, we will use Microsoft's Visual Basic 4 programming environment to develop a variety of heterogeneous software applications. This is possible because the Visual Basic environment permits the integration of a variety of software technologies. For example, it is possible to write an application that
The lectures will present a variety of background material in the form of small modules based on selected topics. The topics will be drawn from areas like object-oriented programming, software design, operating systems, database systems, and and illustrated in the context of Visual Basic. Since each topic could easily constitute a full course, my presentation will try to emphasize the key design and "linking" ideas that connect the various topics.
Course Requirements
Each student will be expected to design and implement a "realistic" software application using Visual Basic 4. Here the phrase "realistic" does not refer simply to the number of "lines of code" in the project, but rather to the fact that it should involve many of the characteristic features of heterogeneous software applications. These include the use of appropriate classes, documentation, a user interface involving multiple windows, error-handling, a database, use of graphics, i/o capability (files and printing), and an on-line help facility.
In general, I want each student to develop a separate project, but I am not ruling out small team projects. However, I will insist that the individual contributions of team members be sharply delineated. Since there are many different interests in the class, I am not planning to dictate the nature of the project. It can represent entirely new material or it can be related to work that you have already done in another setting. It can be an assembler, parser, tutoring system, hardware simulator, banking system, special editor, animation tool, etc. The project represents a contract in which you are required to give me design documents, keep me informed of your progress, and make a final project presentation. The precise requirements for the project will be handed out later.
Course Materials
I have purchased multiple copies of Visual Basic 4 for Windows NT 4 including a number of sets of the Microsoft manuals. Each set consists of a Programmer's Guide, a Language Reference Manual, and a Professional Features manual. The Programmer's Guide contains an overview of most aspects of Visual Basic. The Language reference manual contains a summary of the properties, events, and methods for forms and standard controls. The Professional Features manual contains material on OLE, databases, and custom controls. There is also a short on-line tutorial that is accessible in the Visual Basic environment.
There are many books on Visual Basic 4, none of which is very "academic" in nature. Some of the Web sites listed below give you short summaries of various books, so you may find one that appeals to you. I have not ordered a book for the class because I have not found one that is distinguished (although the collected articles in Reference 1 below are generally interesting and provide some good overviews).
References
Visual Basic
Windows Operating Systems
Useful Web Sites
| Cary Prague Publishers | http://www.caryp.com/ |
| MacMillan Publishing | http://www.mcp.com/mcp/ |
| Microsoft's Knowledge Base | http://www.microsoft.com/kb/ |
| Microsoft Press Books | http://www.microsoft.com/MSPRESS/books/b.htm |
| Visual Basic Material | http://www.microsoft.com/vbasic/ |
| Visual Basic Support Feature Articles | http://www.microsoft.com/VbasicSupport/content/ |