Choosing a Specialization
As an MSCS student, you must choose one of ten predefined specializations, or a combination of any two specializations (dual depth). As you can see in the map at right, there is some overlap between the different specializations, as some courses can be applied to more than one specialization.
You’re not bound at all by the initial "interest" you list on your application, and you can switch specializations at any time. To do this, just complete a new program sheet and have your advisor sign it.
Note:The lists of "sample" classes, professors, and research groups is in no way exhaustive. Also not all of the sample classes are required.
Remote HCP students: Only the Systems specialization can be completed entirely remotely; for each other specialization, you will need to come to campus for at least some of the classes.
- Artificial Intelligence
- Biocomputation
- Computer and Network Security
- Human-Computer Interaction
- Information Management and Analytics
- Mobile and Internet Computing
- Real-World Computing
- Software Theory
- Systems
- Theorectical Computer Science
| Artificial Intelligence | |
![]() |
Artificial Intelligence includes the study of AI principles and techniques, as well as foundational material on topics such as logic, probability, and language. Topics in the AI concentration include knowledge representation and logical reasoning, robotics, machine learning, probabilistic modeling and inference, natural language processing, cognition, and applications in domains such as biology and text processing. Also consider: Real-World Computing, HCI, Theoretical CS |
| Sample Classes | Sample Profs | More Resources |
| 221. AI Principles & Techniques 231A. Natural Language Processing 229. Machine Learning |
Daphne Koller Andrew Ng Sebastian Thrun |
2011-2012 Program Sheets AI Lab Bio-X |
| Biocomputation | |
![]() |
Biocomputation is an interdisciplinary specialization focusing on computational challenges and solutions in the biological and medical informatics application areas. Courses covering advanced algorithms, databases, networking, modeling and simulation, as well as those covering biocomputation, bioengineering, and medical informatics are included in this specialization. |
| Computer and Network Security | |
![]() |
Provides students with an in-depth understanding of the current challenges facing computer scientists designing and developing secure, safety-critical systems. Course work includes networking and network security, advanced operating systems, cryptography, secure databases, etc. Also consider:Systems, Artificial Intelligence |
| Sample Classes | Sample Profs | More Resources |
| 155. Computer and Network Security 255. Introduction to Cryptography 144. Introduction to Computer Networking |
Dan Boneh John Mitchell |
2011-2012 Program Sheets Security Lab High-Performance Networking Group |
| Human-Computer Interaction | |
![]() |
How do you design for users? Is a keyboard and mouse the best we can do? Human-computer interaction spans interfaces from large wall-size computing down to handheld devices and invisible "ubiquitous computers". HCI teaches user-centered design thinking and methods for user studies. HCI research applies to areas like collaborative work, information visualization, and "tangible computing". Also consider: Real-World Computing, Systems, Artificial Intelligence |
| Sample Classes | Sample Profs | More Resources |
| 147. Introduction to HCI Design 247. Interaction Design Studio 294H. Research Project in HCI |
Scott Klemmer Terry Winograd Jeff Heer |
2011-2012 Program Sheets HCI Group CSLI |
| Information Management and Analytics | |
![]() |
Information Management and Analytics provides coverage of the principles underlying modern database and information management systems, as well as methods for mining massive data sets. The track spans topics ranging from developing applications for database and information systems; to system design, architecture, and management; to applying algorithms and techniques from data mining and machine learning to perform analyses over massive data sets. Related topics include distributed systems, networking, and security on the system side, as well as text mining, bioinformatics, web search, and social media on the applications side. Also consider: Systems, Theoretical CS |
| Sample Classes | Sample Profs | More Resources |
| 245. Database Systems Principles 345. Advanced Topics in Database Systems 347. Transaction Processing and Distributed Databases |
Hector Garcia-Molina Jennifer Widom |
2011-2012 Program Sheets InfoLab |
| Mobile and Internet Computing | |
![]() |
This new track provides an organizing domain for connecting a broad, multidisciplinary set of topics across engineering. It connects theory - in both the mathematical and psychological sense - with hands-on system building. Mobile and Internet Computing focuses on the sociotechnical nature of modern systems design. Decisions about the economic markets and networking protocols affect how people use a system. In this very broad concentration students will take classes in networking, operating systems, web applications, security and cryptography, and interface design. Also consider: Real-World Computing, Systems, Human Computer Interaction |
| Sample Classes | Sample Profs | More Resources |
| 144. Introduction to Computer Networking 142. Web Applications 147. Introduction to HCI Design |
Scott Klemmer John Ousterhout Monica Lam |
2011-2012 Program Sheets MobiSocial Group HCI Group |
| Sample Classes | Sample Profs | More Resources |
| 223A. Robotics 231A. Computer Vision 248. Computer Graphics |
Serafim Batzoglou Oussama Khatib Sebastian Thrun |
2011-2012 Program Sheets Graphics Lab Bio-X |
| Software Theory | |
![]() |
How do you write secure code? How smart can you make a compiler? Software theory looks at properties of programming languages and applications to areas like security. This area is very similar to Theoretical Computer Science, but slightly more applied: in particular, ST students tend to take more systems-ish courses on programming languages, compilers, and databases. Also consider: Theoretical Computer Science, Systems, Artificial Intelligence |
| Sample Classes | Sample Profs | More Resources |
| 242. Programming Languages 243. Advanced Compiling Techniques 241. Secure Web Programming |
Dan Boneh John Mitchell Serge Plotkin |
2011-2012 Program Sheets Theory Group Security Lab |
| Systems | |
![]() |
Want to build an operating system? Or a router? The systems specialization is home to most of the "hard-core programming" classes that usually come to mind when you think of CS. But the challenges are bigger--designing the next-generation Internet backbone, managine ever-expanding datasets, and balancing security and privacy. Systems is also the only specialization that can be completed entirely remotely by Honors Co-op (HCP) students, making it a popular choice. Also consider: Real-World Computing, Software Theory, Artificial Intelligence |
| Sample Classes | Sample Profs | More Resources |
| 240. Topics in Operating Systems 242. Programming Languages EE271. VLSI Systems |
Dawson Engler Nick McKeown John Mitchell |
2011-2012 Program Sheets HPNG InfoLab |
| Theoretical Computer Science | |
![]() |
How do you find the most efficient and fair network topology? How do you make computers reason about logic? Theoretical CS looks at reactive systems, programming language theory, and algorithms. This specialization is very similar to Software Theory, but slightly more abstract. TCS students tend to take more courses in logic and formal methods. Also consider: Software Theory, Artificial Intelligence, Real-World Computing |
| Sample Classes | Sample Profs | More Resources |
| 259. Security Analysis of Network Protocols 258. Programming Language Theory 261. Optimization and Algorithmic Paradigms |
Alex Aiken John Mitchell Tim Roughgarden |
2011-2012 Program Sheet Theory Group Security Lab |










