|
last update: 20 August 2002
The important concepts of a complete large computer system are introduced,
including the machine and assembly language, the low level use
of a standard environment and its implementation language. They are
firmly interlinked by studying the methodologies of low level program
control and debugging of assembler and implementation language code
under the standard environment, the assembly code generated by
compilers, and the overall environment. Three lecture hours per week and three
hours of scheduled laboratory per week, plus extensive laboratory work outside
of class.
The goals of this course are to provide a technical bridge between the
sequence CSC 201J, CSC 202J, and
CSC 260, which emphasize programming and problem solving skills,
and the explicit knowledge of the environment in which real problems are solved.
Upon successful completion of the course a student will have:
Typical assignments: a small binary program hand compiled from assembler, several small assembler programs, several small implement- ation language programs including a sparse matrix abstract data type, benchmarking of the implementation language, and hand-tuned assembler versions of an enumerative puzzle solver. Consult the main list of CSC courses for the languages and software currently used in this course. All programs must conform to departmental guidelines for program design and implementation, and all laboratory reports must conform to the written guidelines supplied by the instructor. Regardless of numeric average or grades on individual assignments or examinations, a student will not be eligible for a passing grade in the course unless he or she has submitted a lab report for every programming assignment within the time-frame specified by the instructor. The course grade will be determined using the following approximate weights: lab reports 40%; final examination 25%; other tests and homework 35%. Bibliography:
Computer Studies Minor • Courses • Course Sequence Diagram • Computer Laboratories |