|
Courses of Study:
Minor
Major (B.A./B.S.)
Post-Baccalaureate (P.B.)
Combined B.A./M.A.
Combined P.B./M.A.
Master of Arts
Doctor of Philosophy
Post-Baccalaureate Program in Computer Science
The computer science department offers a post-baccalauareate certificate program for students with a bachelor's degree in a different field who wish to prepare for graduate school or a career in computer science. Students who complete the program may apply to the combined post-baccalaureate/M.A. program.
Graduate Program in Computer Science
The Graduate Program in Computer Science is concerned with the fundamental concepts arising in the development and use of computing systems, including the study of computational complexity and information theory, the design and analysis of serial and parallel algorithms, the design of programming languages, systems, and artificial intelligence.
A normal program of study in computer science at Brandeis starts with two years of basic graduate coursework. At the completion of this coursework, students are eligible for a master's degree. During this initial two-year period, candidates for the degree of Doctor of Philosophy select a thesis topic and advisor. Dissertation research typically requires two to three additional years.
Faculty
Richard Alterman
Artificial intelligence. Cognitive modeling. Natural language processing. Memory-based reasoning and everyday activity.
Mitch Cherniack
Databases. Software engineering. Programming languages.
Jacques Cohen
Compiler design. Analysis of parallel algorithms. Logic programming. Data structures. Bioinformatics.
Martin Cohn
Information theory. Codes. Sequences. Data compression.
Ira Gessel
Combinatorics.
Harry Mairson
Logic in computer science. Lambda calculus and functional programming. Type theory and constructive mathematics. Complexity theory. Algorithmics.
Jordan Pollack
Artificial intelligence. Neural networks. Machine learning. Evolutionary computation. Dynamical systems.
James Pustejovsky, Graduate Advising Head
Artificial intelligence. Computational linguistics. Machine learning.
Liuba Shrira
Operating systems. Distributed systems. Multi-cache computing.
James Storer
Data compression and image processing. Computational geometry. Parallel computing. Algorithms.
Requirements for the Undergraduate Major
A. Core courses: COSI 21a and 22a, 21b and 22b, 29a, 30a, 31a, and 35a.
B. Mathematics courses: MATH 10a, 15a.
C. Electives: At least four additional COSI courses, excluding 2a, 11a, and 99d. At most, two electives can be cross-listed courses.
Degree of Bachelor of Science
The minimum requirement for the computer science major are 17 full courses and two half-credit lab courses:
A. Core courses: COSI 21a and 22a, 21b and 22b, 29a, 30a, 31a, and 35a.
B. Mathematics courses: MATH 10a, 10b, and 15a.
C. Two cross-listed courses from other departments (students should consult the individual course entries for prerequisites, corequisites, and special notes)
D. Electives: At least six additional COSI courses, excluding COSI 2a, 11a, and 99d. At most, two of these can be cross-listed courses.
Honors
Graduation with honors in computer science requires completion and defense of a senior honors thesis; students considering this option should take note of the prerequisites for enrollment in COSI 99d (Senior Research).
B. Five additional computer science courses, one of which may be a cross-listed course, or another course approved by the undergraduate advising head.
Requirements for the Post-Baccalaureate Certificate in Computer Science
B. Core courses: COSI 21b, 22b, 29a, 30a, and 31a.
C. Electives: At least four additional COSI courses, excluding 2a and 99d. At most, two electives can be cross-listed courses.
Combined Post-Baccalaureate/M.A. Program
Special Notes Relating to Post-Baccalaureate Students
A. AI Group: COSI 111a, 112a, 113b, 114b, 120a, 125a, 200a, 200b, 210a, 210b, 215a, 216a, 217a, 300a, 300b.
B. Languages and Systems Group: COSI 120a, 127b, 140a, 146a, 147a, 150a, 155b, 200a, 200b, 210a, 210b, 220a, 227b, 300a, 300b.
C. Algorithms and Theory Group: COSI 120a, 160a, 170a, 171a, 175a, 180a, 188a, 190a, 200a, 200b, 210a, 210b, 240b, 300a, 300b.
Residence Requirement
The minimum residency requirement is one and a half years.
Language Requirement
There is no foreign language requirement.
Requirements for the Degree of Doctor of Philosophy
Course Requirements
The same as that for the Master of Arts.
Teaching Requirement
The mentoring, training, and evaluation of teaching fellows is an ongoing and important component of the Graduate Program in Computer Science. Students normally teach one course per year, beginning as graders of problem sets and assignments and move progressively to higher levels of involvement with teaching in courses across the curriculum. They participate in the design and delivery of course lectures and each year under the guidance of their faculty, they present several lectures. Whether students are preparing for an academic and research career or an industry position, the teaching fellow experience is valuable training in course preparation and technical communication.
2. An approved, written thesis proposal by the candidate that surveys the relevant literature and states the goals of the dissertation and topics to be investigated (including aspects already completed or underway), along with an oral presentation to the thesis committee that is open to computer science faculty who wish to attend.
Thesis Defense
Public defense of a completed dissertation will be announced three weeks in advance. Copies of the complete thesis will be available to the faculty during these three weeks.
Residence Requirement
The minimum residency requirement is three years.
Language Requirement
There is no foreign language requirement.
COSI
2a
Introduction to Computers
[ sn ]
An introduction to the basic principles underlying computer hardware and software and to the implications of the wider use of computers in society. Topics will include hardware, software, Web page design, applet and servlet programming, the Internet, privacy and security issues, as well as a survey of current research directions, including artificial intelligence and parallel computing. Usually offered every year.
Mr. Hickey
COSI
11a
Programming in Java and C
[ sn ]
A general introduction to structured programming and problem solving using C and Java in the context of the World Wide Web. Students also learn GUI programming and advanced HTML authoring. There are weekly programming assignments. Computer science majors with adequate programming skills may wish to take COSI 21a directly. Usually offered every year.
Staff
COSI
21a
Data Structures and the Fundamentals of Computing
[ sn qr1 ]
Prerequisite: COSI 11a or programming facility in C. Corequisite: COSI 22a. This course satisfies the quantitative reasoning requirement only when taken with the corresponding lab.
An introduction to the fundamental concepts of computation: discrete structures (sets, relations, functions, sequences, graphs), the fundamental data structures and algorithms for sorting and searching (lists, queues, dequeues, heaps, hashing, binary trees, tries), and the analysis of algorithms (predicate logic, termination and correctness proofs, computational complexity). The associated laboratory course is COSI 22a. Usually offered every year.
Mr. Storer
COSI
21b
Structure and Interpretation of Computer Programs
[ sn qr1 ]
Prerequisites: COSI 21a, 22a. Corequisite: COSI 22b. This course satisfies the quantitative reasoning requirement only when taken with the corresponding lab.
An introduction to the fundamental models of computation: functional programming, abstract data types, imperative programming, object-oriented programming, data-driven programming, meta-linguistic abstraction, and logic programming. The associated laboratory course is COSI 22b. Usually offered every year.
Mr. Mairson
COSI
22a
Fundamentals of Programming
[ qr2 ]
Corequisite: COSI 21a. May yield half-course credit toward rate of work and graduation. Two semester hour credits.
An introduction to the tools and techniques needed to design, construct, verify, analyze, and maintain programs. One afternoon a week and one one-hour lecture a week. Usually offered every year.
Mr. Storer
COSI
22b
Programming Paradigms
[ qr2 ]
Prerequisites: COSI 21a, COSI 22a. Corequisite: COSI 21b. May yield half-course credit toward rate of work and graduation. Two semester hour credits.
A practical introduction to the use of appropriate computational paradigms and programming methodologies to solve complex problems. Problem domains vary from year to year but typically include numerical programming, symbolic computation, natural language processing, simulation of physical systems, interpretation and compilation of programming languages. One afternoon a week and one one-hour lecture a week. Usually offered every year.
Mr. Mairson
COSI
29a
Discrete Structures
[ sn ]
Covers topics in discrete mathematics with applications within computer science. Some of the topics to be covered include graphs and matrices; principles of logic and induction; number theory; counting, summation, and recurrence relations; discrete probability. Usually offered every year.
Mr. Gessel
COSI
30a
Introduction to the Theory of Computation
[ sn ]
Prerequisites: COSI 21a,b; COSI 22a,b; COSI 29a.
Formal treatment of models of computation: finite automata and regular languages, pushdown automata and context-free languages, Turing machines and recursive enumerability. Church's thesis and the invariance thesis. Halting problem and undecidability, Rice's theorem, recursion theorem. Usually offered every year.
Mr. Mairson
COSI
31a
Computer Structures and Organization
[ sn ]
Prerequisites: COSI 21a,b; COSI 22a,b.
Processors, memories, and peripherals and their interactions. Fundamental structures of computers from logic gates and circuits, through machines and assembly language, to the overall structure of operating systems. Usually offered every year.
Ms. Shrira
COSI
33b
Internet and Society
[ sn ]
Prerequisite: COSI 2a or COSI 21a.
An interdisciplinary survey of the Internet. Taught by a team of professors from several different departments, the course content will vary from year to year. Some particular topics to be covered are the architecture of the Internet (and the implications this has on its regulation), intellectual property, privacy, censorship, e-commerce, online education, and research. Usually offered every year.
Mr. Hickey
COSI
35a
Fundamentals of Artificial Intelligence
[ sn ]
Prerequisites: COSI 21a,b; 22a,b; COSI 29a.
Survey course in artificial intelligence. Introduction to Lisp and heuristic programming techniques. Topics include problem solving, planning natural language processing, knowledge representation, and computer vision. Usually offered every year.
Mr. Pollack
COSI
98a
Independent Study
Open to exceptional students who wish to study an area of computer science not covered in the standard curriculum. Usually offered every year.
Staff
COSI
98b
Independent Study
Open to exceptional students who wish to study an area of computer science not covered in the standard curriculum. Usually offered every year.
Staff
COSI
99d
Senior Research
Prerequisites: Open only to seniors. A grade point average of 3.50 or higher in the major after completing spring semester of the junior year. Submission of a thesis proposal during the spring semester of the junior year. This proposal must be signed by a faculty member who has agreed to supervise the thesis.
Research assignments and preparation of a report under the direction of an instructor. Usually offered every year.
Staff
COSI
111a
Topics in Computational Cognitive Science
[ sn ]
Prerequisite: COSI 35a, or COSI 125a or permission of the instructor.
Focuses on the cognitive aspects of computer-mediated group problem-solving. Topics include computer-supported cooperative work, the role of convention in the coordination of activity, problem-solving and skill acquisition, adaptive systems, distributed cognition, and discourse. The laboratory work is designed to give the student practice with the ideas and techniques under discussion. Usually offered every year.
Mr. Alterman
COSI
112a
Theory and Models of Intelligent Behavior
[ sn ]
Prerequisites: COSI 21b or 29a; COSI 35a.
Topics include logics for world modeling, representation of goals and plans, action theory, models of shared knowledge, learning theories for environmental modeling, and the social construction of concepts. Usually offered every third year.
Mr. Pustejovsky
COSI
113b
Machine Learning
[ sn ]
Prerequisite: COSI 35a.
A seminar on genetic algorithms, genetic programming, evolutionary programming, blind watchmaking, and related topics, ultimately focusing on co-evolutionary spirals and the automatic construction of agents with complex strategies for games. Usually offered every second year.
Mr. Pollack
COSI
114b
Topics in Computational Linguistics
[ sn ]
Prerequisites: COSI 21b or 29a; COSI 35a.
Provides a fundamental understanding of the problems in natural language understanding by computers, and the theory and practice of current computational linguistic systems. Of interest to students of artificial intelligence, algorithms, and the computational processes of comprehension and understanding. Usually offered every year.
Mr. Pustejovsky
COSI
120a
Topics in Computer Systems
[ sn ]
Prerequisite: COSI 21a.
Content will vary from year to year. May be repeated for credit. Prerequisites may vary with the topic area; check with instructor for details. Usually offered every third year.
Staff
COSI
125a
Human-Computer Interaction
[ sn ]
Prerequisite: COSI 2a, or COSI 11a, or permission of the instructor.
Covers the basic theory and concepts of human-computer interaction. Topics include methodologies for designing and testing user interfaces, interaction styles and techniques, design guidelines, intelligent user interfaces, hypermedia, adaptive systems, information search and visualization, and computer supported cooperative work. The laboratory work is designed to give the student practice in a set of basic techniques used in the area of human-computer interaction. Usually offered every second year.
Mr. Alterman
COSI
127b
Database Management Systems
[ sn ]
Prerequisites: COSI 21a, 22a, and 29a.
Introduces database structure, organization, and languages. Studies relational and object-oriented models, query languages, optimization, normalization, file structures and indexes, concurrency control and recovery algorithms, and distributed databases. Usually offered every second year.
Mr. Cherniak
COSI
128a
Modern Database Systems
[ sn ]
Prerequisite COSI 127b.
Covers advanced topics in database systems such as concurrency control, recovery, security, and data mining. Usually offered every fourth year.
Mr. Cherniak
COSI
140a
Logic Programming
[ sn ]
Prerequisite: COSI 31a
Studies the relationship of Prolog to predicate calculus, horn clauses, unification algorithms, intelligent backtracking, infinite trees, inequalities, implementation issues, and concurrent Prolog. Usually offered every second year.
Mr. Cohen
COSI
146a
Fundamentals of Operating Systems
[ sn ]
Prerequisites: COSI 21a,b; 22a,b; 31a; MATH 10a (MATH 10b recommended). This course may not be repeated for credit by students who have taken COSI 46a in previous years.
Design of systems that share resources. Specific topics: naming, binding, protection, reliability, synchronization, scheduling, storage allocation, interprocess communication. Usually offered every second year.
Staff
COSI
147a
Networks and Distributed Computing
[ sn ]
Prerequisite: COSI 31a or the equivalent, 146a, C/C++/UNIX programming skills.
Introduces state-of-the-art networking technologies, architectures, and protocols, with an emphasis on the Internet and the World Wide Web. Specific topics include naming and RPC at the application level, TCP/IP and UDP/IP at the transport/network levels, and Ethernet, ATM, FDDI, and wireless technologies at the physical level. Usually offered every second year.
Ms. Shrira
COSI
155b
Computer Graphics
[ sn ]
An introduction to the art of displaying computer-generated images and to the design of graphical user interfaces. Topics include graphic primitives; representations of curves, surfaces, and solids; and the mathematics of two- and three-dimensional transformations. Usually offered every third year.
Staff
COSI
160a
Parallel Computing and Programming
[ sn ]
Prerequisites: COSI 29a and 31a.
An introduction to parallel computation at the levels of architecture, communication, data structures, algorithms, analysis, programming models, and programming languages. Usually offered every second year.
Staff
COSI
170a
Information Theory and Coding
[ sn ]
Prerequisites: COSI 29a and 30a, MATH 10a.
Information theory as applied to the problems of rewriting digital data to be more concise, more error-resistant, or more appropriate to physical environments. Usually offered every second year.
Mr. Cohn
COSI
171a
Cryptology: Cryptography and Cryptanalysis
[ sn ]
Prerequisites: COSI 21a and 29a.
The study of data secrecy, privacy, and security. How can information be encoded so that an adversary can neither alter it, forge it, nor gain any knowledge of it? Usually offered every second year.
Mr. Cohn
COSI
175a
Data Compression and Multimedia Processing
[ sn ]
Prerequisites: COSI 21a, 29a, 30a, and 31a.
Selected topics in data compression and image and video processing, including adaptive lossless compression, lossy image and video compression, transformations on image and video, multimedia retrieval problems, parallel algorithms. Usually offered every second year.
Mr. Storer
COSI
178a
Computational Molecular Biology
[ sn ]
Prerequisites: COSI 11a and COSI 30a. COSI 30a must be taken before or concurrently with this course.
An overview of basic concepts in molecular biology, algorithmic coverage of pattern matching, strings, graphs, fragment assembly of DNA, physical mapping of DNA, phylogenetic tree reconstruction, detection of introns and exons, formal language view of DNA, and biological computers. Usually offered every third year.
Mr. Cohen
COSI
180a
Algorithms
[ sn ]
Prerequisites: COSI 21a,b, and 29a. This course may not be repeated for credit by students who have taken COSI 30b in previous years.
Basic concepts in the theory of algorithm design and analysis, including advanced data structures and algorithms, parallel algorithms, and specialized topics. Usually offered every second year.
Mr. Cohn
COSI
190a
Introduction to Programming Language Theory
[ sn ]
Prerequisite: COSI 21a or familiarity with a functional programming language, set theory, and logic.
Lambda calculus and combinatory logic: Church-Rosser theorem, continuity and computability, denotational semantics, model theory. Typed lambda calculi: strong normalization, representability, completeness of equational reasoning, Curry-Howard isomorphism. Introduction to ML: polymorphism and type inference, module system. Category theory: categorical combinators and compilation, continuations, monads. Usually offered every second year.
Mr. Mairson
COSI
200a
Readings
Specific sections for individual faculty members as requested.
Staff
COSI
200b
Readings
Specific sections for individual faculty members as requested.
Staff
COSI
210a
Independent Study
Usually offered every year.
Staff
COSI
215a
Advanced Topics in Artificial Intelligence
Topics vary from year to year. The course may be repeated with the approval of the instructor. Usually offered every second year.
Staff
COSI
216a
Topics in Natural Language Processing
Prerequisite: COSI 35a.
Reviews recent trends in computational approaches to linguistics, semantics, knowledge representation for language, and issues in parsing and inferences. Usually offered every fourth year.
Mr. Pustejovksy
COSI
217a
Topics in Adaptive Systems
Prerequisite: COSI 35a.
In nature, systems with greater complexity than any designed by humans arise without a designer. The central question explored is: How can complex modular organization arise without an intelligent designer? Class reads about theories of organization in different settings and scales (cells, brains, minds, behavior, society, economies), and study papers, models, and algorithms from a variety of fields that might shed light on the issue. Usually offered every third year.
Mr. Pollack
COSI
227b
Advanced Topics in Database Systems
Prerequisite: COSI 127b.
An in-depth treatment of advanced topics in database management systems. Topics vary from year to year and may include distributed databases, query processing, transaction processing, and Web-based data management. Usually offered every second year.
Mr. Cherniack
COSI
230a
Topics in Computational Biology
This course aims to transcend traditional departmental boundaries and facilitate communications between experimental biologists and computational scientists. Through reading literature and small research projects, students will be introduced to problems in computational biology and learn the methods for studying them.
Mr. Pengyu Hong
COSI
240b
Computational Logic
Prerequisite: Some previous exposure to logic, computation theory, and functional programming.
An introduction to logic in computer science. Propositional and first-order logic: completeness, compactness, unification and resolution theorem proving, and circuit and query complexity. Intuitionistic logic: Curry-Howard isomorphism, normalization, Kripke models, and double-negation embeddings. Higher-order logic: Godel's "dialectica" theorem, program synthesis, and decision problems. Usually offered every second year.
Mr. Mairson
COSI
300a
Master's Project
Usually offered every year.
Staff
COSI
300b
Master's Project
Usually offered every year.
Staff
COSI
310a
Seminar in Artificial Intelligence
Usually offered every second year.
Staff
COSI
310b
Seminar in Artificial Intelligence
Usually offered every second year.
Staff
COSI
315b
Current Topics in Learning and Neural Nets
Usually offered every second year.
Staff
COSI
340a
Seminar in Programming Languages
Usually offered every second year.
Staff
COSI
390a
Seminar in Theory of Computation
Usually offered every second year.
Staff
COSI
400d
Dissertation Research
Specific sections for individual faculty members as requested.
Staff
ANTH 138a
Social Relations in Cyberspace
ANTH 174b
Virtual Communities
BCHM 170b
Bioinformatics
CHEM 111a
Computational Chemistry
LING 130a
Semantics: The Structure of Concepts
MATH 30a
Introduction to Algebra, Part I
MATH 30b
Introduction to Algebra, Part II
MATH 36a
Probability
MATH 38b
Number Theory
MATH 39a
Introduction to Combinatorics
PHIL 106b
Mathematical Logic
PHYS 29a
Electronics Laboratory I
PHYS 29b
Electronics Laboratory II
PHYS 32b
Microprocessor Laboratory