Computer Science (BCSA Concentration)
Thomas Cortina, BCSA CS Concentration Advisor (GHC 4117)
BCSA School of Computer Science Concentration
BCSA Computer Science Concentration
(11 courses, 117 units minimum)
Prerequisite
| Units | ||
| 15-112 | Fundamentals of Programming and Computer Science | 12 |
Computer Science Core Requirements (5 courses, 60 units)
| 15-122 | Principles of Imperative Computation | 12 |
| 15-150 | Principles of Functional Programming | 12 |
| 15-210 | Parallel and Sequential Data Structures and Algorithms | 12 |
| 15-213 | Introduction to Computer Systems | 12 |
| 15-251 | Great Ideas in Theoretical Computer Science | 12 |
Concepts of Mathematics (1 course, 12 units)
| 21-127 | Concepts of Mathematics (co-requisite for 15-122; prerequisite for 15-150) | 12 |
Note: First-year BCSA students may opt for 15-151 if offered, in place of 21-127.
Applications Courses or CS Electives (5 courses, 45 units minimum)
Choose a minimum of five courses from SCS beyond the core requirements, 200-level or higher, not including 02-223, 02-261, 15-351, 16-223, 17-200 (or cross listed numbers), 17-333, 17-562. Listed below are suggested choices for these electives. Consult with the CS advisor if interested in courses not listed.
| 02-251 | Great Ideas in Computational Biology | 12 |
| 05-391 | Designing Human Centered Software | 12 |
| 05-318 | Human AI Interaction | 12 |
| 05-319 | Data Visualization | 12 |
| 05-320 | Social Web | 12 |
| 05-360 | Interaction Design Fundamentals | 12 |
| 05-418 | Design Educational Games | 12 |
| 07-280 | Artificial Intelligence and Machine Learning I | 12 |
| or 10-301 | Introduction to Machine Learning | |
| 10-335 | Art and Machine Learning | 12 |
| 11-324 | Human Language for Artificial Intelligence | 12 |
| 11-344 | Machine Learning in Practice | 12 |
| 11-411 | Natural Language Processing | 12 |
| 15-322 | Introduction to Computer Music | 9 |
| 15-362 | Computer Graphics | 12 |
| 15-367 | Algorithmic Textiles Design | 12 |
| 15-388 | Practical Data Science | 9 |
| 15-415 | Database Applications | 12 |
| 15-451 | Algorithm Design and Analysis | 12 |
| 15-463 | Computational Photography | 12 |
| 15-464 | Technical Animation | 12 |
| 15-466 | Computer Game Programming | 12 |
| 15-482 | Autonomous Agents | 12 |
| 15-494 | Cognitive Robotics: The Future of Robot Toys | 12 |
| 16-220 | Robot Building Practices | 12 |
| 16-235 | Fantastic Robots and How to Fold Them | 9 |
| 16-250 | Gadgetry | 9 |
| 16-264 | Humanoids | 12 |
| 16-280 | Intelligent Robot Systems | 12 |
| 16-362 | Mobile Robot Algorithms Laboratory | 12 |
| 16-376 | IDeATe: Kinetic Fabrics | 10 |
| 16-385 | Computer Vision | 12 |
| 16-467 | Introduction to Human Robot Interaction | 12 |
| 16-480 | IDeATe: Creative Soft Robotics | 10 |
| 17-214 | Principles of Software Construction: Objects, Design, and Concurrency | 12 |
| 17-313 | Foundations of Software Engineering | 12 |
| 17-316 | AI Tools for Software Development | 12 |
| 17-356 | Software Engineering for Startups | 12 |
| 17-437 | Web Application Development | 12 |
