293N - Data Driven Networking and Systems Design

This graduate-level special topic class will cover emerging topics on data-driven networking and systems design, ranging from data center networking,  mobile networking/computing, cloud computing, infrastructure for social networks, Internet of Things, and cyber physical systems.  Students will read and present papers from recent top conferences, and do a team project. 

Students should have taken at least one programming language class and one networking class (CS176, CS276), and have experiences in doing software projects of reasonable size/complexity. 

293B - Cloud Computing

The course itself will combine, lectures, assigned  reading, and in-class discussion with a quarter-long software development project that attempts to familiarize the student with the strengths and weaknesses of current approaches to cloud computing.  In addition, students will be expected to describe the research challenges they have identified as a result of their experiences in the course in both written and oral presentation formats.

Specific topics the course will cover include

-- Infrastructure as a Service (IaaS)
-- Platform as a Service (PaaS)

290D - Techniques for Data Integration

Enterprise systems are large-scale software applications to support
business operations; they typically include software systems for data
management, business process/workflow management, information flows,
reporting, and data analytics.  Focusing only the data management
aspect, a typical enterprise has to struggle with many data
integration difficulties, since its data are usually spread around
many database systems, workflow systems, file systems, etc. and in a
variety of form possibly with no coherent semantics. In this course,

290F - Computing in Challenging Environments

Internet access is so critical it has been declared a “human right” by the United Nations. In developing nations Internet access can critically influence socio-economic advancement, and can enable democratic change, wide-spread education and improved health care.  In times of emergency Internet access provides vital, and at times life-saving, information.  Despite its value to society, 60% of the global population still lacks Internet access due to geographic remoteness and issues of affordability.

290F - Smartphone-centric Systems and Applications

Smartphones are becoming hugely popular. Driving interests in smartphones not only push for new exciting applications, but open up a new set of challenges on sensing, connectivity, location, energy, privacy and security issues in mobile computing.  In this advanced graduate class, we will be discussing recent developments in smartphone-based mobile systems and applications. In addition to reading and presenting recent technical papers, students will do a team project using smartphones. 

Prerequisites 

290C - String Analysis

String manipulation is a crucial part of modern software systems; for
example, it is used extensively in input validation and sanitization,
and in dynamic code and query generation. The goal of string-analysis
techniques is to determine the set of values that string expressions can
take during program execution. String analysis can be used to solve many
problems in modern software systems that relate to string manipulation,
such as: (1) Identifying security vulnerabilities by checking if a security