CS313-Elements of Software
Instructor - James C. Browne
The objective of this class is to teach the concepts, principles and methods of developing application software. The focus will be on how to compose programs using libraries of components and layers of existing software as much as possible.
This is to be contrasted to a course in "programming." In particular, we will not be focusing on how to program algorithms for data structures, which is a mainline thrust for computer science majors.
This will essentially be a laboratory class. We will discuss concepts in lecture and illustrate the concepts with examples. The laboratories will then focus on how to implement, test, etc. the examples.
The sequence of coverage will be as follows:
The background materials for the class will include three elements:
The class work will consist of examinations, laboratory exercises and projects. All work will be submitted in JAVA.
All work must be your own work except where permission for collaboration is explicitly given.
The grade in the class will come 50% from the two exams, 25% from the laboratory exercises and 25% from the projects.
You may use your own computer or Computer Sciences Department laboratories. The CS Department laboratory will provide Code Warrior and the JAVA Development Kit Version 1.2.
We follow the University’s standard policies on academic honesty. They will be rigorously enforced. Cheating will result in action commensurate with the policies stated in the University’s Manual on Academic Honesty.
The schedule for lectures with topics and pointers to reference materials will be available on WebCT.