98-99 University Bulletin Entry for:


Computer Science

(file last updated: [8/10/1998 - 15:22:33])


Objectives

Undergraduate Concentration

The undergraduate program incomputer science teaches the fundamentals of the theoretical andpractical aspects of computing, preparing students for creativejobs in the computer industry, and for graduate school. In addition,our curriculum is a stimulating and useful preparation for a numberof not directly-related professions, such as law, medicine, andeconomics.

Graduate Program in ComputerScience

The graduate program in computerscience is concerned with the fundamental concepts arising inthe development and use of computing systems, including the studyof computational complexity and information theory, the designand analysis of serial and parallel algorithms, the design ofprogramming languages, systems, and artificial intelligence.

A normal program of study incomputer science at Brandeis starts with two years of basic graduatecourse work. At the completion of this course work, students areeligible for a master's degree. During this initial two-year period,candidates for the degree of Doctor of Philosophy complete thequalifying requirements and select a thesis topic and advisor.Dissertation research typically requires two to three additionalyears.


How to Become an UndergraduateConcentrator

Previous experience in computerprogramming is helpful, but not necessary (students lacking suchknowledge should take COSI 11a in their first year). As a ruleour course sequence should not be started later than the sophomoreyear.


How to Be Admitted tothe Graduate Program

The general requirements foradmission to the Graduate School, given in an earlier sectionof the Bulletin, apply here. Applicants for admission tothe computer science program should submit three letters of recommendation,take the Graduate Record Examination, and take the advanced testin computer science. Funds from research grants and fellowshipsare available to provide financial support for well-qualifiedstudents.


Faculty

James Storer, Chair

Data compression and imageprocessing. Computational geometry. Parallel computing. Algorithms.

Richard Alterman

Artificial intelligence. Cognitivemodeling. Natural language processing. Memory-based reasoningand everyday activity.

Jacques Cohen

Compiler design. Analysis ofparallel algorithms. Logic programming. Data structures.

Martin Cohn

Information theory. Codes.Sequences. Data compression.

Ira Gessel

Combinatorics.

Timothy Hickey, UndergraduateAdvising Head

Analysis of algorithms. Logicprogramming and parallel processing. Symbolic manipulation.

Harry Mairson

Logic in computer science.Lambda calculus and functional programming. Type theory and constructivemathematics. Complexity theory. Algorithmics.

Jordan Pollack

Artificial intelligence. Neuralnetworks. Machine learning. Evolutionary computation. Dynamicalsystems.

James Pustejovsky, GraduateAdvising Head

Artificial intelligence. Computationallinguistics. Machine learning.

Liuba Shrira

Operating systems. Distributedsystems. Multi-cache computing.


Requirements for the UndergraduateConcentration

The minimum requirements forthe computer science concentration are 12 full courses plus twohalf-credit lab courses:

A.Mathematics courses: MATH 10a, 10b.

B.Core courses: COSI 21a and 22a, 21b and 22b, 30a, 31a, 31b, and35a.

C.Electives: At least four COSI or cross-listed courses numbered40 or above excluding COSI 99d.

Honors

Graduation with honors in computerscience requires completion and defense of a Senior Honors Thesis;students considering this option should take note of the prerequisitesfor enrollment in COSI 99d (Senior Research).

Combined B.A./M.A. Program

Available only to Brandeisstudents who have completed all requirements for the undergraduateB.A. degree and have performed well in the computer science major.Students should apply in their senior year, at which time theyshould propose a course of study for the fifth year that typicallyincludes course work, teaching assistantship, and independentstudy.


Requirements for the Minorin Computer Science

A.Demonstrated ability to program in C, or COSI 11a.

B.COSI 21a and 22a.

C.COSI 21b and 22b.

D.COSI 31a.

E.One elective in computer science numbered higher than 20.


Special Notes Relatingto Undergraduates

Students may submit a writtenrequest to use a course from another department to satisfy oneof the required computer science electives. Approval of such arequest is based on the relationship of this course to the student'sother computer science electives.


Requirements for the Degreeof Master of Arts

Satisfactory completion ofan approved schedule of 10 courses, a noncredit teaching assistantship,and optionally, a research project. A typical program of studyconsists of 10 courses (which may include some undergraduate coursesand some courses offered by other departments), a project (twosemesters of COSI 300), and a teaching assistantship.

Residence Requirement

The minimum residence requirementis one and a half years at full-time or the equivalent in part-timestudy.

Language Requirement

There is no foreign languagerequirement.


Requirements for the Degreeof Doctor of Philosophy

Advisor

Upon entering the program,each student is assigned a tentative advisor. By the end of thefirst year the student should obtain the consent of a computerscience faculty member to serve as his or her advisor and dissertationcommittee chair.

Course Requirements

Passage of nine courses approvedby the advisor and the director of graduate studies. In each ofthe following three groups, at least one course must be passedwith a grade of A- or better.

A.AI Group: COSI 111a, 112a, 113b, 114b.

B.Languages and Systems Group: COSI 120a, 140a, 150a, 160a.

C.Algorithms and Theory Group: COSI 170a, 171a, 175a, 180a, 190a.

Qualifying Examination

Passage with grades of B+ orbetter of a four-and-one-half hour written examination testingcompetence at the undergraduate level in Artificial Intelligence,Languages and Systems, and Algorithms and Theory. The examinationis taken during the first semester of matriculation, if necessary,any section may be retaken, or any section may be replaced byearning grades of A- or better in two undergraduate courses asfollows: artificial intelligence (COSI 21b, 35a), languages andsystems (COSI 31a, 31b), algorithms and theory (COSI 30a). Nomore than two of such remedial courses will count towards thecourse requirements. The process must be completed within twoyears of matriculation.

Oral Presentation

Presentation to the facultyof a one-hour talk on original work or on the state of art inthe candidate's proposed field of research. The oral presentationnormally takes place within two and one-half years of matriculation.

Establishment of ThesisCommittee; Thesis Proposal

Establishment by the advisorand the director of graduate studies of a thesis committee consistingof the advisor, two other faculty members, and one outsider.

A written proposal by the candidateof goals of the dissertation and topics to be investigated, including aspects already completed or under way. The proposal normallytakes place within two and one-half years of matriculation.

Thesis Defense

Public defense to be announcedthree weeks in advance. Copies of the complete thesis to be availableto the faculty during these three weeks.

Residence Requirement

The minimum residence requirementis three years.

Language Requirement

There is no foreign languagerequirement for the doctoral degree.


Courses of Instruction


(1-99) Primarily for UndergraduateStudents

COSI 2a Introduction toComputers

[ cl34 sn]

An introduction to the basicprinciples underlying computer hardware and software and to theimplications of the wider use of computers in society. Topicswill include hardware, software, programming, the Internet, privacyand security issues, as well as a survey of current research directions,including artificial intelligence and parallel computing. Usuallyoffered every year.

Mr. Hickey

COSI 11a Programming inJava and C

[ sn ]

This course may be repeatedfor credit by students who have taken COSI 11a before spring 1998.

A general introduction to structuredprogramming and problem solving using C and Java, in the contextof the World Wide Web. Students also learn CGI programming andadvanced HTML authoring. There are weekly programming assignments.Computer science majors with adequate programming skills may wishto take COSI 21a directly. Usually offered every year.

Mr. Hickey

COSI 21a Data Structuresand the Fundamentals of Computing

[ qr sn ]

Prerequisite: COSI 11a orprogramming facility in C. Corequisite: COSI 22a. This coursesatisfies the quantitative reasoning requirement only when takenwith the corresponding lab.

An introduction to the fundamentalconcepts of computation: discrete structures (sets, relations,functions, sequences, graphs), the fundamental data structuresand algorithms for sorting and searching (lists, queues, dequeues,heaps, hashing, binary trees, tries), and the analysis of algorithms(predicate logic, termination and correctness proofs, computationalcomplexity). The associated laboratory course is COSI 22a. Usuallyoffered every year.

Mr. Storer

COSI 21b Structure and Interpretationof Computer Programs

[ qr sn ]

Prerequisite: COSI 21a,22a. Corequisite: COSI 22b. This course satisfies the quantitativereasoning requirement only when taken with the corresponding lab.

An introduction to the fundamentalmodels of computation: functional programming, abstract data types,imperative programming, object-oriented programming, data-drivenprogramming, meta-linguistic abstraction, and logic programming.The associated laboratory course is COSI 22b. Usually offeredevery year.

Mr. Mairson

COSI 22a Fundamentals ofProgramming

Corequisite: COSI 21a. Mayyield half-course credit toward rate of work and graduation. Twosemester hour credits.

An introduction to the toolsand techniques needed to design, construct, verify, analyze, andmaintain programs. One afternoon a week and one, one-hour lecturea week. Usually offered every year.

Mr. Storer

COSI 22b Programming Paradigms

Prerequisites: COSI 21a,COSI 22a. Corequisite: COSI 21b. May yield half-course credittoward rate of work and graduation. Two semester hour credits.

A practical introduction tothe use of appropriate computational paradigms and programmingmethodologies to solve complex problems. Problem domains varyfrom year to year but typically include numerical programming,symbolic computation, natural language processing, simulationof physical systems, interpretation and compilation of programminglanguages. One afternoon a week and one, one-hour lecture a week.Usually offered every year.

Mr. Mairson

COSI 30a Introduction tothe Theory of Computation

[ sn ]

Prerequisites: COSI 21a,b;COSI 22a,b.

Formal treatment of modelsof computation: finite automata and regular languages, pushdownautomata and context-free languages, Turing machines and recursiveenumerability. Church's thesis and the invariance thesis. Haltingproblem and undecidability, Rice's theorem, recursion theorem.Usually offered every year.

Mr. Mairson

COSI 31a Computer Structuresand Organization

[ sn ]

Prerequisite: COSI 21a,b;COSI 22a,b.

Processors, memories, and peripheralsand their interactions. Fundamental structures of computers fromlogic gates and circuits, through machines and assembly language,to the overall structure of operating systems. Usually offeredevery year.

Ms. Shrira

COSI 31b Languages and CompilerDesign

[ sn ]

Prerequisites: COSI 21a,b;22a,b.

Design, implementation, andevaluation criteria for programming languages. Usually offeredevery year.

Mr. Cohen

COSI 35a Fundamentals ofArtificial Intelligence

[ cl19 sn]

Prerequisite: COSI 21a,b;22a,b or permission of the instructor.

Survey course in artificialintelligence. Introduction to Lisp and heuristic programming techniques.Topics include problem solving, planning natural language processing,knowledge representation, and computer vision. Usually offeredevery year.

Mr. Pollack

COSI 98a Independent Study

Signature of the instructorrequired.

Open to exceptional studentswho wish to study an area of computer science not covered in thestandard curriculum. Usually offered every year.

Staff

COSI 98b Independent Study

Signature of the instructorrequired.

Open to exceptional studentswho wish to study an area of computer science not covered in thestandard curriculum. Usually offered every year.

Staff

COSI 99d Senior Research

Prerequisites: (A) Openonly to seniors. (B) A grade point average of 3.50 or higher inthe major after completing spring semester of the junior year.(C) Submission of a thesis proposal during the spring semesterof the junior year. This proposal must be signed by a facultymember who has agreed to supervise the thesis.

Research assignments and preparationof a report under the direction of an instructor. Usually offeredevery year.

Staff


(100-199) For Both Undergraduateand Graduate Students

COSI 111a Topics in ComputationalCognitive Science

[ cl19 sn]

Prerequisite: COSI 35a.

Focuses on the cognitive aspectsof computer-mediated group problem-solving. Topics include: computersupported cooperative work, the role of convention in the coordinationof activity, problem-solving and skill acquisition, adaptive systems,distributed cognition, and discourse. The laboratory work is designedto give the student practice with the ideas and techniques underdiscussion. Usually offered every year.

Mr. Alterman

COSI 112a Theory and Modelsof Intelligent Behavior

[ sn ]

Topics include logics for worldmodelling, representation of goals and plans, action theory, modelsof shared knowledge, learning theories for environmental modelling,and the social construction of concepts. Usually offered in evenyears.

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 spiralsand the automatic construction of agents with complex strategiesfor games. Usually offered in even years.

Mr. Pollack

COSI 114b Topics in ComputationalLinguistics

[ sn ]

Prerequisite: COSI 35a,or 21b, or permission of the instructor. Signature of the instructorrequired. A library intensive course.

Provides a fundamental understandingof the problems in natural language understanding by computers,and the theory and practice of current computational linguisticsystems. 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 ComputerSystems

[ sn ]

Prerequisite: COSI 35a.

Content will vary from yearto year. May be repeated for credit. Prerequisites may vary withthe topic area; check with instructor for details. Usually offeredin even years.

Staff

COSI 125a Human ComputerInteraction

[ cl19 sn]

Prerequisite: COSI 21b orpermission of the instructor.

Covers the basic theory andconcepts of human-computer interaction. Topics include: methodologiesfor designing and testing user interfaces, interaction stylesand techniques, design guidelines, intelligent user interfaces,hypermedia, adaptive systems, information search and visualization,and computer supported cooperative work. The laboratory work isdesigned to give the student practice in a set of basic techniquesused in the area of human-computer interaction. Usually offeredin odd years.

Mr. Alterman

COSI 140a Logic Programming

[ sn ]

Prerequisite: COSI 31a,b.

Studies the relationship ofProlog to predicate calculus, horn clauses, unification algorithms,intelligent backtracking, infinite trees, inequalities, implementationissues, and concurrent Prolog. Usually offered every year.

Mr. Cohen

COSI 146a Fundamentals ofOperating Systems

(Formerly COSI 46a)

[ sn ]

Prerequisites: COSI 21a,b;22a,b; 31a; MATH 10a (MATH 10b recommended). This course may notbe repeated for credit by students who have taken COSI 46a inprevious years.

Design of systems that shareresources. Specific topics: naming, binding, protection, reliability,synchronization, scheduling, storage allocation, interprocesscommunication. Usually offered every year.

Staff

COSI 147a Networks and DistributedComputing

[ sn ]

Prerequisite: COSI 31a orthe equivalent, C/C++/UNIX programming skills.

Introduces state-of-the-artnetworking technologies, architectures, and protocols, with anemphasis on the Internet and the World Wide Web. Specific topicsinclude naming and RPC at the application level, TCP/IP and UDP/IPat the transport/network levels, and Ethernet, ATM, FDDI, andwireless technologies at the physical level. Usually offered ineven years.

Ms. Shrira

COSI 150a Compiler Design

[ sn ]

Prerequisite: COSI 31a,b.

Covered are advanced topicsin parser and lexical scanner generation, data flow analysis,code generation, and parallel compilation. Usually offered everyyear.

Mr. Hickey

COSI 155b Computer Graphics

(Formerly COSI 55b)

[ sn ]

This course may not be repeatedfor credit by students who have taken COSI 55b in previous years.

An introduction to the artof displaying computer-generated images and to the design of graphicaluser interfaces. Topics include graphic primitives; representationsof curves, surfaces, and solids; and the mathematics of two- andthree-dimensional transformations. Usually offered in odd years.

Mr. Hickey

COSI 160a Parallel Computingand Programming

[ sn ]

Prerequisite: COSI 31a,b.

An introduction to parallelcomputation at the levels of architecture, communication, datastructures, algorithms, analysis, programming models, and programminglanguages. Usually offered in odd years.

Staff

COSI 170a Information Theoryand Coding

[ sn ]

Prerequisite: COSI 30a,b.

Information theory as appliedto the problems of rewriting digital data to be more concise,more error-resistant, or more appropriate to physical environments.Usually offered in odd years.

Mr. Cohn

COSI 171a Cryptology: Cryptographyand Cryptanalysis

[ sn ]

Prerequisite: COSI 30a,b.

The study of data secrecy,privacy, and security. How can information be encoded so thatan adversary can neither alter it, forge it, nor gain any knowledgeof it? Usually offered in even years.

Mr. Cohn

COSI 178a ComputationalMolecular Biology

[ sn ]

Prerequisite: COSI 11a.Corequisite: COSI 30a.

An overview of basic conceptsin molecular biology, algorithmic coverage of pattern matching,strings, graphs, fragment assembly of DNA, physical mapping ofDNA, phylogenetic tree reconstruction, detection of introns andexons, formal language view of DNA, and biological computers.Usually offered in even years.

Mr. Cohen

COSI 180a Algorithms

[ sn ]

Basic concepts in the theoryof algorithm design and analysis, including advanced data structuresand algorithms, parallel algorithms, and specialized topics. Usuallyoffered in even years.

Mr. Cohn

COSI 188a Introduction toCombinatorics

(Formerly COSI 88a)

[sn ]

Prerequisite: COSI 30a.This course may not be repeated for credit by students who havetaken COSI 88a in previous years.

Topics include graph theory,network flow and matching algorithms, counting problems, generatingfunctions, and NP-complete problems. Usually offered in odd years.

Mr. Gessel

COSI 190a Introduction toProgramming Language Theory

[ sn ]

Prerequisite: COSI 21a orfamiliarity with a functional programming language, set theory,and logic.

Lambda calculus and combinatorylogic: Church-Rosser theorem, continuity and computability, denotationalsemantics, model theory. Typed lambda calculi: strong normalization,representability, completeness of equational reasoning, Curry-Howardisomorphism. Introduction to ML: polymorphism and type inference,module system. Category theory: categorical combinators and compilation,continuations, monads. Usually offered in odd years.

Mr. Mairson


(200 and above) Primarilyfor Graduate Students

COSI 200a and b Readings

Specific sections for individualfaculty members as requested.

Staff

COSI 210a Independent Study

Signature of the instructorrequired.

Usually offered every year.

Staff

COSI 215a Advanced Topicsin Artificial Intelligence

A library intensive course.

Topics vary from year to year.The course may be repeated with the approval of the instructor.Usually offered every year.

Staff

COSI 215b Advanced Topicsin Artificial Intelligence

A library intensive course.

See COSI 215a for description.Usually offered every year.

Staff

COSI 220a Advanced ComputerSystems

Prerequisite: COSI 31a.

Focuses on learning to do researchin computer systems. Involves learning to critique papers/ideas,picking a research topic, building a system/executing a project,analyzing the results, writing it up in a conference-quality paper,and creating an effective presentation. Usually offered in oddyears.

Ms. Shrira

COSI 240b ComputationalLogic

Prerequisite: Some previousexposure to logic, computation theory, and functional programming.

An introduction to logic incomputer science. Propositional and first-order logic: completeness,compactness, unification and resolution theorem proving, and circuitand query complexity. Intuitionistic logic: Curry-Howard isomorphism,normalization, Kripke models, and double-negation embeddings.Higher-order logic: Godel's "dialectica" theorem, programsynthesis, and decision problems. Usually offered in odd years.

Mr. Mairson

COSI 285a Advanced Topicsin Algorithms and Computational Complexity

Content of course varies fromyear to year. Usually offered in even years.

Staff

COSI 300a and b Master'sProject

Offered every year.

Staff

COSI 310a Seminar in ArtificialIntelligence

Usually offered in even years.

Staff

COSI 310b Seminar in ArtificialIntelligence

Usually offered in even years.

Staff

COSI 315b Current Topicsin Learning and Neural Nets

Usually offered in even years.

Staff

COSI 340a Seminar in ProgrammingLanguages

Usually offered in even years.

Staff

COSI 390a Seminar in Theoryof Computation

Usually offered in odd years.

Staff

COSI 400d Dissertation Research

Specific sections for individualfaculty members as requested.

Staff