|
||||||
|---|---|---|---|---|---|---|
|
||||||
|
General Information
Degrees
People
Computer Facilities
|
Stanford > CS > Master's Degree > Specializations
Choosing a Specialization
As an MSCS student, you need to choose one of ten predefined specializations, or you can design your own. 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. AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top 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. Sample Classes221. AI Principles & Techniques224N. Natural Language Processing 229. Machine Learning AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top 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. Sample Classes262. Computational Genomics273. Algorithms for Structure and Motion in Biology 279. Computational Methods for Analysis and Reconstruction of Biological Networks AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top 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.
Sample Classes155. Computer and Network Security255. Introduction to Cryptography 244A. Introduction to Computer Networks AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top Database Systems
Database Systems provides coverage of the principles underlying
modern database systems, including their design, architecture, and
management as well as potential applications. Topics addressed include
implementation issues, such as file organization and replication, query
processing and optimization, and transaction management. Additional
foundational topics include distributed systems, networking, and security as
well as advanced applications such as bioinformatics, data mining, and text
retrieval.
Sample Classes245. Database Systems Principles345. Advanced Topics in Database Systems 347. Transaction Processing and Distributed Databases AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top 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".
Sample Classes147. Introduction to HCI Design247. Interaction Design Studio MS&E430. Contextual/Organizational Issues AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top Numerical Analysis and Scientific Computation
How do you model fluid dynamics or the muscles in your face? Numerical
analysis and scientific computing features coursework in computational math,
and its applications to graphics, robotics and vision, and other areas. Research
focuses on simulation, modeling, and computational methods.
Sample ClassesCME302. Numerical Linear AlgebraCME306. Partial Differential Equations CME326. Initial Boundary Value Problems AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top Real-World Computing
Real-World Computing lets you dabble in a little of everything, sharing
coursework in common with each of the other specializations. Many people
who want to focus on graphics choose Real-World Computing, because it is the
only specialization that lets you count all our graphics courses toward your
depth. It's also a popular choice for people who want to study robotics.
AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top 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. Sample Classes242. Programming Languages243. Advanced Compiling Techniques 256. Methods for Reactive Systems AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top 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. AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top 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. Sample Classes256. Methods for Reactive Systems258. Programming Language Theory 261. Optimization and Algorithmic Paradigms AI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top Individually Designed Specialization
Do your interests not quite fit into one of the other specializations? You can design your own. In the past, people have designed specializations in computational biology, computer vision, and networking; Claire has these on file in Gates 182 if you'd like to see them. To design your own:
Sample ClassesUp to you.Sample ProfsUp to you.More Resources08-09 Program SheetAI | Biocomputation | Computer and Network Security | Database Systems | HCI | Num. Analysis | Real-World Comp. | Software Theory | Systems | Theoretical CS | Individ. Design | Top |
|||||