CPEN 412 (Microcomputer Systems Design) is a course I completed at UBC. The course focused on interfacing with microprocessors. This includes revelent communication protocols, RTOS concepts, and system design choices. The final project was to port this retro video game to the MC68K processor. It was taught by Professor Yair Linn. The course website provides the following description of the course:
Microcomputer Ssystems come in all shapes and sizes with differing
levels of speed and sophistication, ranging from simple devices such as those made by Microchip, through to more sophisticated 8/16 bit microcontrollers such as the 8051/ARM etc. right up to multi-processor systems based on 16/32 bit architectures communicating along networks and backplanes.
The range of applications for microcomputer based systems is huge and getting bigger each year. These days a microcomputer can be found in virtually all household electrical items such as microwave ovens, dishwashers and toasters to VCR’s, DVD’s and Wireless Network Base Stations. Even your average car has a dozen or more microcontroller/microcomputers within it. The top of the range BMW and Mercedes Benz models have 60+ computers on board, controlling such things as engine management, automatic transmission, alarm/immobilizer, satellite navigation, entertainment etc.
At the more sophisticated end of the market, highly parallel, multi-processor systems are used in manufacturing, telecoms, military installations and air-traffic control systems.
This course will give you the necessary background to become a Microcomputer systems designer. You will learn how to analyze the requirements for a system, how to chose a suitable architecture and learn about a range of design and interfacing techniques.
<cite><a href="https://ece.ubc.ca/courses/cpen-412/" target="_blank" rel="noreferrer noopener">
UBC CPEN 412 Page, 2025 </a>
</cite>