COMPUTER SCIENCE (CSE) - COURSES Fall 2024
Students undertake a semester project that
includes the design and implementation of
a compiler for a language chosen by the
instructor.
Prerequisites: C or higher: CSE 216 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: C or higher: CSE 214, CSE 216
or CSE 260; CSE or DAS major
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. This course focuses on teaching
the skills required to design and build modules
of an operating system kernel. It covers key
algorithms and architectures. A companion
course, CSE 320, teaches complementary skills
from the application programmer's point of
view.
Prerequisites: C or higher: CSE 320 or ESE
280; CSE Major or ECE major.
3 credits
CSE 307: Principles of Programming
Languages
An introduction to programming languages
paradigms, including functional and logic
programming, and the suitability of various
languages for particular programming tasks.
Students write sample programs in the studied
languages. The languages are used to illustrate
programming language constructs such as
scoping and binding, type systems, storage
management and operating environments. This
illustration is accompanied by an introduction
to the implementation of programming
languages, such as parsing, semantic analysis,
symbol tables, memory allocation and code
generation. Students complete a series of
assignments to implement a language chosen
by the instructor.
Prerequisites: C or higher: CSE 214, CSE 216
or CSE 260; CSE or DAS major.
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 ESE
346.
Prerequisites: C or higher: CSE 214 or 260;
CSE 220 or ISE 218; CSE major or ISE major.
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. This course
is offered as both CSE 311 and ISE 311.
Prerequisites: CSE 214 or CSE 230 or CSE
260 or ISE 208; ISE or CSE major
3 credits
CSE 312: Social, Legal, and Ethical
Issues in Computing
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 ways
we work, play, and interact with other people.
These changes have created a flood of new
social, legal and ethical issues that demand
critical examination. This course is offered as
both CSE 312 and ISE 312.
Prerequisites: CSE, ISE or DAS major; U3 or
U4 standing; one D.E.C. E or SNW course
SBC: CER, ESI, STAS
3 credits
CSE 316: Fundamentals of Software
Development
Introduction to systematic design, development
and testing of software systems, including
event-driven programming, information
management, databases, principles and
practices for secure computing, and version
control. Students apply these skills in the
construction of large, robust programs.
Prerequisites: C or higher in CSE 214 or CSE
260; CSE 216 or CSE 307; CSE major
3 credits
CSE 320: Systems Fundamentals II
This course introduces essential concepts of
operating systems, compilers, concurrency,
and performance analysis, focused around
several cross-cutting examples, such as
memory management, error handling, and
threaded programming. In this course,
operating systems concepts are considered
from the point of view of the application
programmer, and the focus is on APIs for
interacting with an operating system. A
companion course, CSE 306, considers
operating systems from the point of view of
the OS kernel implementer.
Prerequisite: C or higher: CSE 220 and CSE
major.
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.
Stony Brook University: www.stonybrook.edu/ugbulletin 11