CSC 9010-001 TOP:Quantum Computing CRN: 32165
R 2:20-5:05pm, Instructor: Kristin Erica Obermyer
This course will provide a foundation in quantum computing through hands-on exercises. We’ll learn a bit of physics and math that underlie the strange and surprising world of qubits (quantum bits), entanglement and superposition. Quantum algorithms that rely on these core concepts will be explored and implemented using two different approaches from Microsoft Microsoft (QDK/Q#) and IBM (Qiskit).
We’ll use what you already know about classical computers (i.e., the ones we’re all using today) as a bridge to understanding how quantum computers work. We’ll see what NISQ (Noisy Intermediate-Scale Quantum) computers can do in the near-term, and we’ll look ahead to the exciting applications of fault-tolerant quantum computers in the future. We’ll analyze Google’s 2019 claim of reaching “quantum supremacy.” If you’re curious about quantum computing, this practical approach will help you be prepared to join the quantum workforce and to pursue new opportunities in this rapidly evolving field.
Prerequisite background: Programming experience in one high-level language
CSC 9010-002 Top: IoT Security in Context, A Hands-On Approach CRN: 32166
T 6:15-9:00pm, Instructor: James Solderitsch
Industrial Control System Security, Cyber-Physical System Security and Security within the Internet of Things (IoT) are all concerned with making our interactions with devices in the physical world safe and reliable. Medical devices, fitness devices, Smart-Home devices and our instrumented cars are beneficial to modern life but are also subject to compromise and have the potential to harm us. In this course, we will be taking a hands-on approach to the IoT by using real devices that employ sensors and actuators at the edge, are connected through a local gateway, and communicate to a cloud backend. Devices from Texas Instruments will be paired with a Raspberry Pi computer and students will use these devices at their own locations for labs and exercises. Cloud providers like Amazon Web Services (AWS), the IBM cloud and others will be connected to the class devices to provide an edge to cloud experience that is realistic and indicative of the commercial world of IoT. All along this experiential journey, we will be looking at how to make these kinds of devices and connections secure and what malicious actors can do to affect security and privacy. A midterm exam along with a final research report (or extended hands-on investigation) will be primary contributors to a student's grade. In addition student interaction will be facilitated and monitored through the Yellowdig platform that Villanova has integrated into its Learning Management System. While there are no formal prerequisites, students must be willing to work with development environments designed to enable the production of IoT systems. Some programming background will help students to get up to speed quickly. Some references related to planned course content include:
AWS IoT: Developing and Deploying an Internet of Things
A Hand Wash Sensor built from Off-the-Shelf Hardware
Build an Earthquake Early Warning (EEW) system and visualize historical seismic datasets
LPSTK: a new IoT hardware platform
CSC 9010-003 TOP: Cloud Native App Design & Development CRN: 32167
M 6:15-9:00pm, Instructor: Juan Carlos Vega
Cloud computing is a shared platform where users can consume storage, processing power, and other services on demand, without having to physically add more system resources to their environments. This course focuses on exploring and using such technologies to create innovative and complex business solutions that can drastically reduce the cost of creating such solutions, while offering new career opportunities for software and solution engineers looking to stay on the leading edge of the technology industry.
The course will explore the three companies that are often associated with Cloud Computing – Microsoft, Amazon, and Google. Each company has significantly contributed to growing the cloud platform and so, we will take an in-depth look at what each has to offer.
The learning objectives are to gain a thorough understanding of how to create real world applications using current cloud technologies; deep understanding of the cloud computing solution offerings from Amazon, Microsoft, and Google; a basic understanding of emerging technologies, such as OpenShift, Kubernetes, Heroku, Netflix OSS, and others; and, high level understanding of key concepts such as Cloud Provisioning and Orchestration.
Students should have a basic understanding of Cloud Computing Technologies, Development Environments and IDEs, and Programming Concepts & Languages.