UB - University at Buffalo, The State University of New York Computer Science and Engineering

photo of CSE grad students in classCSE Undergraduate Course Offerings - Fall 2013

CSE 101 Computers: A General Introduction

Introduces computers and applications software. Areas of study include computers and their societal impact; history; hardware; problem solving; buying computers and software; and application packages, such as word processing, spreadsheets, and database systems. Admitted computer science and computer engineering majors should not enroll in this course.

Open
67/150
Mr. Kevin Cleary
Aug 26, 2013 - Dec 6, 2013
MWF, 300P - 350P
Nsc 215
4
Basic knowledge of arithmetic. No experience with computers needed.
None
LEC

CSE 111 Great Ideas in Computer Science

Designed to satisfy the mathematics core requirements. Students study algorithmic problem-solving techniques and gain an appreciation for some of the most interesting and significant results of computer science, as well as its intellectual and social significance. The course has both a mathematical and a laboratory component. Topics may include algorithm design, introduction to programming, structured programming, software tools, software engineering, text manipulation, numerical computation, transistors, very large-scale integrated circuits, machine architecture, language translation, operating systems, and artificial intelligence. Admitted computer science and computer engineering majors should not enroll in this course sequence.

Open
17/150
Staff
Aug 26, 2013 - Dec 6, 2013
ARR
SIM HQ Arr
4
None
None
LEC

CSE 111 Great Ideas in Computer Science

Designed to satisfy the mathematics core requirements. Students study algorithmic problem-solving techniques and gain an appreciation for some of the most interesting and significant results of computer science, as well as its intellectual and social significance. The course has both a mathematical and a laboratory component. Topics may include algorithm design, introduction to programming, structured programming, software tools, software engineering, text manipulation, numerical computation, transistors, very large-scale integrated circuits, machine architecture, language translation, operating systems, and artificial intelligence. Admitted computer science and computer engineering majors should not enroll in this course sequence.

Open
145/170
Aug 26, 2013 - Dec 6, 2013
MWF, 1200 - 1250
Hoch 114
4
None
None
LEC

CSE 111 Great Ideas in Computer Science

Designed to satisfy the mathematics core requirements. Students study algorithmic problem-solving techniques and gain an appreciation for some of the most interesting and significant results of computer science, as well as its intellectual and social significance. The course has both a mathematical and a laboratory component. Topics may include algorithm design, introduction to programming, structured programming, software tools, software engineering, text manipulation, numerical computation, transistors, very large-scale integrated circuits, machine architecture, language translation, operating systems, and artificial intelligence. Admitted computer science and computer engineering majors should not enroll in this course sequence.

Open
42/175
Aug 26, 2013 - Dec 6, 2013
MWF, 100P - 150P
Davis 101
4
None
None
LEC

CSE 113 Introduction to Computer Programming I

Introduction to computers and computer programming intended for nonmajors. Currently required for some School of Management majors and appropriate for others seeking a practical introduction to computer programming. Topics include the use of data types and variables, programming control constructs supported by modern languages, input/output, basic concepts of object-oriented programming (such as classes, objects, encapsulation, information hiding, and code reuse), as well as graphical user interfaces. No previous computer experience assumed. Not suitable for intended computer science or computer engineering majors except those who have absolutely no experience using a computer. Admitted computer science and computer engineering students should not take this course.

Open
111/150
Aug 26, 2013 - Dec 6, 2013
MWF, 200P - 250P
Nsc 215
4
None
None
LEC

CSE 115 Introduction to Computer Science for Majors I

Provides the fundamentals of the field to computer science and computer engineering majors, introducing students to algorithm design and implementation in a modern, high-level programming language. Emphasizes problem solving by abstraction. Topics include object-oriented design using a formal modeling language; fundamental object-oriented principles such as classes, objects, interfaces, inheritance and polymorphism; simple event-driven programming; data types; variables; expressions; basic imperative programming techniques, including assignment, input/output, subprograms, parameters, sequencing, selection and iteration; the use of aggregate data structures, such as arrays or more general collections; simple design patterns.

Open
138/138
Aug 26, 2013 - Dec 6, 2013
MWF, 900A - 950A
Davis 101
4
No previous programming experience required
MTH 141 or equivalent
LEC

CSE 115 Introduction to Computer Science for Majors I

Provides the fundamentals of the field to computer science and computer engineering majors, introducing students to algorithm design and implementation in a modern, high-level programming language. Emphasizes problem solving by abstraction. Topics include object-oriented design using a formal modeling language; fundamental object-oriented principles such as classes, objects, interfaces, inheritance and polymorphism; simple event-driven programming; data types; variables; expressions; basic imperative programming techniques, including assignment, input/output, subprograms, parameters, sequencing, selection and iteration; the use of aggregate data structures, such as arrays or more general collections; simple design patterns.

Open
178/215
Aug 26, 2013 - Dec 6, 2013
MWF, 300P - 350P
Nsc 201
4
No previous programming experience required
MTH 141 or equivalent
LEC

CSE 116 Introduction to Computer Science for Majors II

Continuation of CSE 115. Heavily emphasizes abstract data types (ADTs) and object-oriented methodology, and expects students not only to understand ADTs but also to design and implement robust ADTs using a modern object-oriented programming language. Further emphasizes object-oriented techniques, which support sound software engineering, such as encapsulation, polymorphism and inheritance as well as the use of more complex design patterns. Essential topics integrated in this framework include the use of recursion; linked data structures, including lists, stacks, queues, binary trees, and other advanced data structures; and algorithms for searching and sorting; exceptions and exception handling, event-driven programming. Introduces the analysis of algorithm complexity (0-notation).

Open
80/91
Aug 26, 2013 - Dec 6, 2013
MWF, 100P - 150P
Baldy 101
4
CSE 115 or permission of instructor
None
LEC

CSE 191 Discrete Structures

Foundational material for further studies in computer science. Topics include logic, proofs, sets, functions, relations, recursion, recurrence relations, mathematical induction, graphs, trees, and some basic counting theory. CSE 191 is required for computer science and computer engineering majors.

Open
132/180
Aug 26, 2013 - Dec 6, 2013
MWF, 1200 - 1250
Cooke 121
4
None
None
LEC

CSE 241 Digital Systems

A course in digital principles which includes an introduction to machine dependent programming. Topics covered include: fundamentals of digital logic, computer arithmetic & Boolean algebra, minimization techniques, basic components of digital circuits such as logic gates and flip-flops, information representation, design of combinational and sequential circuits, memory devices and programmable logic devices, CPU organization, arithmetic logic unit and control unit design, assembly language programming.

Open
162/200
Aug 26, 2013 - Dec 6, 2013
MWF, 900A - 950A
Cooke 121
4
CSE 191
None
LEC

CSE 250 Data Structures

Provides a rigorous analysis of the design, implementation, and properties of advanced data structures. Topics include order notation and time-space analysis and tradeoffs in a list, tree and graph algorithms, and hashing. Surveys library implementations of basic data structures in a high-level language. Advanced data structure implementations are studied in detail. Illustrates the importance of choosing appropriate data structures when solving a problem by programming projects in a high-level language different from the language of CSE 115 and CSE 116; also covers instruction in this language. CSE 191 may also be used as a corequisite.

Open
127/150
Dr. Hung Ngo
Aug 26, 2013 - Dec 6, 2013
MWF, 300P - 350P
Hoch 114
4
CSE 116, CSE 191
None
LEC

CSE 321 Real-Time and Embedded Operating Systems

Addresses some of the fundamental challenges in the design, implementation, and validation of these real-time and embedded systems. Topics include resource management, concurrency, secure coding practices, memory management, timeline design and analysis using metrics and schedulability tests, hardware interfacing, device driver programming, memory maps and boot kernels, firmware and ROM-resident system code, communications and networking, and debugging live systems. These concepts will be reinforced through C programming assignments using the RTLinux operating system.

Open
84/96
Aug 26, 2013 - Dec 6, 2013
MWF, 1200 - 1250
Talbrt 107
4
CSE 341 or permission of instructor
None
LEC

CSE 331 Introduction to Algorithm Analysis and Design

Introduces methods for algorithm design, paradigms such as divide and conquer, greedy, and dynamic programming, and techniques for algorithm analysis, such as asymptotic notations, estimates and recursions. Topics include sorting, searching, scheduling, string matching, graph algorithms, computational geometry, and more.

Open
90/110
Dr. Atri Rudra
Aug 26, 2013 - Dec 6, 2013
MWF, 100P - 150P
Knox 109
4
CSE 191, CSE 250, MTH 142
None
LEC

CSE 341 Computer Organization

Basic hardware and software issues of computer organization. Topics include computer abstractions and technology, performance evaluation, instruction set architecture, arithmetic logic unit design, advanced computer arithmetic, datapath and control unit design, pipelining, memory hierarchy, input-output.

Open
76/96
Aug 26, 2013 - Dec 6, 2013
MWF, 900A - 950A
Nsc 210
4
CSE 241 or EE 378
None
LEC

CSE 410 Special Topics

0/0
Staff
Aug 26, 2013 - Dec 6, 2013
UNKWN, Unkn - Unkn
Unknown
4
LEC

CSE 411 Introduction to Computer Systems Administration

Teaches how to administer a network of computer workstations using an Operating System such as UNIX. Topics include managing user accounts, system backups, installing and configuring the operating system, setting up a computer network, shell programming, and computer security.

Open
35/50
Aug 26, 2013 - Dec 6, 2013
MWF, 400P - 450P
Frnczk 422
4
CSE 241 or CSE 378
None
LEC

CSE 421 Introduction to Operating Systems

Covers the principles and techniques in the design of operating systems. Describes concepts of operating systems in terms of functions, structure, and implementation, particularly emphasizing multiprogramming. Topics include process coordination, deadlocks, memory management, device management, file systems, scheduling policies for CPU, and network and distributed operating systems. Illustrates concepts with examples from existing operating systems.

Open
51/55
Dr. Tevfik Kosar
Aug 26, 2013 - Dec 6, 2013
TR, 200P - 320P
Davis 101
4
CSE 250 and Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only. Departmental senior standing recommended.
None
LEC

CSE 429 Algs for Modern Compute System

Open
5/20
Dr. Russ Miller
Aug 26, 2013 - Dec 6, 2013
MWF, 1000 - 1050
Davis 101
4
LEC

CSE 431 Algorithms Analysis and Design

Introduces basic elements of the design and analysis of algorithms. Topics include asymptotic notations and analysis, divide and conquer, greedy algorithms, dynamic programming, fundamental graph algorithms, NP-completeness, approximation algorithms, and network flows. For each topic, beside in-depth coverage, we discuss one or more representative problems and their algorithms. In addition to the design and analysis of algorithms, students are expected to gain substantial discrete mathematics problem solving skills essential for computer scientists and engineers.

Open
0/5
Aug 26, 2013 - Dec 6, 2013
MWF, 900A - 950A
Knox 104
4
CSE 331, MTH 142
None
LEC

CSE 435 Information Retrieval

This course will focus on text-based information retrieval (IR) techniques, more popularly known as search engines. Various IR models such as the Boolean model, vector space model, probabilistic model will be studied. Efficient indexing techniques for large document collections as well as specialized collections will be examined. Various query expansion techniques such as local context analysis will be introduced. Finally, the course will also discuss search engines for the web, and the use of link analysis to determine document/page relevance. Students will work on written assignments, as well as hands-on programming projects to gain expertise in this area.

Open
0/5
Aug 26, 2013 - Dec 6, 2013
TR, 500P - 620P
Davis 101
4
CSE 250, MTH 309
None
LEC

CSE 442 Software Engineering

Examines in detail the software development process. Topics include software life-cycle models; architectural and design approaches; various techniques for systematic software testing; coding and documentation strategies; project management; customer relations; the social, ethical, and legal aspects of computing; and the impact of economic, environmental, safety, manufacturability, and sustainability factors on design. Students in this course participate in a real-world project from conception to implementation.

Open
42/50
Aug 26, 2013 - Dec 6, 2013
MWF, 400P - 450P
Davis 101
4
CSE 250 and Departmental Senior Standing
None
LEC

CSE 442 Software Engineering

Examines in detail the software development process. Topics include software life-cycle models; architectural and design approaches; various techniques for systematic software testing; coding and documentation strategies; project management; customer relations; the social, ethical, and legal aspects of computing; and the impact of economic, environmental, safety, manufacturability, and sustainability factors on design. Students in this course participate in a real-world project from conception to implementation.

Open
75/80
Aug 26, 2013 - Dec 6, 2013
MWF, 200P - 250P
Davis 101
4
CSE 250 and Departmental Senior Standing
None
LEC

CSE 462 Database Concepts

Discusses basic concepts of modern database management systems. Topics include: data models, query languages, database design, integrity constraints, indexing, query evaluation, and transaction management. Students implement small projects using modern DBMS.

Open
25/40
Dr. Jan Chomicki
Aug 26, 2013 - Dec 6, 2013
MWF, 1100 - 1150
Norton 214
4
CSE 250
None
LEC

CSE 473 Introduction to Computer Vision and Image Processing

Introduces those areas of artificial intelligence that relate to fundamental issues and techniques of computer vision and image processing. Emphasizes physical, mathematical, and image-processing aspects of vision. Topics include image formation, edge detection, segmentation, convolution, image-enhancement techniques, extraction of features (such as color, texture, and shape), object detection, 3-D vision, and computer system architectures and applications.

Open
22/30
Aug 26, 2013 - Dec 6, 2013
MWF, 300P - 350P
Davis 101
4
Departmental senior standing or permission of instructor
None
LEC

CSE 474 Introduction to Machine Learning

Involves teaching computer programs to improve their performance through guided training and unguided experience. Takes both symbolic and numerical approaches. Topics include concept learning, decision trees, neural nets, latent variable models, probabilistic inference, time series models, Bayesian learning, sampling methods, computational learning theory, support vector machines, and reinforcement learning.

Open
14/15
Aug 26, 2013 - Dec 6, 2013
MW, 630P - 750P
Nsc 218
4
CSE 250; EAS 305 or MTH 309; permission of instructor
None
LEC

CSE 486 Distributed Systems

Addresses some of the fundamental challenges in the design, implementation and deployment of large-scale distributed systems. Concepts covered include concurrency, synchronization, connection establishment, event handling, inter process communication, storage management, and service registration, discovery, and lookup. Also covers issues related to distributed objects such as life cycle management, mobility, security, naming, location, evolution, and autonomy. Analyses and implements possible solutions using objects, processes, services, components and frameworks. Offered irregularly.

Open
5/10
Aug 26, 2013 - Dec 6, 2013
TR, 930A - 1050
Nsc 220
4
CSE 250 or permission of instructor
None
LEC

CSE 489 Modern Network Concepts

Introduces basic elements of modern computer and telecommunications networks. Discusses a hybrid five-layer reference model resembling the popular TCP/IP model. In each layer, the course introduces the state-of-the-art hardware and software technologies. These include, for example, fiber-optic and wireless/mobile/cellular communications at the physical layer, to network security in the application layer. Offered once a year.

Open
9/12
Aug 26, 2013 - Dec 6, 2013
TR, 1230 - 150P
Alumni 97
4
CSE 250, and either EAS 305 or MTH 411
None
LEC

CSE 493 Introduction to VLSI Electronics

Introduces VLSI electronics. VLSI is the integration of a large number of logic gates on a single semiconductor chip. Applications of VLSI include memory, microprocessors, and signal processing. Topics include digital system design; VLSI systems; CMOS circuits; use of CAD tools in the layout of full-custom and semi-custom integrated circuits. Project required. Emphasizes designing a working chip and understanding various steps in design. Typical projects: ALU, games, controllers.

Open
4/10
Aug 26, 2013 - Dec 6, 2013
W, 630P - 910P
Nsc 205
4
Senior standing
None
LEC

Valid XHTML 1.0 Transitional