Computer Engineering : Courses

CSE 101 Computers: a General Introduction

Credits: 4
Semester(s): Fall, Spring, Summer
Type: LLB
Grading: Graded (A-F)
Course critically examines popular concepts of information age computing,including:smart devices,societal implications,history,hardware function,sensors,networks,problem solving, and software concepts. Internet technologies such as Web 2.0, rich internet applications,responsible use of social networking,and cloud computing are examined. Privacy and security is an underpinning across all topics. Students will gain practical,lab-based experience with spreadsheets,database systems,HTML design,and various operating systems including Windows,Mac OS X,Linux and Android.

CSE 111 Great Ideas in Computer Science

Credits: 4
Semester(s): Fall, Spring
Type: LLB
Grading: Graded (A-F)
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.

CSE 113 Introduction to Computer Programming I

Credits: 4
Semester(s): Fall, Spring, Summer
Type: LR
Grading: Graded (A-F)
Introduction to computers and computer programming intended for nonmajors. Appropriate for those 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. Admitted computer science and computer engineering students should not take this course.

CSE 115 Introduction to Computer Science for Majors I

Credits: 4
Semester(s): Fall, Spring, Summer
Pre-requisite: None. No previous programming experience required. Students must have completed high school pre-calculus (algebra and trigonometry)
Type: LR
Grading: Graded (A-F)
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. Prerequisite: None Notes: No previous programming experience required. Students must have completed high school pre-calculus (algebra and trigonometry)

CSE 116 Introduction to Computer Science for Majors II

Credits: 4
Semester(s): Fall, Spring, Summer
Pre-requisite: CSE 115
Type: LR
Grading: Graded (A-F)
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).

CSE 191 Discrete Structures

Credits: 4
Semester(s): Fall, Spring
Type: LR
Grading: Graded (A-F)
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.

CSE 199 Honors Seminar

Credits: 3
Semester(s): (No information on typically offered semesters)
Pre-requisite: Four years of high school mathematics, knowledge of some programming language
Type: SEM
Grading: Graded (A-F)
The content of this course is variable and therefore it is repeatable for credit. The University Grade Repeat Policy does not apply.
Specifically for students enrolled in the UB Honors Program. Enrollment is limited. Topics reflect the interest and research of the faculty member teaching the course. Offered irregularly.

CSE 241 Digital Systems

Credits: 4
Semester(s): Fall, Spring
Pre-requisite: None. Recommended for sophomore-level students.
Type: LR
Grading: Graded (A-F)
A course in digital principles which includes the following topics:fundamentals of digital logic,number systems,codes,computer arithmetic,Boolean algebra,minimization techniques,basic components of digital circuits such as logic gates and flip-flops,design of combinational and sequential circuits,memory devices, and programming logic. Prerequisites:None Recommended for sophomore-level students.

CSE 250 Data Structures

Credits: 4
Semester(s): Fall, Spring
Pre-requisite: CSE 116, CSE 191
Type: LR
Grading: Graded (A-F)
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.

CSE 305 Introduction to Programming Languages

Credits: 4
Semester(s): Spring
Pre-requisite: CSE 250 and Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LR
Grading: Graded (A-F)
Examines concepts and constructs found in programming languages. Topics include binding time, strong typing, control and data abstraction, higher-order functions, and polymorphism. The major programming paradigms (procedural, object-oriented, functional, and logic) will be studied and compared. The course will also provide an introduction to syntax and semantics, compilation vs. interpretation, and storage management.

CSE 321 Real -Time and Embedded Operating Systems

Credits: 4
Semester(s): Fall
Pre-requisite: CSE 241, EE 278, or EE 378.
Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors only.
Type: LR
Grading: Graded (A-F)
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.

CSE 331 Introduction to Algorithm Analysis and Design

Credits: 4
Semester(s): Fall
Pre-requisite: CSE 191, CSE 250, MTH 142; Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors only.
Type: LR
Grading: Graded (A-F)
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.

CSE 337 Introduction to Scientific Computing

Credits: 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: MTH 141 with a grade of C or higher
Type: LLB
Grading: Graded (A-F)
Computing now plays an essential and ever-expanding role in science and mathematics. This course provides a broad introduction to computing in the sciences and in both abstract and applied mathematics. It is accessible to students early in their undergraduate program, thereby opening the door to the profitable use of computation throughout the junior and senior years. Cross-listed with MTH 337.

CSE 341 Computer Organization

Credits: 4
Semester(s): Fall, Spring
Pre-requisite: CSE 241 or EE 378 or EE 278
Approved Computer Science, Computer Engineering, Bioinformatics/CS, Electrical Engineering Majors Only
Type: LR
Grading: Graded (A-F)
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.

CSE 379 Introduction to Microprocessors and Microcomputers

Credits: 3
Semester(s): Spring
Pre-requisite: CSE 241 or EE 378 or EE 278
Co-requisites: CSE 380
Approved Computer Science, Computer Engineering, Bioinformatics/CS, Electrical Engineering Majors Only
Type: LEC
Grading: Graded (A-F)
Microprocessor architecture, machine language programming, microprocessor assemblers, assembly language programming, software development, memory and I/O interface, interrupts, microprocessor system design and microprocessor applications.

CSE 380 Introduction to Microprocessors and Microcomputers Lab

Credits: 3
Semester(s): Spring
Pre-requisites: CSE 241 or EE 378 or EE 278
Approved Computer Science, Computer Engineering, Electrical Engineering, or Bioinformatics/CS Majors Only
Co-requisite: CSE 379
Type: LLB
Grading: Graded (A-F)
A microprocessor system and its application in embedded devices. This course is the laboratory component to CSE 379. Topics include: microprocessor architecture; memory organization; assembly language programming; microprocessor assemblers; software development; use of microprocessor boards; memory and I/O interfaces; programming peripherals; interrupt system programming; microprocessor system design and applications.

CSE 396 Introduction to the Theory of Computation

Credits: 4
Semester(s): Fall
Pre-requisite: CSE 191, CSE 250, and MTH 142
Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LR
Grading: Graded (A-F)
Covers machine models and formal specifications of the classes of computational problems they can solve. The central concepts are the Turing machine and the classes of decidable and computably enumerable languages. The Halting Problem and other natural problems are shown to be undecidable by Turing machines, implying that they are undecidable by high-level programming languages or any other known computational model. Finite automata, which are Turing machines without external memory, are shown to correspond to the class of regular languages. The course also covers regular expressions, time and space complexity of Turing machines, reducibility between problems, and NP-completeness.

CSE 410 Special Topics

Credits: 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: Permission of instructor
Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LEC
Grading: Graded (A-F)
The content of this course is variable and therefore it is repeatable for credit. The University Grade Repeat Policy does not apply.
Contents, format and required background vary from offering to offering. Intended for rapid introduction of timely material in computer science and engineering, which will not be repeated under this course number. Offered occasionally.

CSE 411 Introduction to Computer Systems Administration

Credits: 4
Semester(s): Fall
Pre-requisite: Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors only. Departmental senior standing recommended.
Type: LR
Grading: Graded (A-F)
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.

CSE 421 Introduction to Operating Systems

Credits: 4
Semester(s): Fall, Spring
Pre-requisite: CSE 250 and Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only. Departmental senior standing recommended
Type: LR
Grading: Graded (A-F)
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.

CSE 422 Operating Systems Internals

Credits: 4
Semester(s): Spring
Pre-requisite: CSE 421 or Permission of instructor
Type: LR
Grading: Graded (A-F)
Uses an operating system (such as UNIX) as an example to teach the internal workings of operating systems. The material presented is more practical than the other operating systems related classes. The laboratory component of this course provides programming projects involving modifications to an operating system kernel (such as UNIX) on computers dedicated to use for this course. Topics covered include building the operating system kernel, the system call interface, process management, kernel services provided for processes, the I/O system, the internal workings of the file system, device drivers, and the kernel support of Interprocess Communications.

CSE 431 Algorithms Analysis and Design

Credits: 4
Semester(s): Fall, Spring
Pre-requisite: CSE 331
Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LR
Grading: Graded (A-F)
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.

CSE 435 Information Retrieval

Credits: 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: CSE 250, MTH 309; Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors only.
Type: LR
Grading: Graded (A-F)
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.

CSE 437 Introduction to Numerical Analysis I

Credits: 4
Semester(s): Fall
Pre-requisite: CSE 113 or CSE 115; and MTH 241, MTH 306, MTH 309 with grades of C or higher, or Permission of instructor
Type: LLB
Grading: Graded (A-F)
First part of a 2-semester sequence which explores the design and implementation of numerical methods to solve the most common types of problem arising in science and engineering. Most such problems cannot be solved in terms of a closed analytical formula, but many can be handled with numerical methods learned in this course. Topics for the two semesters include: how a computer does arithmetic, solving systems of simultaneous linear or nonlinear equations, finding eigenvalues and eigenvectors of (large) matrices, minimizing a function of many variables, fitting smooth functions to data points (interpolation and regression), computing integrals, solving ordinary differential equations (initial and boundary value problems), and solving partial differential equations of elliptic, parabolic, and hyperbolic types. We study how and why numerical methods work, and also their errors and limitations. Students gain practical experience through course projects that entail writing computer programs. Cross-listed with MTH 437.

CSE 438 Introduction to Numerical Analysis II

Credits: 4
Semester(s): Spring
Pre-requisite: CSE 437 or MTH 437
Type: LLB
Grading: Graded (A-F)
Second part of the 2-semester sequence described under CSE 437. Cross-listed with MTH 438.

CSE 442 Software Engineering

Credits: 4
Semester(s): Fall, Spring
Pre-requisite: CSE 250 and Departmental Senior Standing; Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors only.
Type: LR
Grading: Graded (A-F)
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.

CSE 443 Introduction to Language Processors

Credits: 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: CSE 305, CSE 396
Type: LR
Grading: Graded (A-F)
Considers problems encountered in the design and implementation of a translator for high-level programming languages: lexical analysis, context-free grammars, parsing, storage allocation, code generation and optimization, and error recovery. Uses compiler construction tools for the programming projects. Offered occasionally.

CSE 451 Program Development

Credits: 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: CSE 305
Type: LR
Grading: Graded (A-F)
A course in theoretical software engineering, covering the practical development of correct programs based on a mathematical notion of program correctness. Topics include: propositional and first-order logic; the specification of programs using Hoare triple and Dijkstra's weakest preconditions; the definition of a small imperative language; assignment, sequencing, a conditional statement, and a loop; and programming as a goal-oriented developmental activity, based on the formal definition of a small language. Offered irregularly.

CSE 452 VLSI Testing

Credits: 4
Semester(s): Spring
Pre-requisite: CSE 493 or Permission of instructor
Type: LEC
Grading: Graded (A-F)
Includes topics: VLSI Testing - Why and How? Test Generation; ATPG; Fault Model; CMOS Circuits; Design for Testability; Built-in Self-Testing; Partial Scan Techniques; Simulation at various levels - Switch level, Gate level and Behavioral level; Software Tools and Equipments for Testing; Advanced Concepts - Semi-custom VLSI Chips, Wafer-Scale-Integration, Multi-Chip Modules, System-on-Chip; Case Studies - Microprocessor Testing, Testing of RAMs; Bounday Scan Technique; Analog and Mixed-signal Testing. At the end of the course, the students are expected to be able to gain the skills to modify a given circuit and make it testable using the concepts and tools learned in the class.

CSE 453 Hardware/Software Integrated Systems Design

Credits: 4
Semester(s): Spring
Pre-requisite: CSE 442 or Permission of instructor Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LR
Grading: Graded (A-F)
Software designs produced in the prerequisite CSE 442 Software Engineering course are carried here to a complete hardware realization. Bringing skills learned from previous hardware and software-oriented courses, students form multidisciplinary workgroups and are given tools, parts, goals, and constraints, all of which define the integrated design setting. These workgroups identify, formulate, and solve the hardware and software problems posed by their project, and defend their realization concepts at key intervals during the project build-out. Projects are tested, and a report analyzing the level of satisfaction of design and performance specifications submitted. Each group prepares a 'rollout' presentation, which includes a demonstration of their project in operation. This is a required course for CEN majors.

CSE 455 Introduction to Pattern Recognition

Credits: 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: CSE 250 or EAS 230 and EAS 305 and Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LR
Grading: Graded (A-F)
Foundations of pattern recognition algorithms and machines, including statistical and structural methods. Data structures for pattern representation, feature discovery and selection, classification vs. description, parametric and non-parametric classification, supervised and unsupervised learning, use of contextual evidence, clustering, recognition with strings, and small, sample-size problems.

CSE 456 Introduction to Visualization

Credits: 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: CSE 250; Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors only.
Type: LR
Grading: Graded (A-F)
Introduction to relevant topics and concepts in visualization, including computer graphics, visual data representation, physical and human vision models, numerical representation of knowledge and concept animation techniques, pattern analysis, and computational methods. Tools and techniques for practical visualization. Elements of related fields including computer graphics, human perception, computer vision, imaging science, multimedia, human-computer interaction, computational science, and information theory. Covers examples from a variety of scientific, medical, interactive multimedia, and artistic applications. Hands-on exercises and projects.

CSE 462 Database Concepts

Credits: 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: CSE 250 and Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LR
Grading: Graded (A-F)
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.

CSE 463 Knowledge Representation

Credits: 4
Semester(s): Spring
Pre-requisite: CSE 305 or Permission of instructor
Type: LR
Grading: Graded (A-F)
Introduces the field of knowledge representation and reasoning, the branch of artificial intelligence concerned with the techniques for representing and reasoning about the information to be used by an AI program. Topics typically include: the knowledge-representation hypothesis; propositional and first-order logic; model finding; resolution; syntactic proof theory; direct and refutation methods; relevance logic; truth maintenance and belief revision; commonsense reasoning; ontologies. Other topics that may be included as time permits are: modal logics; non-monotonic, defeasible, and default logics; logics of knowledge and belief; frames; description logics; vague and uncertain beliefs; logics of actions and time.

CSE 467 Computational Linguistics

Credits: 4
Semester(s): Fall
Pre-requisite: CSE 305 or Permission of instructor
Type: LEC
Grading: Graded (A-F)
Introduces computational models for understanding natural languages. Covers topics including, but not limited to, syntactic and semantic parsing, generation, and knowledge representation techniques. Cross-listed with LIN 467.

CSE 473 Introduction to Computer Vision and Image Processing

Credits: 4
Semester(s): Fall
Pre-requisite: Departmental Senior Standing or Permission of instructor; Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors only.
Type: LR
Grading: Graded (A-F)
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.

CSE 474 Introduction to Machine Learning

Credits: 4
Semester(s): Fall
Pre-requisite: CSE 250; EAS 305 or MTH 309; Permission of instructor; Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors only.
Type: LR
Grading: Graded (A-F)
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.

CSE 484 Philosophy of Computer Science

Credits: 4
Semester(s): (No information on typically offered semesters)
Requisites: Junior or Senior standing, or permission of instructor
Type: LR
Grading: Graded (A-F)
Introduces philosophical issues in computer science. Examines the nature of computer science (e.g., whether it is a science or a branch of engineering, whether it is the study of physical computers or abstract computing); the nature of computation, algorithms, and software, and their implementation in computer programs; the nature of computer programs (e.g., whether they are theories, models, or simulations; whether they can or should be patented or copyrighted; whether they can be verified). Also briefly explores the philosophy of artificial intelligence and issues in computer ethics. Offered irregularly. Cross listed with PHI 484.

CSE 486 Distributed Systems

Credits: 4
Semester(s): Fall
Pre-requisite: CSE 250 or permission of instructor and Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LR
Grading: Graded (A-F)
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.

CSE 487 Information Structures

Credits: 4
Semester(s): Spring
Pre-requisite: CSE 250 and approved Computer Science, Computer Engineering, Bioinformatics/CS Majors only. Departmental senior standing recommended.
Type: LR
Grading: Graded (A-F)
Data-intensive computing deals with storage models, application architectures, middleware, and programming models and tools for large-scale data analytics. In particular we study approaches that address challenges in managing and utilizing ultra-scale data and the methods for transforming voluminous data sets (big data) into discoveries and intelligence for human understanding and decision making. Topics include: storage requirements of big data, organization of big data repositories such as Google File System (GFS) semantic organization of data, data-intensive programming models such as MapReduce, fault-tolerance, privacy, security and performance, services-based cloud computing middleware, intelligence discovery methods, and scalable analytics and visualization. This course has three majors goals: (i) understand data-intensive computing, (ii) study, design and develop solutions using data-intensive computing models such as MapReduce and (iii) focus on methods for scalability using the cloud computing infrastructures such as Google App Engine (GAE), Amazon Elastic Compute Cloud (EC2), and Windows Azure. On completion of this course students will be able to analyze, design, and implement effective solutions for data-intensive applications with very large scale data sets.

CSE 489 Modern Networking Concepts

Credits: 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: CSE 250 and EAS 305 or MTH 411 and Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LR
Grading: Graded (A-F)
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.

CSE 490 Computer Architecture

Credits: 4
Semester(s): Fall
Pre-requisite: CSE 341 or CSE 379 and Approved Computer Science, Computer Engineering, Bioinformatics/CS Majors Only
Type: LR
Grading: Graded (A-F)
Examines system architecture with 32- and 64-bit microprocessors. Topics include the design of high-performance computer systems, such as workstations and multiprocessor systems using recent advanced microprocessor. Considers the internal architecture of recent microprocessors, followed by vector processing, memory hierarchy design, and communication subsystems for I/O and interprocessor communication.

CSE 492 Undergraduate Peer Mentoring

Credits: 1 - 3
Semester(s): (No information on typically offered semesters)
Type: TUT
Grading: Pass/Fail
This course provides the opportunity for undergraduate students to serve as undergraduate mentors for students entering the Computer Science & Engineering department. Students that are interested in becoming mentors are asked to contact the mentor program coordinators. Registration in the course is by permission of the coordinators only. (May not be used to satisfy the requirements for the BA or BS.)

CSE 493 Introduction to VLSI Electronics

Credits: 4
Semester(s): Fall
Pre-requisite: Senior standing
Approved Computer Science, Computer Engineering, Bioinformatics/CS, Electrical Engineering Majors only.
Type: LLB
Grading: Graded (A-F)
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.

CSE 494 Senior Capstone/Seminar

Credits: 3
Semester(s): (No information on typically offered semesters)
Pre-requisite: Completion of year 1-3 major requirements
Type: SEM
Grading: Graded (A-F)
Course for senior-level majors intended to provide a learning experience that integrates knowledge from lower-level courses. Topics may vary. (May not be used to satisfy the requirements for the BA or BS unless specifically used as capstone or senior seminar.)

CSE 495 Supervised Teaching

Credits: 1 - 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: Junior status, 3.0 QPA, A- or better in course teaching, permission of instructor
Type: TUT
Grading: Graded (A-F)
The content of this course is variable and therefore it is repeatable for credit. The University Grade Repeat Policy does not apply.
Students participating in this course serve as undergraduate teaching assistants. Responsibilities include leading lab and recitation sections, and holding study sessions. (May not be used to satisfy the requirements for the BA or BS.)

CSE 496 Internship

Credits: 1 - 5
Semester(s): Fall, Spring
Pre-requisite: Accepted CSE major and personal interview with an adviser in computer science and engineering
Type: TUT
Grading: Pass/Fail
The content of this course is variable and therefore it is repeatable for credit. The University Grade Repeat Policy does not apply.
Field experience working on a computer science project in a real-world setting under the joint direction of a supervisor from industry and a faculty advisor from the Department of Computer Science and Engineering. Projects selected should integrate the material learned in academic courses. Upon completing the internship the student is expected to have fulfilled an internship contract. Only S/U grades are given (therefore, internships may not be used to satisfy requirements for the BA or BS.) No more than 5 credit hours of CSE 498 may be taken. Offered every semester.

CSE 497 Departmental Honors Thesis or Project

Credits: 3
Semester(s): (No information on typically offered semesters)
Pre-requisite: Acceptance into departmental honors program and permission of instructor
Type: TUT
Grading: Graded (A-F)
Accepted seniors pursue a specialized independent study leading to an honors thesis or project.(May not be used to satisfy the requirements for the BA or BS.)

CSE 498 Undergraduate Research and Creative Activity

Credits: 1 - 4
Semester(s): (No information on typically offered semesters)
Pre-requisite: Permission of instructor
Type: TUT
Grading: Graded (A-F)
The content of this course is variable and therefore it is repeatable for credit. The University Grade Repeat Policy does not apply.
Students collaborate with faculty research mentors on an ongoing project in a faculty member's laboratory or conduct independent research under the guidance of a faculty member. This experience provides students with an inquiry based learning opportunity and engages them as active learners in a research setting. (May not be used to satisfy the requirements for the BA or BS.)

CSE 499 Independent Study

Credits: 1 - 4
Semester(s): Fall, Spring
Pre-requisite: Permission of instructor, preferably during the previous semester
Type: TUT
Grading: Graded (A-F)
The content of this course is variable and therefore it is repeatable for credit. The University Grade Repeat Policy does not apply.
Independent study is tailored towards special projects working independently with the faculty. (May not be used to satisfy the requirements for the BA or BS.)

Updated: 13 Nov 2012 06:00:48 EST