The following undergraduate Special Topics courses will be offered in the Fall of 2021:
CSC 5930-001: Software Studio
Professor Kristin Obermyer
CSC 5930-002: Software Studio
Professor Kristin Obermyer
Prerequisite: CSC 1052 or ECE 2620
This hands-on course is for students who like to be elbow-deep in code! Through targeted lectures, expert guidance and a studio-like environment, we will explore the art and science of creating reliable and maintainable code. Come discover this unique opportunity to acquire and refine skills used daily by professional software engineers.
Topics will include:
- test-driven development
- distributed version control
- continuous integration
- code coverage
- code quality metrics
- cultivating an expressive coding style
- professional tools
- code reviews
- software craftsmanship
- debugging
- refactoring
- defensive programming
- risk-conscious maintenance
- pair programming
- software experimentation and myth-busting
CSC 5930-003: Computer Vision
Dr. Jason Grant
Computer vision enables computers and systems to extract and derive meaningful information from digital images, videos, and other visual inputs. The goal of computer vision is much the same as human vision, enabling computers to see, observe, and understand. In the course, students will implement, test and evaluate several classical algorithms and techniques such as filtering, feature detection and matching, object recognition, stereo imaging, image alignment and stitching, and motion estimation. We will also cover newer, machine-learning based computer vision.
CSC 5930-004: IoT Security
Dr. 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