CS Curricula

←All schools

Brandeis UniversityWebsiteAcademic Catalog

Computer ScienceDepartment Website

BS Degree in Computer Sciencesource 1

128 units needed for graduation. Updated for 2024-25.

CS Courses

Math/Stat Courses

Other Courses


Objectives

  • The undergraduate program in computer science teaches the theoretical fundamentals and practical aspects of computing, preparing students for creative jobs in the computer industry and/or for graduate school. In addition, our curriculum is a stimulating and useful preparation for a number of indirectly related professions, such as law, medicine, and economics.

Skills

  • Majors in computer science will develop a number of skills.
  • Understanding the elements of computational thinking.
  • Understanding the trade-off involved in design choices.
  • Identifying and analyzing criteria and specifications appropriate to specific problems, and planning strategies for their solution.
  • Analyzing the extent to which a computer-based system meets the criteria defined for its current use and future development.
  • Deploying appropriate theory, practices, and tools for the specification, design, implementation, and maintenance as well as the evaluation of computer-based systems.
  • Specifying, designing, and implementing computer-based systems.
  • Evaluating systems in terms of general quality attributes and possible tradeoffs presented within the given problem.
  • Applying the principles of effective information management, information organization, and information-retrieval skills to information of various kinds, including text, images, sound, and video.
  • Awareness of security issues. Exposure to issues associated with access, encryption, and networking.
  • Applying the principles of human-computer interaction to the evaluation and construction of a wide range of materials including user interfaces, web pages, multimedia systems and mobile systems.
  • Learning to deploy effectively the tools used for the construction and documentation of software, with particular emphasis on understanding the whole process involved in using computers to solve practical problems.
  • Awareness of the existence of publicly available software (such as APIs or open source materials). Effective engagement in open-source projects. Exposure to effective software reuse.
  • Operating computing equipment and software systems effectively.
  • Communication. Making succinct presentations to a range of audiences about technical problems and their solutions. This may involve face-to-face, written, or electronic communication.
  • Teamwork. Learning to work effectively as a member of a disciplinary or interdisciplinary development team.
  • Numeracy. Understanding and explaining the quantitative dimensions of a problem.
  • Self-management. Managing one's own learning and development, including time management and organizational skills
  • Professional development. Learning the skills necessary to continue one's own professional development after graduation.

Knowledge

  • Discrete structures
  • Programming fundamentals
  • Graphics and visual computing
  • Algorithms and complexity
  • Intelligent systems and Machine Learning
  • Data Compression
  • Computational Linguistics
  • Architecture and organization Bioinformatics
  • Operating systems, concurrency, and security
  • Artificial life
  • Distributed Computing and Networking Data management
  • Programming languages Software engineering (exposure to different programming paradigms)
  • Numerical methods, simulation and modeling
  • Human-Computer Interaction
  • Entrepreneurial Computer Science
  • Computer Supported Cooperative Work Internet and Society
  • Social Justice

History of the Major

2024  
2023  
2022  
2021  
2020  
2019  
Replace COSI 11a (Programming in Java) → COSI 10a (Introduction to Problem Solving in Python).
Declare COSI 10a as prerequisite to the major, rather than part of the major.
Replace 5 CS Electives → 6 CS Electives.
Add 3 more alternatives to Math 8a (Introduction to Probability and Statistics) and Math 36a (Probability).
2018  
2017