Spring 2017 Special Topics Classes

CSCE 5013 Section 001:  Wireless Systems Security - Dr. Dale Thompson

Description:  Wireless systems such as cellular and mobile networks, wireless local area networks, sensor networks, and RFID are vulnerable to attacks.  The goal of the class is for students to understand how to design secure wireless systems.  Security topics include confidentiality, integrity, availability, privacy, and control of fraudulent usage of networks.  Issues addressed include basic wireless theory, cryptography, threat modeling, risks, and mitigation techniques.  

Prerequisites:  Graduate Standing

Textbook/required material:  None

Course goal:  The goal of the class is for students to understand how to design secure wireless systems.

Topics covered:

  • Wireless Background:  Hacking, Applications, Ethics, History, Social Implications, Privacy, and Basic Wireless Theory
  • Wireless Security:  Confidentiality, Integrity, Availability, Threats to a Wireless System, Introduction to Cryptography, Threat Modeling
  • Wireless Local Area Networks (LANs) Security: IEEE 802.11 (WiFi), SSID, MAC filtering, WEP, WPA, Physical Security, Offensive and Defensive Security Tools, VPNs
  • Cellular and Mobile Network Security: Cloning, Fraudulent Usage, Location Privacy, Wide Area Data Services
  • Sensor Network Security
  • RFID Security: Cloning, Lightweight Cryptography, Physical Unclonable Functions (PUFs), Fingerprinting, Side-Channel Attacks such as Timing and Power Analysis
  • Future Directions


CSCE 5013 Section 002:  Introduction to DNA Nanotechnology - Dr. Matt Patitz

Description: Nanotechnology, which deals with the manipulation of matter on atomic and molecular scales, encompasses a rapidly growing and evolving sphere involving a wide variety of sciences and engineering disciplines.  Nanotechnologists are developing systems in which molecules are designed to self-assemble into complex structures and materials, perform computations, diagnose diseases, and deliver drugs, among many other things. This course will serve as an introduction to several fundamental aspects of theoretical and computational modeling of nanoscale systems, followed by an introduction to laboratory techniques used to develop them. Topics will cover material in mathematics, computer science, physics, chemistry, and biochemical and biomolecular engineering. However, students from all of those and related disciplines are encouraged to enroll and introductory material will be provided and covered for each topic. The goal is to teach students to synthesize knowledge across the entire spectrum and utilize those tools to analyze and design nanotechnological systems.

Prerequisites:  Calculus I and II.  Discrete Math, Physics, and Chemistry are suggested but not required.

Textbook/required material:  No textbook will be required but materials, including tutorials, published papers, and lecture notes will be made available throughout the course.

Course goal:  To introduce students from a variety of disciplines to the basic techniques used in DNA nanotechnology, including modeling, designing, creating, and testing systems composed of DNA molecules which self-assemble into nanostructures and/or perform computations.  These techniques span mathematical and computational modeling to laboratory techniques for implementing and measuring these systems.  Students will especially learn how to work with others from different disciplines to combine areas of expertise in a highly interdisciplinary and rapidly evolving new area of cutting-edge technology.  

Topics covered:  

  • Introduction to computational theory and models of computing
  • Abstract models of algorithmic self-assembly (the abstract and kinetic Tile Assembly Models)
  • Molecular implementations of algorithmic self-assembly (DNA tiles) and hard-coded self-assembly (DNA origami)
  • Computing with biomolecules – mass action and stochastic chemical reaction networks
  • Computational modeling of molecular systems (fine grained and coarse grained modeling)
  • Overview of chemistry involved and experimental techniques
  • Molecular biological techniques for DNA nanotechnology (This will include basic techniques of molecular biology, including PCR, gel-electrophoresis, restriction enzyme digestion, DNA replacement reactions, etc.)


CSCE 5013 Section 003:   Cloud Computing - Dr. Miaoqing Huang

Description: Cloud computing has entered the mainstream of information technology, providing infinite or at least highly elastic scalability in delivery of enterprise applications and software as a service (SaaS). Amazon Elastic Cloud, Microsoft Azure, Google App Engine, and a few other offerings give both mature software vendors and start-ups the option to deploy their applications to a system of infinite computational power with practically no capital investment and with modest operating costs proportional to the actual use. In this course, we will focus on the architecture of today’s cloud computing client systems, the evolution of the Internet to support the cloud, the architecture of modern cloud data centers, the technologies used within them, and how to develop applications in the cloud using MapReduce and Spark 

Prerequisites:  CSCE 3613 Operating Systems or instructor consent

Textbook/required material:  None.  Handout and other course materials will be given in class.

Course goal: This course will teach what cloud computing is, the architecture of cloud computing systems, how it works, both the pros and cons of current cloud computing systems, the future of cloud computing, and the knowledge of MapReduce and Spark.

Topics covered:

  • Introduction to cloud computing
  • How cloud computing works
  • Architecture of cloud computing client systems
  • Architecture of modern cloud data centers
  • Network routing and protocols supporting cloud computing
  • Case study of commercial clouds
  • Future cloud computing
  • Programming in MapReduce
  • Programming in Spark


CSCE 5013 Section 004:  Design Automation of VLSI Circuits and Systems - Dr. Yarui Peng

Description:  This course studies physical design, analysis and optimization of VLSI circuits and systems with emphasis on computational realizations and optimization. We start with some related topics such as graph algorithms, and discuss various well-known algorithms and methodologies in the design process of VLSI circuits, including design partitioning, logic synthesis, floor planning, routing, static timing analysis and performance-driven layout. It requires a basic knowledge of digital circuit design, data structure, and object-oriented programming.

Prerequisites:  CSCE 3953 System Synthesis and Modeling, CSCE 3193 Programming Paradigms

Textbook/required material:  There is no required textbook for this course. Course notes for all lectures will be used. However, the following books are recommended:

  • Practical Problems in VLSI Physical Design Automation, Sung Kyu Lim, Springer, 2008, ISBN 978-1402066269
  • VLSI Physical Design Automation: Theory and Practice, Sadiq M. Sait and Habib Youssef, World Scientific, 1999, ISBN 978-9810238834

Course goal: The objective of this course is to study algorithms and methodologies to solve practical problems in computer-aided VLSI design. We shall discuss how to transform a circuit from a structural to a gate-level representation, and finally into layout and masks. Because of design complexity, such transformation needs to be efficiently carried out using computers so that the resulting layout satisfies topological, geometric, timing, power and manufacturability constraints. Students will also learn to compare the complexity and efficiency of various algorithms for physical design, analysis and optimization, and can implement such algorithms with a programming practice.


CSCE 5013 Section 005:  Data Visualization - Rida Moustafa


Visualization is the creativity of designing tools and methodologies to transform data into visual graphics to better understand relationships and communicate complex information more accurately and effectively. Visualization is empowered by the visual encoding that integrate the perceptual and cognitive capabilities of human to improve our decision making process. Furthermore, the visual representations of the data enable collaboration of diverse audiences in the process of analytic thinking. This course is designed to help students understand the techniques and algorithms for creating effective visualizations based on principles from multiple fields such as computer graphics, exploratory data analysis, perceptual psychology, and cognitive science. The course is tailored towards students interested in the use of visualization in their own work and/or in building advanced visualization tools and systems. Students are expected to actively participate in class discussions, complete several short programming and data analysis assignments as well as a final project.  Students are encouraged to write up the results of the project in the form of a conference paper submission. There are no prerequisites for the class and the class is open to graduate students as well as advanced undergraduates (by permission of instructor). Basic working knowledge of, or willingness to learn, graphics/visualization tools (e.g., D3, HTML5, OpenGL, etc.) and data analysis tools (e.g., R Excel, Matlab) will be useful. Some additional topics from the literature may be covered. 

Prerequisites:  CSCE 3193 Programming Paradigms and MATH 3083 Linear Algebra

Textbook/required material:  

  • The Visual Display of Quantitative Information (2nd Edition). E. Tufte.  Graphics Press, 2001
  • Envisioning Information, (3rd Edition). E. Tufte. Graphics Press, 1990

Recommended books:

  • The Elements of Graphing Data (2nd Edition), William S. Cleveland, AT&T Bell Laboratories, 1994
  • The Grammar of Graphics (Statistics and Computing): Leland Wilkinson, D. Wills, D. Rope, A. Norton, R. Dubbs, Springer Science & Business Media, 2005

Course goal: 

This course is designed to provide students with the foundations necessary for understanding and extending the current state of the art in data visualization. By the end of the course, students will be able to: 

  • Understand of the key techniques and theory used in visualization, including data models, graphical perception and techniques for visual encoding and human interaction.
  • Visualize and explore data from multiple domains including multivariate data, networks, text and cartography.
  • Build and evaluate visualization systems.
  • Identify the pros and cons of different data visualization approaches.
  • Read and discuss research papers from the visualization literature.

Topics covered:

  • Introduction to Visualization
  • Data and Image Models
  • Aspects of Visualization Design
  • Exploratory Data Analysis
  • Interactive Visualization
  • Multidimensional Data
  • Graphical Perception
  • Visualization Software
  • Animation and color-coding
  • Network analysis and visualization
  • Text visualization
  • Mapping & Cartography