Abstract

On the premise that many of the fundamental concepts of computer science can be better taught in a hands-on, dedicated computing environment (i.e., a microcomputer), as opposed to a large multi-purpose system in which the student is insulated from the machine by multiple layers of operating system software, we have developed a microcomputer-based lecture/lab course to teach CPU organization, digital computer architecture, and assembly language programming as a third undergraduate course in computer science. By beginning with simple machine organizations and simple assembly languages, and later on making a transition toward more complex architectures and languages, the transfer of knowledge and experience is positive at every step. The same laboratory also supports a graduate course in microcomputer systems design which teaches hardware technology, component specification, operating system design, hardware/software tradeoffs, and practical applications such as process control. This paper outlines the motivation and justification for the project, and then discusses the actual design of these courses and their supporting laboratory. This project is supported in part by two grants from the National Science Foundation: SER-7915929 for the acquisition of the microcomputer equipment and SER-8000802 for the development of the undergraduate course material.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call