595D - Public and Private Knowledge in Life Cycle Assessment

Firms, trade associations, and governments all have various occasions to make assertions to the public about the environmental performance of their operations or products, such as an environmental product declaration, a labeling claim, or a sustainability report.  In most or all of these cases, knowledge of private information is required to support or validate the assertion.  Without this knowledge, public confidence in the assertion is limited by the public's trust in the entity making the claim.

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

290I - Deep Learning for Pattern Recognition

Deep learning is a phrase given to a current widely used class of methodologies for building Pattern Recognition and Machine Learning algorithms in Academia and Industry.  Many of the deep learning techniques are from the field of Artificial Neural Networks (ANNs).  This course will provide an overview of the history of ANN research and applications from the 1950s to the present, followed by in-depth discussions and demonstrations of widely used and useful algorithms at the current time.

290T - Computational Algebra

This course cover a collection of research topics in computational algebra and number theory, as related to cryptography, cryptanalysis, security, and error-correcting codes. The students are expected to follow the course presentations, and return homework assignments. Additionally, each student is required to pick a particular area and write a short paper or presentation, covering the fundamentals of the area and describing possible open problems.

Topics