To provide a working knowledge of the hardware and architecture of a computer system, particularly focusing on aspects such as memory hierarchy, cache coherence and multi-threaded hardware support that affect a full understanding of how to write multi-threaded software. This is a practical course, grounded in a theoretical understanding of concurrency and the problems and benefits it brings. We will use multi-threaded Java and provide an understanding of how to apply appropriate concurrency control primitives where there is simultaneous access to shared resources.

This course reviews common applications of wireless communication and introduces key terminology that facilitates the discussion of wireless communication in practice. Several topics are addressed, including broadcast radio and broadcast television, cellular communication, wireless local area networks, personal area networks, satellite networks, ad hoc networks, sensor networks, and finally underwater communication. The key concepts and the connections to digital communication are highlighted along the way. For a senior-level undergraduate course, I would cover the material from the entire book. For a graduate course, I would cover the entire book with an additional implementation or research project.

CIT106 Network+ This course is designed to provide you an applied and practical knowledge required to design, configure, install and troubleshoot hardware, peripherals and protocols used in local area networking. The course content is patterned after the material required to pass the vendor neutral Network + (N10-006) examination.