Transparent Gif

Department of Computer Science

University of California, Santa Barbara

CS 290 Courses for Fall 2011

For help in enrolling in these courses, please contact the Undergraduate Advisor.

CS 290B Scalable Internet Services

Instructor: Jon Walker
Class satisfies these areas for MS students only: Systems & Applications
Enrollment Code: 70169
Location: Phelps 2510
Day and Time: TR 900-1050
Units: 4.0, letter grade ONLY
Class website: http://www.cs290.com

Description:

This course explores advanced topics in highly scalable internet services and the underlying systems architecture. Large scale web sites and software delivered as a service are becoming pervasive, and are running on millions of servers. Web 2.0 has redefined the web user experience and new infrastructure technologies have redefined what it takes to launch a state-of-the-art web site. Amazon's web services, such as Simple Storage Service (S3) and Elastic Compute Cloud (EC2), and Google's AppEngine are changing the game for hosting scalable fault-tolerant sites. New programming frameworks, such as Ruby on Rails, are making the development of cool sites easier. Yet some concerns just don't go away: caching, load balancing, fail-over, redundancy, back-end databases, security, and monitoring to name a few.

In this course students will use state-of-the-art web technologies and learn how to tackle the scalability and fault-tolerance concerns. This is a "learn by doing" course: course projects will form the primary focus of the course with the lectures and discussion of research papers providing background material. Projects will be conducted in teams, and students will build their own scalable, redundant web site on EC2 using these web technologies and the Ruby on Rails framework.


CS 290C Program Analysis

Instructor: Ben Hardekopf
Class satisfies these areas for MS students only: Theory & Systems
Enrollment Code: 54957
Location: Phelps 1401
Day and Time: TR 100-250
Units: 4.0, letter grade ONLY
Class website: http://www.cs.ucsb.edu/~benh/cs290/

Description:

Program analysis is a key technology for many areas of computer science, from security and verification to architecture and operating systems and beyond. The goal of program analysis is to discover properties of program behavior—i.e., guarantees about how a program will behave when it executes. The purpose of this course is to provide an introduction to program analysis and its capabilities and limitations.

This course covers static program analysis of imperative programming languages. Topics include control-flow analysis, dataflow analysis, sparse analysis and static single assignment form, pointer analysis, interprocedural analysis, and flow- and context-sensitivity. We will study both practical and theoretical aspects of program analysis, from implementation strategies to soundness, complexity, and termination properties. This will be a project-intensive course; students will be implementing a variety of program analyses over the quarter.


CS 290C Virtualization and Cloud Computing Technologies

Instructor: Chandra Krintz
Class satisfies these areas for MS students only: Systems & Applications
Enrollment Code: 09449
Location: Phelps 1401
Day and Time: MW 900-1050
Units: 4.0, letter grade ONLY
Class website: http://www.cs.ucsb.edu/~ckrintz/classes/f11/cs290

Description:

In this course, we will investigate the recent advances in virtualization and cloud computing software systems. The former includes system-level (hypervisors) and process-level virtualization. The latter includes infrastructure-as-a-service, platform-as-a-service, and software-as-a-service technologies, as well as cloud programming languages, frameworks, and models. The course will consist of lectures, student paper presentations, and discussions. Student pairs will implement and evaluate cloud-related projects.


CS 290D Introduction to Bioinformatics

Instructor: Ambuj Singh
Class satisfies these areas for MS students only: Applications & Foundations
Enrollment Code: 50815
Location: Phelps 2510
Day and Time: MW 1100-1250
Units: 4.0, letter grade ONLY
Class website: http://www.cs.ucsb.edu/~ambuj

Description:

The explosion in biological knowledge due to various genome projects and other high-throughput techniques has created entirely new fields and industries, and a need for trained computational biologists who are familiar with Biology, Statistics, and Computer Science. This course will introduce principles underlying current techniques in the analysis of different kinds of biological data. It will be fascinating to study how informatics tools and algorithms have become essential to biology.


CS 290E Trustworthiness in Embedded Systems

Instructor: Tim Sherwood
Class satisfies these areas for MS students only: Systems
Enrollment Code: 50823
Location: Phelps 1401
Day and Time: TR 1100-1250
Units: 4.0, letter grade ONLY
Class website: http://www.cs.ucsb.edu/~sherwood/cs290/

Description:

We spend our lives bathing in a sea of computer systems as they control our infrastructure, our transportation, our money, and are increasingly even our bodies (through medical devices). How does one build an embedded system that is "safe" or "secure"? What does it even mean to be "safe"? How can I convince someone else (a customer, client, or agency) that the system will always behave in some particular way? What makes this problem uniquely challenging for embedded systems as opposed to more general purpose computing devices? In this course we will explore these questions, examining both existing practice and newer research proposals in the area. The course will cover both software-only and hardware-only approaches to these problem, although it will concentrate primarily on those problems and opportunities that involve both.


XHTML Validation | CSS Validation
Updated 09-Sep-2011
Questions should be directed to: webmaster@cs.ucsb.edu