CS313-Elements of Software
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.
The fall 1999 offering of CS313, "Elements of Software," is the first offering of this class. In the future, students will have had CS303, "Elements of Programming," before taking CS313. But, because this is the first offering of CS313, we cannot assume a uniform knowledge of programming in JAVA. The coverage of the first third of the class will therefore be devoted to making sure that everyone has a common background in basic programming in JAVA.
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 is attached. Because this is the first offering of this course, and because the time to normalize backgrounds is not yet established, the lecture schedule is subject to change.