CSC Graduate Special Topic Courses - Spring 2020

CSC 591 - 001   User Experience - Dr. Watson

Prerequisites: CSC 454 or CSC 554

Description: As technology markets mature, products can no longer differentiate themselves by functionality alone. Instead, they must make more emotional appeals: they must be more interesting, engaging, memorable or moving. This course studies the definition, foundations, methods, application and research frontiers of user experience, which is concerned with how devices and systems create these sorts of cognitive impacts on their users. This includes current theories of high-level perception, attention, engagement, emotion, aesthetics, communication, learning and behavior; how they are impacted by a system or a product; techniques for generating products and designs with good user experience; and methods for measuring those human impacts. Because good interfaces are an essential part of good user experience, this course assumes students are already familiar with human-computer interfaces, but moves its focus from a system’s effect on productivity to its much broader effect on human experience.

CSC 591 - 002   System Attacks and Defenses - Dr. Kapravelos

Prerequisites: You need to understand (1) IP networks, (2) modern operating systems (e.g., Windows, Linux), (3) basics of systems theory and implementation (e.g., file systems, distributed systems, networking, operating systems, etc.). If you do not have a basic understanding of these areas, you will have difficulty with the course. If you have questions regarding these prerequisites, please contact the instructor.

Description: In this class, we will explore several aspects of security research with the goal of understanding the attacker’s mindset. The class will help the students to develop a foundation and a well-rounded view of security research. We will cover some of the state-of-the-art attack/defense techniques and ongoing research activities in a number of topics in software security, web security, privacy and network security.

CSC 591 - 020   Spatial and temporal data mining - Dr. Vatsavai

Description: This class is cross-listed with CSC 791 - 020.

CSC 591 - 021   Internet of Things: Application & Implementation - Dr. Shahzad

Prerequisites: Solid understanding of basic network design, architecture, and operations. Good programming skills. 

Description: This class is cross-listed with CSC 791 - 021, ECE 592/792 - 021.

This course will focus on advanced topics in Internet of Things (IoT). These topics will include (but are not limited to) challenges in the design of IoT infrastructure, limitations of existing protocols such as HTTP when used with IoT, Security, low power design considerations, applications of machine learning techniques, and existing and emerging IoT standards. The students will be required to read research publications in this area. The course will also include multiple demos, such as for fog computing, using real IoT hardware such as Intel Edison boards and/or other similar devices. The course will also cover one or more of IoT platform such as IBM's Bluemix platform, Microsofts HomeOS and Lab of Things platforms, etc. To enable students to see IoT in action, they will be required to do projects using real IoT devices.

CSC 591 - 081   Network Architecture and Orchestration for IoT - Dr. Dutta

Prerequisites: ECE/CSC 570, or the equivalent, is a prerequisite of taking this special topic.


In addition to the pre-requisites, knowledge of Internet architecture and protocols, practical Internet application programming experience, and familiarity with Linux networking, are desirable background for this course.  In particular, having successfully taken CSC/ECE 573 (Internet Protocols) would be good preparation for this special topic.

This class is cross-listed with CSC 791 - 054, ECE 592 - 089.

The newly emerging paradigm of Internet of Things is blurring the lines between computing, networking, storage, and data, while also making deeper inroads into the real world every day.  Applications such as self-driving automotives, aerial mobile computing, and smart connected spaces are driving software deeper into coordinated control and orchestration of network elements and computing nodes, as well as softwarizing networks themselves.  The same applications, on the other hand, are driving models of physical computing, as the close integration of sensors, actuators, and their real-time control loops into traditional computing models breaks down the pure software abstraction of computing.  Exemplar systems ranging from hero experiments to commodity testbeds and IaaS have been proposed and constructed, as the gap between cutting-edge infrastructure research and actively operating engineering solutions becomes ever narrower.  In this advanced level special topic, we will examine the issues and challenges of system orchestration in such engineering systems, the specific design solutions of some such systems including a nationwide initiative being led by and at NC State, and gain familiarity with some of the key enabling technologies.
Beyond a few introductory lectures, the course will be project-oriented.  Students will undertake projects individually or in small teams, to be determined by the size of the class.  500-level projects will be geared toward studying  implementation and experimentation of orchestration and softwarization systems, and will need to produce functioning software systems that build on existing open systems to demonstrate some specific functionality.   700-level projects will address the research literature in these areas, and will need to produce research reports that make either original contributions, or contributions of systematization (surveys), that are of publishable quality.