writing computer programs in higher level programming languages to solve problems of interest in a range of application domains. This class is intended for students with little experience in computing or programming.

Introduces core concepts in cybersecurity including confidentiality, integrity, authentication, risk management, and adversarial thinking.  The concepts will be applied to both traditional information technology (IT) systems and cyber physical systems (CPS). The course provides a cyber security foundation that will allow practitioners in other fields apply to understand cyber security trade-offs and will also provide interested students with a basis further study in cyber security. At the conclusion of the course, students should have a solid foundation in cybersecurity and hands-on experience.

Operating systems are an essential part of every computing system and play a major role in determining the performance and usability of the system. This course is an introductory course covering the fundamental concepts in the design, implementation and evaluation of an operating system. While the field of operating systems has been undergoing rapid change, the fundamental concepts remain firmly clear.  This course covers these fundamental concepts comprised of device management, process management, memory management and network management.