The course is designed around four programs that the students study carefully and manipulate. Each program introduces new concepts of programming as well as software design as well as computer science. Students learn not only how to code particular functions, but an approach to designing a program utilizing these elements. The four programs are summarized in the following table. Students are given assignments which require them to modify these programs or to write applications that use them.
Middle layer is circuit board layout.
Bottom layer is components, e.g. AndGates, OrGates, etc. Logic gate design. One view is a textbased menu system for loading and running sample assembly language programs. The controller handles user requests. Run time stack.