CSE: Computer Science

CSE 101: Introduction to Computers

Introduces central ideas of computing and computer science, instills practices of computational thinking, and engages students in the creative aspects of the field. Also introduces appropriate computing technology as a means for solving computational problems and exploring creative endeavors. Requires some programming.

Prerequisite: Level 3 or higher on the mathematics placement examination

SBC:     TECH

3 credits

CSE 102: Introduction to Web Design and Programming

An introduction to the design of Web pages, specifically the development of browser and device independent HTML, with an emphasis on the XHTML standards. Includes the use of style sheets (CSS) and tools for page layout and verification. HTML is presented as a mark-up language, exploring the rules of HTML elements and attributes. Students learn the separation of page viewing information from the HTML through CSS style sheets as well as the use of block layout without using HTML tables. Addresses HTML display properties including text, color, image, and graphic elements as well as approaches to HTML validation and techniques.

Advisory Prerequisite: CSE 101 or basic computer skills

SBC:     TECH

3 credits

CSE 110: Introduction to Computer Science

An introduction to fundamentals of computer science. Topics covered include algorithmic design, problem-solving techniques for computer programming, fundamentals of digital logic and computer organization, the role of the operating system, introductory programming methodology including variables, assignment statements, control statements and subroutines (methods), programming paradigms, the compilation process, theoretical limits of computation, social and ethical issues. Intended for students who have not taken any college-level computer science course containing programming assignments in a high-level programming language.

Prerequisite: Level 3 or higher on the mathematics placement examination

SBC:     TECH

3 credits

CSE 114: Computer Science I

An introduction to procedural and object-oriented programming methodology. Topics include program structure, conditional and iterative programming, procedures, arrays and records, object classes, encapsulation, information hiding, inheritance, polymorphism, file I/O, and exceptions. Includes required laboratory. This course has been designated as a High Demand/Controlled Access (HD/CA) course. Students registering for HD/CA courses for the first time will have priority to do so.

Prerequisite: Level 4 or higher on the math placement exam

Advisory Prerequisite: CSE 110 or ISE 108

SBC:     TECH

4 credits

CSE 130: Introduction to Programming in C

Introduces programming concepts using the C language. Variables, data types, and expressions. Conditional and iterative statements, functions, and structures. Pointers, arrays, and strings. Scope of variables and program organization. Includes programming projects of an interdisciplinary nature. Suitable as an introductory programming course for non-CSE majors.

Prerequisite: Level 3 or higher on the mathematics placement examination

3 credits

CSE 150: Foundations of Computer Science: Honors

Introduction to the logical and mathematical foundations of computer science for computer science honors students. Topics include functions, relations, and sets; recursion and functional programming; basic logic; and mathematical induction and other proof techniques.

Prerequisite: one MAT course that satisfies D.E.C. C or QPS or score of level 4 on the math placement exam; admission to the Computer Science Honors Program or the Honors College or WISE or permission of the instructor

4 credits

CSE 160: Computer Science A: Honors

First part of a two-semester sequence, CSE 160 and CSE 260. Emphasizes a higher-level, object-oriented approach to the construction of software. Focus on software engineering issues such as programming style, modularity, and code reusability. Includes the way in which software tools can be used to aid the program development process. First considers the construction of small programs, continues by treating the design and implementation of program modules, and culminates in an introduction to object-oriented design techniques suitable for larger programs.

Prerequisite: Computer Science Honors Program or Honors College or WISE program or permission of instructor

SBC:     TECH

4 credits

CSE 214: Computer Science II

An extension of programming methodology to data storage and manipulation on complex data sets. Topics include: programming and applications of data structures; stacks, queues, lists, binary trees, heaps, priority queues, balanced trees and graphs. Recursive programming is heavily utilized. Fundamental sorting and searching algorithms are examined along with informal efficiency comparisons.

Prerequisite: C or higher in CSE 114

3 credits

CSE 215: Foundations of Computer Science

Introduction to the logical and mathematical foundations of computer science. Topics include functions, relations, and sets; recursion and functional programming; elementary logic; and mathematical induction and other proof techniques.

Prerequisite: AMS 151 or MAT 125 or MAT 131

3 credits

CSE 219: Computer Science III

Development of the basic concepts and techniques learned in CSE 114 Computer Science I and CSE 214 Computer Science II into practical programming skills that include a systematic approach to program design, coding, testing, and debugging. Application of these skills to the construction of robust programs of 1000 to 2000 lines of source code. Use of programming environments and tools to aid in the software development process.

Prerequisite: C or higher in CSE 214 and CSE major or ECE major or permission of instructor

3 credits

CSE 220: Systems-Level Programming

Introduces systems-level programming concepts using the C language and assembly language and explores the relation of respective programs in these languages. Topics include internal data representation, basic instructions and control structures, arithmetic operations, pointers, function calls and parameter passing, memory allocation, logical and shift operations, linking and loading.

Prerequisites: CSE 160 or 114 and CSE major or permission of instructor.

3 credits

CSE 230: Intermediate Programming in C and C++

Intermediate programming concepts using the C language in a UNIX environment. Files, systems calls, stream I/O, the C preprocessor, bitwise operations, the use of makefiles, advanced formatting of input and output, conversions. Introduction to object-oriented programming using C++; classes, objects, inheritance, aggregation, and overloading. Suitable for all majors.

Prerequisite: CSE 130 or CSE 220 or ESE 124 or ESG 111 or BME 120 or MEC 102

3 credits

CSE 260: Computer Science B: Honors

Second part of a two-semester sequence, CSE 160 and CSE 260. Further development of the object-oriented design strategies presented in CSE 160. Continues with introductions to event-driven programming, graphical user interfaces, and design patterns. Includes an extended design and programming project.

Prerequisite: CSE 160

4 credits

CSE 300: Technical Communications

Principles of professional technical communications for Computer Science and Information Systems majors. Topics include writing business communications, user manuals, press releases, literature reviews, and research abstracts. Persuasive oral communications and effective presentation techniques, to address a range of audiences, will also be covered. This course satisfies the upper-division writing requirement for CSE and ISE majors.

Prerequisites: WRT 102, CSE or ISE major, U3 or U4 standing

SBC:     SPK, WRTD

3 credits

CSE 301: History of Computing

A study of the history of computational devices from the early ages through the end of the 20th century. Topics include needs for computation in ancient times, deveopment of computational models and devices through the 1800's and early 1900's, World War II and the development of the first modern computer, and early uses in business. Creation of programming languages and the microchip. Societal changes in computer usage due to the microcomputer, emergence of the Internet, the World Wide Web, and mobile computing. Legal and social impacts of modern computing. Cannot be used as a technical elective for the CSE major or minor. This course is offered as both CSE 301 and ISE 301.

Prerequisite: U2 standing or higher

Advisory Prerequisite: one course in computing

DEC:     H
SBC:     STAS

3 credits

CSE 303: Introduction to the Theory of Computation

An introduction to the abstract notions encountered in machine computation. Topics include finite automata, regular expressions, and formal languages, with emphasis on regular and context-free grammars. Questions relating to what can and cannot be done by machines are covered by considering various models of computation, including Turing machines, recursive functions, and universal machines.

Prerequisites: CSE 214 and CSE 213 or 215 and CSE major or permission of instructor.

3 credits

CSE 304: Compiler Design

Topics studied include formal description of programming languages, lexical analysis, syntax analysis, symbol tables and memory allocation, code generation, and interpreters. Students undertake a semester project that includes the design and implementation of a compiler for a language chosen by the instructor.

Prerequisites: CSE 219 or CSE 260; CSE 220

Advisory Prerequisites: CSE 303 or CSE 350

3 credits

CSE 305: Principles of Database Systems

The design of database management systems to obtain consistency, integrity, and availability of data. Conceptual models and schemas of data: relational, hierarchical, and network. Students undertake a semester project that includes the design and implementation of a database system.

Prerequisites: CSE 219 or CSE 260; CSE 220; CSE major or permission of instructor

3 credits

CSE 306: Operating Systems

Students are introduced to the structure of modern operating systems. Topics include virtual memory, resource allocation strategies, concurrency, and protection. The design and implementation of a simple operating system are performed.

Prerequisites: CSE 219 or CSE 260; CSE 220 or ESE 380 and CSE Major or ECE major or permission of instructor.

3 credits

CSE 307: Principles of Programming Languages

Presents examples of important programming languages and paradigms such as LISP, ALGOL, ADA, ML, Prolog, and C++. Students write sample programs in some of the languages studied. The languages are used to illustrate programming language constructs such as binding, binding times, data types and implementation, operations (assignment data-type creation, pattern matching), data control, storage management, parameter passing, and operating environment. The suitability of these various languages for particular programming tasks is also covered.

Prerequisites: CSE 219 or CSE 260; CSE 220; CSE major or permission of instructor.

3 credits

CSE 308: Software Engineering

Introduces the basic concepts and modern tools and techniques of software engineering. Emphasizes the development of reliable and maintainable software via system requirements and specifications, software design methodologies including object-oriented design, implementation, integration, and testing; software project management; life-cycle documentation; software maintenance; and consideration of human factor issues.

Prerequisites: CSE 219 or CSE 260 and CSE major or permission of instructor.

Advisory Prerequisite: CSE 305

3 credits

CSE 310: Computer Networks

Overview of computer networks and the Internet. Concept of end systems, access networks, clients and servers. Connection-oriented and connectionless services. Circuit switching and packet switching. Description of Internet protocol layers, including application layer, transport layer, network layer and link layer. Architecture of the current Internet and the World-Wide Web. TCP/IP protocol stack. Internet routing and addressing. Local area network protocols, Ethernet hubs and switches. Wireless LANs. Multimedia networking. May not be taken by students with credit for CSE/ESE 346.

Prerequisites: CSE 214 or 260; CSE 220 or ISE 218; CSE major, ISE major or permission of instructor.

Advisory Pre- or Corequisite: AMS 310

3 credits

CSE 311: Systems Administration

This course covers practical techniques to manage information systems, also known as IT Systems Administration. Students will learn how to install computers for assorted hardware and software platforms (Windows, Unix/Linux, OS-X). Install networking equipment and configure it. Install server software on several systems (e.g. web, database, mail) and configure it. Secure the network, hosts, and services, and apply system patches. Set up redundant computing services, virtual machines/services, and hardware so that services can survive some hardware/software failures. Evaluate the performance, reliability, and security of the overall system.

Prerequisites: CSE 214 or CSE 230 or CSE 260 or ISE 208

3 credits

CSE 312: Legal, Social, and Ethical Issues in Information Systems

This course deals with the impact of computers on us as individuals and on our society. Rapid changes in computing technology and in our use of that technology have changed the way we work, play, and interact with other people. These changes have created a flood of new social and legal issues that demand critical examination. For example, technologies such as Gmail, Facebook, MySpace, along with music sharing sites and wikis create new social, ethical, and legal issues. This course is offered as both CSE 312 and ISE 312.

Prerequisites: U3 or U4 standing, one D.E.C. E or SNW course

SBC:     CER, ESI, STAS

3 credits

CSE 320: Computer Organization and Architecture

Explores the physical structure and organization of a computer, the internal representation of information, and performance evaluation methodology. Introduces instruction set architectures and implementation techniques for computer arithmetic, control path design, pipeline control, memory hierarchy, storage devices, and I/O.

Prerequisite: CSE 220 and CSE major or permission of instructor.

3 credits

CSE 323: Human-Computer Interaction

A survey course designed to introduce students to Human-Computer Interaction and prepare them for further study in the specialized topics of their choice. Students will have the opportunity to delve deeper in the course through a course project, and through a two-three week special topic selected at the instructor's discretion. Course is cross-listed as CSE 323, EST 323 and ISE 323.

Prerequisites: CSE 214 or CSE 230 or CSE 260 or ISE 208

3 credits

CSE 325: Computers and Sculpture

This multidisciplinary class surveys how computer science and computer technology are used in sculpture. Case studies with slides, videos, and software demonstrations illustrate a range of approaches of sculptors incorporating computers in their creative process. Various state-of-the art fabrication technologies are studied (with site visits if available on campus). Mathematical foundations are emphasized so students can recognize them when analyzing sculpture and choose the right tool when designing. In the weekly laboratory, these ideas are reinforced with projects using a range of available software and inexpensive construction materials, e.g., paper, cardboard, and foamcore.

Prerequisite: CSE 110 or permission of instructor

3 credits

CSE 327: Fundamentals of Computer Vision

Introduces fundamental concepts, algorithms, and techniques in visual information processing. Covers image formation, binary image processing, image features, model fitting, optics, illumination, texture, motion, segmentation, and object recognition.

Prerequisites: CSE 214 or CSE 230 or CSE 260; AMS 210 or MAT 211

3 credits

CSE 328: Fundamentals of Computer Graphics

An introduction to computer graphics including graphics application programming; data structures for graphics; representing and specifying color; fundamental hardware and software concepts for calligraphic and raster displays; two-dimensional, geometric transformations; introduction to three-dimensional graphics; graphics standards; and input devices, interaction handling, and user-computer interface.

Prerequisites: CSE 219 or CSE 260; CSE 220; permission of instructor

3 credits

CSE 332: Introduction to Visualization

Visualization of scientific, engineering, medical, and business data sets. Mechanisms to acquire sampled, computed, or synthetic data and methods to transform symbolic into the visual. Topics include classic visualization process; visual perception; volume and surface visualization; methods for visualizing sampled, simulated, and geometric objects; and visualization systems. Emphasis on applications and case studies. This course is offered as both CSE 332 and ISE 332.

Prerequisites: CSE 219 or CSE 260; MAT 211 or AMS 210

3 credits

CSE 333: User Interface Development

Survey of user interface systems, including topics such as command language, windowing, multiple input/output devices, architecture of user interface management systems, and tool kits for designing user interfaces. Additional topics may include human factors, standards, or visual languages. Students participate in a project involving the design and implementation of a user interface system. This course is offered as both CSE 333 and ISE 333.

Prerequisite: CSE 219 or CSE 260

Advisory prerequisite: PSY 103

3 credits

CSE 334: Introduction to Multimedia Systems

Survey of technologies available for user interfaces. Discussion of hypertext; voice, music, and video together with tools and models for capturing, editing, presenting, and combining them. Capabilities and characteristics of a range of peripheral devices including devices based on posture, gesture, head movement, and touch. Case studies of academic and commercial multimedia systems including virtual reality systems. Students participate in laboratory exercises and build a multimedia project. This course is offered as both CSE 334 and ISE 334.

Prerequisite: U2, U3 or U4 standing

3 credits

CSE 336: Internet Programming

Introduces the design and development of software for Internet commerce. Topics include extended markup language, servlets, cookies, sessions, Internet media types, Web protocols, digital signatures, certificates, encryption, and the wireless Internet.

Prerequisite: CSE 219 or CSE 260

3 credits

CSE 337: Scripting Languages

Scripting languages are widely used in the IT industry. Programming with scripting languages, also known as scripting, has several advantages compared to programming with other types of languages in that scripts facilitate rapid program development; can automate high-level jobs or tasks very effectively; and can be used to compose various software components, even binaries, into more complex and powerful applications. This course introduces the principles of scripting, covers one or two selected scripting languages in depth, and illustrates the advanced use of scripting by extensive case studies in application areas such as system administration, web application development, graphical user interface development, and text processing.

Prerequisites: CSE 114 or ISE 208; CSE or ISE major; U3 or U4 standing

3 credits

CSE 346: Computer Communications

Basic principles of computer communications. Introduction to performance evaluation of protocols. Protocols covered include those for local, metropolitan, and wide area networks. Introduction to routing, high speed packet switching, circuit switching, and optical data transport. Other topics include TCP/IP, Internet, web server design, network security, and grid computing. Not for credit in addition to CSE/ISE 310.This course is offered as both CSE 346 and ESE 346.

Pre- or corequisite for ESE and ECE majors: ESE 306

Pre- or corequisite for CSE majors: AMS 310 or 311

3 credits

CSE 350: Theory of Computation: Honors

Introduces the abstract notions of machine computation for honors students. Includes finite automata, regular expressions, and formal languages, with emphasis on regular and context-free grammars. Explores what can and cannot be computed by considering various models of computation including Turing machines, recursive functions, and universal machines.

Prerequisites: CSE 150; AMS 210 or MAT 211; CSE Honors Program or Honors College or WISE or permission of instructor

4 credits

CSE 352: Artificial Intelligence

Topics covered include critique of artificial intelligence research; state-space problem representations and search algorithms; game-playing programs; theorem-proving programs; programs for the study and simulation of cognitive processes and pattern recognition. Further topics in current research as time permits.

Prerequisites: CSE 219 or CSE 260

3 credits

CSE 353: Machine Learning

Covers fundamental concepts for intelligent systems that autonomously learn to perform a task and improve with experience, including problem formulations (e.g., selecting input features and outputs) and learning frameworks (e.g., supervised vs. unsupervised), standard models, methods, computational tools, algorithms and modern techniques, as well as methodologies to evaluate learning ability and to automatically select optimal models. Applications to areas such as computer vision (e.g., character and digit recognition), natural-language processing (e.g., spam filtering) and robotics (e.g., navigating complex environments) will motivate the coursework and material.

Prerequisites: CSE 219 or CSE 260 or permission of instructor

Pre- or Co-requisite: AMS 310 or AMS 311 or AMS 312

3 credits

CSE 355: Computational Geometry

The design and analysis of efficient algorithms to solve geometric problems that arise in computer graphics, robotics, geographical information systems, manufacturing, and optimization. Topics include convex hulls, triangulation, Voronoi diagrams, visibility, intersection, robot motion planning, and arrangements. This course is offered as both AMS 345 and CSE 355.

Prerequisites: AMS 301; programming knowledge of C or C++ or Java

3 credits

CSE 364: Advanced Multimedia Techniques

Digital media production techniques for high-bandwidth applications such as electronic magazine illustration, broadcast television, and motion picture special effects. Students explore techniques such as 3D modeling and character animation, video compositing, and high-resolution image processing in a state-of-the art multimedia computing laboratory. High-capacity mutlimedia storage, high-speed networks, and new technologies such as DVD, HDTV, and broadband will be reviewed. This course is offered as both CSE 364 and ISE 364.

Prerequisites: CSE/ISE 334 and permission of the instructor

3 credits

CSE 366: Introduction to Virtual Reality

An introduction to the practical issues in the design and implementation of virtual environments. Topics covered include the fundamentals of systems requirements, transformations, user-interaction models, human vision models, tracking systems, input/output devices and techniques, and augmented reality. The topics covered are explained through the use of real-life applications of virtual-reality systems in engineering, science, and medicine.

Prerequisites: CSE 328, CSE/ISE 332, 333

3 credits

CSE 370: Wireless and Mobile Networking

The fundamentals of wireless communication. Link, network and transcript layer protocols for wireless and mobile networking. Cellular networks. Wireless LANs. Wireless multihop networks. Mobile applications.

Prerequisite: CSE 310 or 346

3 credits

CSE 371: Logic

A survey of the logical foundations of mathematics: development of propositional calculus and quantification theory, the notions of a proof and of a model, the completeness theorem, Goedel's incompleteness theorem. This course is offered as both CSE 371 and MAT 371.

Prerequisite: CSE 150 or CSE 215 or MAT 200

3 credits

CSE 373: Analysis of Algorithms

Mathematical analysis of a variety of computer algorithms including searching, sorting, matrix multiplication, fast Fourier transform, and graph algorithms. Time and space complexity. Upper-bound, lower- bound, and average-case analysis. Introduction to NP completeness. Some machine computation is required for the implementation and comparison of algorithms. This course is offered as CSE 373 and MAT 373.

Prerequisites: MAT 211 or AMS 210; CSE 214 or CSE 260

3 credits

CSE 376: Advanced Systems Programming in UNIX/C

Focuses on several aspects of producing commercial-grade system software: reliability, portability, security, and survivability. Uses Unix and C, heavily used in industry when developing systems and embedded systems code. Emphasizes techniques and tools to produce reliable, secure, and highly portable code. Requires substantial programming as well as a course project.

Prerequisite: CSE 219 or 260; CSE 220 or 230 or ESE 224

3 credits

CSE 377: Introduction to Medical Imaging

An introduction to the mathematical, physical, and computational principles underlying modern medical imaging systems. Covers fundamentals of X-ray computer tomography, ultrasonic imaging, nuclear imaging, and magnetic resonance imaging (MRI), as well as more general concepts required for these, such as linear systems theory and the Fourier transform. Popular techniques for the visualization, segmentation, and analysis of medical image data are discussed, as well as applications of medical imaging, such as image-guided intervention. The course is appropriate for computer science, biomedical engineering, and electrical engineering majors.

Prerequisites: AMS 161 or MAT 127 or 132 or 142; AMS 210 or MAT 211

3 credits

CSE 378: Introduction to Robotics

Introduces basic concepts in robotics including coordinate transformation, kinematics, dynamics, Laplace transforms, equations of motion, feedback and feedforward control, and trajectory planning. Covers simple and complex sensors (such as cameras), hybrid and behavior based control and path planning. Concepts are illustrated through laboratories using the LEGO Robot Kit.

Prerequisites: AMS 161 or MAT 127 or 132 or 142; AMS 210 or MAT 211 or MEC 262

3 credits

CSE 380: Computer Game Programming

An introduction to the fundamental concepts of computer game programming. Students design and develop original games for PCs applying proven game design and software engineering principles.

Prerequisite: CSE 214 or CSE 230 or CSE 260

3 credits

CSE 381: Advanced Game Programming

This course explores the concepts and technologies behind making 3D, networked games. This will include the examination of game engine creation as well as the use of middleware to build graphically sophisticated game systems.

Prerequisites: CSE 328 or CSE 380

3 credits

CSE 390: Special Topics in Computer Science

A lecture or seminar course on a current topic in computer science. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated as the topic changes, but cannot be used more than twice to satisfy CSE major requirements.

Prerequisite: CSE Major

3 credits

CSE 391: Special Topics in Computer Science

A lecture or seminar course on a current topic in computer science. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated as the topic changes, but cannot be used more than twice to satisfy CSE major requirements.

Prerequisite: CSE Major

3 credits

CSE 392: Special Topics in Computer Science

A lecture or seminar course on a current topic in computer science. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated as the topic changes, but cannot be used more than twice to satisfy CSE major requirements.

Prerequisite: CSE Major

3 credits

CSE 393: Special Topics in Computer Science

A lecture or seminar course on a current topic in computer science. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated as the topic changes, but cannot be used more than twice to satisfy CSE major requirements.

Prerequisite: CSE Major

3 credits

CSE 394: Special Topics in Computer Science

A lecture or seminar course on a current topic in computer science. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated as the topic changes, but cannot be used more than twice to satisfy CSE major requirements.

Prerequisite: CSE Major

3 credits

CSE 408: Network Security

Principles and practices of computer network security. Cryptography, authentication protocols, digital signatures, IP/E-commerce security, VPNs, firewalls, and network intrusion detection.

Prerequisite: CSE/ISE 310 or CSE/ESE 346

3 credits

CSE 409: Computer System Security

Principles and practices of computer system security. Operating system security, authentication and access control, capabilities, information flow, program security, database security, cryptographic key management, auditing, assurance, vulnerability analysis and intrusion detection.

Prerequisite: CSE 306 or 376, or ESE 333

3 credits

CSE 475: Undergraduate Teaching Practicum

Students assist faculty in teaching by conducting a recitation or laboratory section that supplements a lecture course. The student receives regularly scheduled supervision from the faculty instructor. May be used as an open elective only and repeated once.

Prerequisites: U4 standing as an undergraduate major within the college; a minimum g.p.a. of 3.00 in all Stony Brook courses and the grade of B or better in the course in which the student is to assist; or permission of department

SBC:     EXP+

3 credits

CSE 487: Research in Computer Science

An independent research project with faculty supervision. Only three credits of research electives (AMS 487, CSE 487, BME 499, ESE 499, ESM 499, ISE 487, and MEC 499) may be counted toward technical elective requirements. May not be taken for more than six credits.

Prerequisites: Permission of instructor and department

0-6 credits

CSE 488: Internship in Computer Science

Participation in local, state, national, or international private enterprise, public agencies, or nonprofit institutions. Students are required to submit a written proposal, progress reports, and a final report on their experience to the client and to the department. May be repeated up to a limit of 12 credits but can only be used once as a technical elective to satisfy CSE major requirements.

Prerequisites: CSE major, U3 or U4 standing; permission of department

SBC:     EXP+

3 credits, S/U grading

CSE 495: Senior Honors Research Project I

A two-semester research project carried out under the supervision of a computer science faculty member. Students who enroll in CSE 495 must complete CSE 496 in the subsequent semester and receive only one grade upon completion of the sequence.

Prerequisite: Admission to the Computer Science Honors Program

3 credits

CSE 496: Senior Honors Research Project II

A two-semester research project carried out under the supervision of a computer science faculty member. Students must submit a written project report and make a presentation to the department at the year-end Honors Project Colloquium.

Prerequisite: CSE 495

3 credits