Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
CS343: Programmable Open Mobile Internet
[go: Go Back, main page]

Course Wiki

This page only gives general information about the course; please use the Course Wiki (Stanford campus or Stanford WebAuth access only).

The Wiki uses a self-signed SSL certificate, so your web browser will give you a BIG warning when you attempt to view the Wiki from off-campus. Please ignore the warning and add an exception; the warning is about authentication (i.e. the web browser does not know to whom it is connecting). We are using SSL to protect the security of your WebAuth login token; we are not attempting to guarantee integrity (i.e. we are who we say we are!).

Course Description — Spring 2008

We are on the verge of a new computer revolution where billions of people all around the world will be carrying smart phones.  Unlike PCs, which standardized on the Wintel architecture over 20 years ago, the smart phone revolution is at its infancy, giving researchers an exciting opportunity to help define the standards.  All the problems we see on PCs will be magnified as many more non-technical users will get online for everything, from entertainment to commerce and health management. Security and ease-of-use are often conflicting goals, but are equally important.

Our vision is that we will carry our digital ID and can access all our digital assets through the phone.  We can walk up to generic PCs and use our phones to personalize the large-screen display, the graphics card etc to run our own environments.  Finally, there will also be a sophisticated data and compute infrastructure in the cloud to support these devices, which can be lost easily and must be energy-efficient.

For the first time, over 15 professors in the Computer Science and Electrical Engineering departments, specializing in topics from networking, OS, languages, security, HCI, are working together in the brand new POMI (Programmable, Open, Mobile Internet) project.  The focus is to create a clean-slate platform that makes it easy to develop secure, distributed, mobile, and easy-to-use software.

The goal of this course is to bring together students with diverse interest to help shape this research program through brainstorming, researching the literature, and building prototypes. Working across domains often generates new opportunities.  For example, systems and user-experience students may team up to investigate the design of a semantic file system.  Students will form 2 to 4-person project groups. Students will choose or propose a topic, lead discussions of relevant papers on the topic, design their experiments, and present the findings in the form of a "research proposal" at the end of the quarter.

Here are some examples:
  • how to build a modern "distributed file system" for consumers
  • how to create a seamless environment for online and offline executions
  • how to secure mobile code
  • how to use information tracking in languages and OSes together to provide security against user and coding errors.
  • how to use encryption without making it too difficult to use
  • how to add speech as an alternative input method for data search
If you are interested in research in this area, taking this course is a great way to start.  You will learn not just from your own project, but from the reports of other people's projects as well.

CS 343 is formally a "Topics in Compilers" course.  Languages are an important tool in software platform, but this year's course is broader and projects without language techniques are also allowed and encouraged.

Students must come to campus for this course as it is a project course.

Course Details

Class times: Monday and Wednesday, 11am-12:15pm, Gates B12
Instructor: Monica Lam (email: last name at cs dot stanford dot edu)
TA: Peter Hawkins (email: last name followed by first letter of first name at cs dot stanford dot edu)