CIS 360:
Introduction to Computer Systems


Description

Introduction to computer architecture at the machine language and assembler language level; assembler language programming and laboratory.

Level and Credits

Objectives Cross-Reference Table

Student Learning Outcome (Objective) Strategies and Actions ABET 2000 Criterion 3 Program Objectives Assessment Methods and Metrics
To master To master using the computing environment (operating system, tools, language system, etc.) to complete lab assignments and to communicate electronically with others Practice: require use of these aspects of the environment to complete closed lab assignments (working in 2-person teams) and open lab assignments d, g, i, k 1c, 2b, 3a Closed lab assignments, open lab assignments; grades
To master using C++ class templates and classes, and related RESOLVE/C++ principles for clients, to write layered implementations of operations Lecture and in-class activities; practice: require layered implementation of various checking and extension operations (e.g., for some of Array, List, Partial Map, Queue, Record, Sequence, Set, and Stack), using templates for decoupling c, e, k 1a, 1c Homework, closed lab assignments, open lab assignments, exams; grades
To master using simple recursion to write layered implementations of operations Lecture and in-class activities; practice: require use of recursion to implement various operation bodies (e.g., Sort extension for Queue implemented using Quicksort and Mergesort, Reverse extension for Sequence and Queue) c, e, k 1a, 1c Homework, closed lab assignments, open lab assignments, exams; grades
To master using simple techniques to test layered implementations of operations, including developing and carrying out simple specification-based test plans Practice: require systematic testing of various operations (e.g., Find_Min_And_Max for Queue) b, e, f, k 1a, 1c, 2c Homework, open lab assignments, exams; grades
To master using simple techniques to debug layered implementations of operations Practice: require tracing table and printout of debugging information before answering student questions about run-time errors b, e, f, i, k 1a, 1c, 2c Open lab assignments, exams; grades
Be familiar with using the Array, List, Partial Map, Queue, Record, Sequence, Set, and Stack templates to write layered implementations of operations Lecture and in-class activities; practice: require layered implementation of various checking and extension operations, using templates for decoupling c, e, k 1a, 1c Homework, closed lab assignments, open lab assignments, exams; grades
Be familiar with using basic C++ control structures and statements, RESOLVE/C++ class templates and classes, and related RESOLVE/C++ principles for clients and implementers, to write bodies of component realizations with layered data representations Lecture and in-class activities; practice: require layered implementation of various kernel components (e.g., Sequence over Record of two Stacks, Partial_Map over Array of Queue of Record with hashing, Queue over List) c, e, k 1a, 1c Homework, closed lab assignments, open lab assignments, exams; grades
Be familiar with reading code that uses dynamic storage management (new and delete) and pointers to create simple "raw C++" data representations Lecture and in-class activities; practice: require detailed examination of various "raw C++" kernel components (e.g., Queue and Stack) c, e, k 1a, 1c Homework, exams; grades
Be familiar with using basic algorithm analysis techniques and notations to analyze and express execution time of operations whose implementations involve straight-line code and simple loops Lecture and in-class activities; practice: require analysis of some layered operations (e.g., Find_Min_And_Max, Reverse for Queue), and (working in 2-person teams) require timing experiments (e.g., on various implementations of Sort for Queue) a, b, d, e, k 1a, 1c, 2b Homework, closed lab assignments, exams; grades
Be familiar with using simple formal logic assertions involving mathematical set models to understand and reason about an operation's behavior Lecture and in-class activities; practice: require understanding of operation specifications for Set and Partial_Map well enough to implement those operations, and to trace over loops using loop invariants a, e, k 1a, 1b, 1c Homework, closed lab assignments, open lab assignments, exams; grades
Be familiar with using simple techniques to test implementations of class templates that define new types, including developing and carrying out simple specification-based test plans Practice: require systematic testing (working in 2-person teams) of various kernel component implementations (e.g., Partial_Map) b, d, e, f, k 1a, 1c, 2b, 2c Homework, closed lab assignments, open lab assignments, exams; grades
Be familiar with using simple techniques to debug implementations of class templates that define new types Practice: require tracing table and printout of debugging information before answering student questions about run-time errors b, e, f, i, k 1a, 1c, 2c Open lab assignments, exams; grades
Be exposed to using data representation conventions ("representation invariants") and correspondences ("abstraction relations") to reason about correctness of data representations Lecture and in-class activities; require reasoning about correctness of simple data representations (e.g., Sequence over Record of two Stacks, Queue over List, Stack over List) a, c, e, k 1a, 1b, 1c Homework, exams; grades
Be exposed to writing programs using dynamic storage management and pointers to create simple "raw C++" data representations Lecture and in-class activities; practice: require implementation of one "raw C++" kernel component (e.g., List) c, e, k 1a, 1c Homework, closed lab assignments, open lab assignments, exams; grades
Be exposed to writing simple formal logic assertions involving mathematical set models to describe an operation's behavior Lecture and in-class activities a, c, e, k 1a, 1b, 1c None
Be exposed to using the RESOLVE/C++ principles for interface designers to guide the choice of mathematical model and operation behavior of a new software component Lecture a, c, e, k 1a, 1b, 1c None


Last modified: Tue Feb 17 07:40:40 EST 1998