Another drawback is that some students may not respond positively to using a formal description approach as a method of clarification. Another way to address this would be to describe a system such as in the figure using a UML construct such as activity diagrams, thereby illustrating the parallelism. Or perhaps better, have the students generate the diagram. The students build their systems using a bottom-up strategy, while the design is predetermined. This could be motivated with a discussion appealing to the advantages and disadvantages of top down and bottom up design, in general and in the context of the hardware problem dealt with in the course.
System design requires decomposition.
Perhaps the concepts of cohesion and coupling, along with a design strategy that encourages high cohesion and low coupling, would be helpful. In this course, the basic design of the system they spend the semester on is predetermined. They simulate NAND gates, then use them to do flip flops, use them to do registers, use MUXs, decoders, and registers to do register files, use those, an ALU which they do, and a memory module which is given them, and do a processor with those. This can make them think design is too easy, or just happens. However, the concepts of cohesion and coupling could be used to help them understand the way the design is the way it is.