A course for freshmen designed to tie together both sides of computer science (hardware, such as logic and digital systems, and software, such as classic procedural Pascal programming) to emphasize systematic and invariant methods rather than describing rapidly changing technologies and to give a faster and stronger introduction to the profession is described. The course is based on the central idea of equivalence between hardware and software, which is exhibited by means of one preferred representation, the binary decision tree. A simple example is used to show the definition of a binary decision tree, its simplification and its decomposition. Hardware implementation is illustrated by a demultiplexer network, while software implementation is highlighted by the use of two structured-languages: a high-level language called MICROPascal and a low-level language called L4, the latter being obtained by a compilation of the former. The conclusion gives a summary of the course, including laboratory sessions.
展开▼