- Type: Bachelor's Degree
- Location: California, USA
- Duration: 4 years
- Deadline: Ongoing
Computer science and artificial intelligence lie at the core of an ever-increasing number of critical technologies, products and services. Students choosing the CAI concentration will be equipped to understand, design and manage these technologies, products and services.
- High Tech Entrepreneur
- Financial Forecaster
- Game Developer
- Government and Industry Modeler
- Information Officer
- Software Developer
Major Foundation Requirements
CS300 / Solving Problems with Algorithms
Learn how to design and analyze algorithms used to address complex problems. Solve problems ranging from logistics to route optimization to robotic arm control using algorithms such as hashing, searching, sorting, graph algorithms, dynamic programming, greedy algorithms, divide and conquer, backtracking, random number generation, and randomized algorithms.
CS301 / Bayesian Statistics in Practice
Bayes’ Theorem is a framework for combining prior information with new information to compute a posterior probability distribution. Gain insights into the differences between frequency-based statistics and Bayesian statistics by examining practical cases borrowed from such diverse fields as criminal justice, computer security and epidemiology. Also learn how to apply Bayesian approaches to learning from data
CS302 / Decision Science
Apply formal models of decision making to practical problems involving uncertainty, competition, complex systems, risk aversion, decision biases, and multiple objectives. Follow one principal case study throughout the course — for example, the decisions involved in pursuing the development of a drug. The case study incorporates decision trees, risk-adjusted calculations, optimization, and other methods.
Concentration Core Requirements
CS310 / Machine Learning for Science and Profit
Learn to apply core machine learning techniques — such as classification, perceptron, neural networks, support vector machines, hidden Markov models, nonparametric models of clustering — as well as fundamental concepts such as feature selection, cross-validation and over-fitting. Program machine learning algorithms to make sense of genetic data, perform customer segmentation or predict the outcome of elections.
CS410 / Harnessing Artificial Intelligence Algorithms
Apply methods and algorithms from artificial intelligence — such as propositional logic, logic programming, predicate calculus, and computational reasoning — to practical problems of information retrieval, robot navigation, logistics planning, and natural language processing.
CS510 / Mathematical Foundations of Computer Science and Formal Logic
Analyze how to think about complex problems with the help of propositional logic and predicate calculus, formal proofs, and mathematical induction. Formalize deductive thought with symbolic logic, and examine the logical correctness of reasoning. Students review a range of practical applications of these foundational concepts, from calculating mathematical proofs to designing search algorithms.
CS311 / Software Development by Developing Software
The only way to learn software development is to develop software. Work together as a team to develop a significant software application, such as a spirituality toolkit, a hunch engine, or a distributed storage system. Apply and experience multiple dimensions of software development, incorporating analysis, design, implementation, validation, deployment, documentation, and maintenance.
CS312 / Modeling and Simulation
Use a range of computational methods for simulating continuous and discrete systems to address complex problems that cannot be solved analytically. Methods include system dynamics, discrete event simulation, Monte Carlo techniques, bootstrapping, agent-based modeling, and combinations thereof. Trial calibration, verification and validation on concrete cases — such as traffic modeling or consumer behavior modeling — and assess the reliability of the model’s output for decision-making.
CS313 / Applications of Text Mining and Computational Linguistics
Investigate how to apply text mining and classification approaches (tokenization, parts-of-speech tagging, stemming, computational semantics, lexical semantics, Bayes networks, latent semantic indexing, clustering, and support vector machines) to problems such as spam filtering, social media monitoring and text summarization.
CS411 / Building Useful and Usable Database Systems
Use data models, data description languages, query methods such as relational algebra and SQL, data normalization, and transaction and security protocols to design an efficient and secure database system for a real-world example. Also explore new trends in databases to sketch out what databases of the future may look like. For example, students examine how graph databases can be leveraged to process social network data or discover relationships between entities, with applications to biological and health care databases.
CS412 / Grappling with Big Data
Discover how to cope — technically, legally and ethically — with data problems characterized by very large volumes. Grapple with high velocity, high diversity and uncertainty (unreliable or noisy data). Also apply cloud concepts and capabilities across the various cloud service models and design an appropriate environment to support business processes in consumer banking, targeted advertising and health care.
CS413 / Privacy and Security in the Real World
In the first part of the course, learn how to use techniques for manipulating information without releasing personal identifiable information. Examine existing practices concerning consumer data, search data, health care data, and geolocation data, and then design possible solutions. In the second part of the course, manage a portfolio of security approaches (risk analysis, cryptography, identification and authentication systems, security protocols, intrusion detection systems, data obscurity, and firewalls) to protect a system from worms and denial-of-service attacks while maintaining privacy.
CS511 / Effective Project Management
Be responsible for a team and manage a complex project using concepts and tools — such as waterfall and agile approaches, work breakdown structure, responsibility matrices, GANTT charts and scheduling, risk management, network diagrams, and project documentation — to complete the project on time and on spec.
CS512 / Designing and Building Robots
Model and analyze robot designs (kinematics of mechanical linkages; structures, actuators, transmissions, and sensors; robot control systems; vision systems; artificial intelligence algorithms), and work on a written synthesis of current and future industrial applications and limitations of robotic systems.
CS513 / At the Interface Between Human and Machine
Any product — hardware or software — that requires a user manual suffers from a failure of design. Explore how methodologies in the cognitive sciences can aid in designing better products. Readings and class discussions shed light on the ways people think about activities, as well as reason, remember and perceive auditory and visual stimuli. Students apply what they learn to the design of their own user interfaces.