CSE Spring 2021 Courses

NOTE: This listing represents our current plan for the semester in question. Course offerings and class times are occasionally subject to change for reasons beyond our control.


CSE 003 INTRODUCTION TO PROGRAMMING PART A (14759, Remote Asynchronous), Professor Brian Chen

Covers the same material as the first half of CSE 007. Designed to allow more class and laboratory time for each topic. No prior programming experience needed. Cannot be taken by students who have completed CSE 007.


CSE 004 INTRODUCTION TO PROGRAMMING, PART B (14760, Remote), MWF 12:10-1:00, Professor Brian Chen

Covers the same material as the second half of CSE 007. Designed to allow more class and laboratory time for each topic. Cannot be taken by students who have completed CSE 007. Prerequisites: CSE 003


CSE 007 INTRODUCTION TO PROGRAMMING (Remote)

Problem-solving using the Java programming language. Data types, control flow, methods, arrays, objects, inheritance, breadth of computing. Includes laboratory. If credit is given for CSE 007 then no credit will be given for CSE 003 nor CSE 004.

Spring 2021 Notes: Classes will be held via Zoom, but will require synchronous attendance and active participation from the students. Weather/safety permitting, I'd like to hold optional outdoor office hours weekly starting in March. 

CSE 007-010 (14761), MWF 9:20-10:35, Professor Kallie Ziltz

CSE 007-011 (14762), MWF 10:45-12:00, Professor Kallie Ziltz

CSE 007-012 (14763), MWF 1:35-2:50, Professor Kallie Ziltz


CSE 012-010 SURVEY OF COMPUTER SCIENCE (Remote)

This course provides a project-based exploration of fundamental concepts in computing and "computational thinking." Topics include but are not limited to networks, data visualization, information storage and retrieval, and the popular Python programming language. Each project presents applications of computing in solving real life problems. In this course you will learn to write Python code to visualize data from different sources. You will learn how information is transferred across networks and how to store and retrieve data from relational database management systems. Optional Structured Study Groups will be provided for students who express interest. Click here for official description.

CSE 012-010 (11676), MW 3:00-4:15, Professor Sharon Kalafut

CSE 012-011 (13756), MW 12:10-1:25, Professor Sharon Kalafut


CSE 017 PROGRAMMING AND DATA STRUCTURES (Remote)

This course is a programming-intensive exploration of software design concepts and implementation techniques. It builds on the student's existing knowledge of fundamental programming. Topics include object-oriented software design, problem-solving strategies, algorithm development, and classic data structures. Click here for official description.

CSE 017-010 (10518), T 7:55-9:10 class cemote and lab at either Thursday 7:55-9:10 or 9:20-10:35 (remote or on-campus), Professor Houria Oudghiri. Spring 2021 Notes: All lectures will be via Zoom and I recommend students attend lectures synchronously. However, there will be recorded lectures for those who cannot attend synchronously. Attendance grade will be calculated using weekly quizzes on the material covered in the lectures.

CSE 017-011 (11793), MW 9:20-10:35 class remote and lab at either Wednesday 9:20-10:35 or 10:45-12:00 (remote or on-campus) Professor Houria Oudghiri. Spring 2021 Notes: All lectures will be via Zoom and I recommend students attend lectures synchronously. However, there will be recorded lectures for those who cannot attend synchronously. Attendance grade will be calculated using weekly quizzes on the material covered in the lectures.

CSE 017-012 (13842), Professor Houria Oudghiri


CSE 098 WOMEN IN TECH & INNOVATION (12572, Remote), R 3:00-4:15, Professor Daniel Lopresti

This class looks at the transformative role women play in promoting prosperity and human progress through technology and innovation.  The class will shine a light on the remarkable women who are building companies and technologies that transform the way we live and work, and who are paving new paths for female entrepreneurship and gender equality.  It will also look at the challenges that women in tech continue to face, including sexism, gender discrimination, unconscious bias, impostor syndrome and more.  This one credit class will explore the issues over seven sessions, meeting once weekly.  The class will employ the popular book "Geek Girl Rising" by Heather Cabot and Samantha Walravens, and feature a number of guest lectures with Q&A by female tech leaders speaking from Silicon Valley locations who will offer points of view on the issues, and share their experiences as a guidepost for success.  Grading will be via class participation and a final paper.  Prerequisites:  permission of the instructor.

Spring 2021 Notes: All seven class sessions will meet via Zoom and students are expected to attend synchronously.


CSE 109 SYSTEMS SOFTWARE (Remote)

Advanced programming and data structures, including dynamic structures, memory allocation, data organization, symbol tables, hash tables, B-trees, data files. Object-oriented design and implementation of simple assemblers, loaders, interpreters, compilers and translators. Practical methods for implementing medium-scale programs. Click here for official description.

CSE 109-010 (10519), Professor Corey Montella

CSE 109-011 (12226), Professor Corey Montella

CSE 109-012 (14642), Professor Corey Montella


CSE 127 SURVEY OF AI (14643, Remote), MW 1:35-2:50, Professor Jeff Heflin

An introduction to artificial intelligence (AI) intended for non-majors. AI concepts, systems, and history. Credit will not be given for both CSE/COGS 127 and CSE/COGS 327.

Spring 2021 Notes: All lectures will be held in Zoom and students are expected to attend synchronously.


CSE 140 FOUNDATIONS OF DISCRETE STRUCTURES & ALGORITHMS (Remote)

Basic representations used in algorithms: propositional and predicate logic, set operations and functions, relations and their representations, matrices and their representations, graphs and their representations, trees and their representations. Basic formalizations for proving algorithm correctness: logical consequences, induction, structural induction. Basic formalizations for algorithm analysis: counting, pigeonhole principle, permutations. Click here for official description.

Spring 2021 Notes: Lectures will be via Zoom and I will expect students to attend lectures synchronously. Other than lectures, class communication will be via Piazza and (Zoom-based) office hours.

CSE 140-010 (12954), TR 1:35-2:50, Professor Ahmed Hassan

CSE 140-012 (13968), MW 1:35-2:50, Professor Ahmed Hassan


CSE 160-010 INTRO TO DATA SCIENCE (12676, Remote), TR 1:35-2:50, Professor Brian Davison

Interested in understanding the hype about data science, big data, or data analytics? This course introduces you to data science, a fast-growing and interdisciplinary field, focusing on the computational analysis of data to extract knowledge and insight. You will be introduced to the collection, preparation, analysis, modeling, and visualization of data, covering both conceptual and practical issues. Applications of data science across multiple fields are presented, and hands-on use of statistical and data manipulation software is included. The course is open to students from all areas of study; the only prerequisite is some programming experience (automatic if you've taken CSE 2, 12, or BIS 335, or permission of the instructor is available if you can show that you've successfully completed a programming course online, in high school, or elsewhere). Click here for official description.

Spring 2021 Notes: CSE160 will be held online, asynchronously.  Optional synchronous labs will be held during class time (5-6 times during the semester).  Office hours will be held during class time.


CSE 202 COMPUTER ORGANIZATION AND ARCHITECTURE (Remote)

Interaction between low-level computer architectural properties and high-level program behaviors: instruction set design; digital logics and assembly language; processor organization; the memory hierarchy; multicore and GPU architectures; and processor interrupt/exception models. Click here for official description.

CSE 202-010 (11783), Professor Mark Erle (Remote Asynchronous)

CSE 202-011 (12225), Professor Mark Erle (Remote Asynchronous)

CSE 202-012 (14644), MW 7:55-9:10, Professor Houria Oudghiri.  Spring 2021notes: All lectures will be via Zoom and I recommend students attend lectures synchronously. However, there will be recorded lectures for those who cannot attend synchronously. Attendance grade will be calculated using weekly quizzes on the material covered in the lectures.


CSE 216-010 SOFTWARE ENGINEERING (10520, Remote), MW 9:20-10:35, Professor Liang Cheng

The software life-cycle; life-cycle models; software planning; testing; specification methods; maintenance. Emphasis on team work and large-scale software systems, including oral presentations and written reports. Click here for official description.

Spring 2021 Notes: A flipped classroom model will be used in Spring 2021 for CSE216. Students will be expected to watch and study recorded materials before the class time. Two classes per week will be via live Zoom with students expected to attend, with live discussions on recitation, Q&A, problem solutions, code reviews, and related topics. In addition, office hours will be offered by the professor and project assistants.


CSE 241-010 DATABASE SYSTEMS(13859, Remote), MW 9:20-10:3, Professor Roberto Palmieri

Design of large databases: Integration of databases and applications using SQL and JDBC; transaction processing; performance tuning; data mining and data warehouses. Click here for official description.

Spring 2021 Notes: Classes will be synchronous and interactive on Zoom. Recordings will be available for students to be replayed asynchronously. One-on-one office hours will be available on Zoom at flexible times to accommodate students in different time zones and/or different schedule constraints. The instructor will also be available for 1h in-person office hours to meet with students that wish to have an in-person meeting, if current conditions and regulation allow.


CSE 252-010 COMPUTERS, INTERNET AND SOCIETY (Remote)

An interactive exploration of the current and future role of computers, the Internet, and related technologies in changing the standard of living, work environments, society and its ethical values. Privacy, security, depersonalization, responsibility, and professional ethics; the role of computer and Internet technologies in changing education, business modalities, collaboration mechanisms, and everyday life. (SS) Click here for official description.

CSE 252-010 (10522), MW 1:35-2:50, Professor Eric Baumer. Spring 2021 Notes: Class will be held synchronously using Zoom. The format will emphasize discussion and interaction. For students who are unable to attend synchronously (e.g., due to timezone constraints or limited internet access), class sessions will be recorded and posted online.

CSE 252-011 (14645), TR 9:20-10:35, Professor George Witmer. Spring 2021 Notes: Two 75 minute lectures per week will be via live Zoom with students expected to attend.  In addition, students will be expected to post comments in Slack and/or Perusall for outside readings that will normally take an hour or two per class.


CSE 262 PROGRAMMING LANGUAGES (14646, Remote Asynchronous), Professor Mark Erle

Use, structure and implementation of several programming languages.


CSE 264 WEB SYSTEMS PROGRAMMING (14647, Remote), MW 12:10-1:25, Professor Dominic DiFranzo

Practical experience in designing and implementing modern Web applications. Concepts, tools, and techniques, including: HTTP, HTML, CSS, DOM, JavaScript, Ajax, PHP, graphic design principles, mobile web development. Not available to students who have credit for IE 275. Click here for official description.


CSE 280-010 CAPSTONE PROJECT I (12661, Remote), TR 3:00-4:15, Professors Corey Montella and George Witmer

First of a two semester capstone course sequence that involves the design, implementation, and evaluation of a computer science software project. Conducted by small student teams working from project definition to final documentation. Each student team has a CSE faculty member serving as its advisor. The first semester emphasis is on project definition, planning and implementation. Communication skills such as technical writing, oral presentations, and use of visual aids are also emphasized. Project work is supplemented by weekly seminars. Prerequisite: junior standing and CSE 216. Click here for official description.

Spring 2021 Notes: Four required 75 minute lectures via Zoom at the beginning of the semester with students required to attend.  After that, project teams are required to meet virtually during class time, and are expected to spend an additional 1-2 hours per week outside of class working on their projects either synchronously with their team or individually.


CSE 303-010 OPERATING SYSTEM DESIGN (Remote)

Process and thread programming models, management, and scheduling. Resource sharing and deadlocks. Memory management, including virtual memory and page replacement strategies. I/O issues in the operating system. File system implementation. Multiprocessing. Computer security as it impacts the operating system. Click here for official description.

Recitation Friday (12865) 10:45-11:35, Professor Michael Spear

Recitation Friday (14649) 1:35-2:25, Professor Michael Spear

Spring 2021 Notes: This class will meet once per week, synchronously, via Zoom.  Students will be expected to read the appropriate chapters from the textbook and watch about 2.5 hours of pre-recorded lectures prior to the Zoom meeting each week.


CSE 313 COMPUTER GRAPHICS (14651, Remote), MWF 10:45-11:35, Professor Brian Chen

Computer graphics for animation, visualization, and production of special effects: displays, methods of interaction, images, image processing, color, transformations, modeling (primitives, hierarchies, polygon meshes, curves and surfaces, procedural), animation (keyframing, dynamic simulation), rendering and realism (shading, texturing, shadows, visibility, ray tracing), and programmable graphics hardware. Click here for official description.


CSE 318-010 INTRODUCTION TO THE THEORY OF COMPUTATION (13732, Remote), TR 10:45-12:00, Professor Arielle Carr

Formal study of theoretical computational models: finite automata, pushdown automata, and Turing machines. Study of formal languages: regular, context-free, and decidable languages. Click here for official description.

Spring 2021 Notes: All lectures will be held via Zoom and I expect all students to attend synchronously.


CSE 325/425 NATURAL LANGUAGE PROCESSING (14653/14654, Remote), MW 9:20-10:35, Professor Sihong Xie

Overview of modern natural language processing techniques: text normalization, language model, part-of-speech tagging, hidden Markov model, syntactic and dependency parsing, semantics, word sense, reference resolution, dialog agent, machine translation. Design, implementation and evaluation of classic NLP algorithms. Credit will not be given for both CSE 325 and CSE 425.


CSE 327-011 ARTIFICIAL INTELLIGENCE THEORY AND PRACTICE (10523, Remote), TR 1:35-2:50 Professor Daniel Lopresti

Introduction to the field of artificial intelligence: Problem solving, knowledge representation, reasoning, planning and machine learning. Use of AI systems or languages. Advanced topics such as natural language processing, vision, robotics, and uncertainty. Click here for official description.

Spring 2021 Notes: All classes in CSE 327 will be via live Zoom with students expected to attend synchronously. Lectures will also be recorded and made available for later viewing on CourseSite. If at some point it becomes safe to hold live, in-person classes on campus with no restrictions, I will request a space for us to meet unless this would disadvantage students who have chosen to learn remotely.


CSE 341 DATABASE SYSTEMS, ALGORITHMS AND APPLICATIONS (13856, Remote), TR 9:20-10:35, Professor Hank Korth

Design of large databases; normalization; query languages (including SQL); Transaction-processing protocols; Query optimization; performance tuning; distributed systems. Not available to students who have credit for CSE 241. Click here for official description.

Spring 2021 Notes: Lectures will be recorded in advance.  Classes will meet synchronously at the scheduled class time on zoom.  Class will not be a repeat of lecture but rather a discussion of the lecture topics. 


CSE 343-010/443-010 NETWORK SECURITY (12395/12396, Flexible Classroom)

CSE 343-011/443-011 NETWORK SECURITY (14987/14988, Flexible Remote)

MW 9:20-10:35, Professor Mooi Choo Chuah

Overview of network security threats and vulnerabilities. Techniques and tools for detecting, responding to and recovering from security incidents. Fundamentals of cryptography. Hands-on experience with programming techniques for security protocols. Click here for official description.

Spring 2021 Notes: All lectures will be via Zoom and students are expected to attend lectures synchronously. However, there will be recorded lectures for those who cannot attend synchronously.  Office Hours will be either in-person or via Zoom.


CSES 347/447 DATA MINING (13857/13858, Remote), MW 3:00-4:15, Professor Lifang He

Overview of modern data mining techniques: data cleaning; attribute and subset selection; model construction, evaluation and application. Fundamental mathematics and algorithms for decision trees, covering algorithms, association mining, statistical modeling, linear models, neural networks, instance-based learning and clustering covered. Practical design, implementation, application, and evaluation of data mining techniques in class projects. Credit will not be given for both CSE 347 and CSE 447. Click here for official description.

Spring 2021 Notes: All lectures will be via Zoom and students are expected to attend lectures synchronously. However, there will be recorded lectures for those who cannot attend synchronously.


**NEW COURSE FOR SPRING 2021** CSE 398/498 MEDIA FORENSICS (14702/14703, Remote), MW 12:10-1:25, Professor Aparna Bharati

Due to the ease of generating and editing images and videos, we find plenty of fake images and videos these days. In this class, we will discuss the process of creation of fake images and videos as well as the forensic techniques developed to detect forgeries, identify the origin, and trace the processing history of digital multimedia content. This course provides an overview of fundamental concepts of such techniques along with media forensics research and related applications. Lecture materials would be a mix of three kinds - delivered by the instructor, guest speakers and student-led paper presentations. Students will also participate in a team-based course project where they will develop an application for forensic problems based on the concepts covered in the class. Prerequisites:(MATH 205 and MATH 231) or CSE 347 or CSE 447 or CSE 326 or CSE 426

Spring 2021 Notes:  Lectures will be via Zoom and I will expect students to attend lectures synchronously. I plan to hold in-person office hour sessions if requested.


** NEW COURSE FOR SPRING 2021**

CSE 398-013/498-013 ADV. AERIAL ROBOTICS (14700/14701, Flexible Classroom)

CSE 398-015/498-015 ADV. AERIAL ROBOTICS (14991/14992, Flexible Remote)

MW 2:05-3:20, Professor David Saldana

This course offers an overview of the classic control algorithms for multi-rotor systems, as well as, recent methods in the aerial robotics literature. We start understanding the dynamics and linear controllers for quadcopters. We extend the classic robotics methods to second-order systems for planning and obstacle avoidance in aerial vehicles. Then, we study physical interaction between objects and aerial robots using cables and grasping mechanisms. 

This course has a graduate-level and requires a background in mobile robotics, physics, differential equations, and linear algebra. Prerequisite: CSE 360 or CSE 460


**NEW COURSE & INSTRUCTOR FOR SPRING 2021** CSE 398/498 ADVERSARIAL MACHINE LEARNING (15368/15369, Remote), TR 9:20-10:35, Prof. Lichao Sun

This course will introduce adversarial machine learning, including research areas related to security, privacy, and machine learning. The class will be a combination of lectures and paper discussions, which requires some mathematical maturity to understand the new advanced techniques and value the papers' contributions. The lectures cover the basics of evasion attacks on machine learning, detection, and defenses against adversarial attacks and potentially fairness of machine learning, etc. Paper discussions will involve reading recent top conference papers in this area. The students are recommended to have a basic background in machine learning or data mining courses. Pre-requisites: CSE326 or CSE 426 or CSE347 or CSE 447 or equivalent courses, or ask permission from the instructor.


**NEW COURSE SPRING 2021** CSE 398/498 Introduction to Arm-Type Robots (15543/15544, Remote), TR 10:45-12:00, Professor Jeff Trinkle

This course will cover fundamental concepts, mathematics, and algorithms most relevant to serial chain robots, i.e., legs, arms, spines, fingers, and toes.  The main topics to be studied are position and orientation representations, forward and inverse kinematic maps, coordinated linkage control, basic legged locomotion and grasping.  Semester-long projects will be done in interdisciplinary teams of three students.  These projects will incorporate most of the basic topics above, but will also offer the opportunity to explore topics of interest to students that are beyond the main topics.  Assignments and labs will be done using virtual robots in simulation, but the possibility of using physical robots is be examined.

The 498 (graduate) version of this class will differ from the 398 (undergraduate) version by one or more of several possible extensions designed by the student with the approval of the instructor.  These extensions include, but are not limited to, extra homework assignments, a more extensive project, an in-class presentation of a topic of useful results from the literature.

Prerequisites:  basic programming ability (e.g., CSE 007 or CSE 012) and permission of the instructor. Students who are interested in taking the course short send a paragraph of what they'd hope to get from the course.


CSE 403-010 ADVANCED OPERATING SYSTEMS (Remote)

Principles of operating systems with emphasis on hardware and software requirements and design methodologies for multi-programming systems. Global topics include the related areas of process management, resource management, and file systems. Prerequisites: CSE 303

Recitation Friday (11443) 10:45-11:35, Professor Michael Spear

Recitation Friday (14650) 1:35-2:25, Professor Michael Spear

Spring 2021 Notes: This class will meet once per week, synchronously, via Zoom.  Students will be expected to read the appropriate chapters from the textbook and watch about 2.5 hours of pre-recorded lectures prior to the Zoom meeting each week. Credit will not be given for CSE 303 and CSE 403.


CSE 431 INTELLIGENT AGENTS (14655, Remote), MW 9:50-11:05, Professor Jeff Heflin

Theory, architecture and applications of the Semantic Web. Issues in designing distributed knowledge representation languages, ontology development, knowledge acquisition, scalable reasoning, integrating heterogeneous data sources, and web-based agents.

Spring 2021 Notes: All lectures will be held in Zoom and students are expected to attend synchronously.


CSE 440-010 ADVANCED ALGORITHMS (12955, Remote), TR 3:00-4:15, Professor Ahmed Hassan

Average-case runtime analysis of algorithms. Randomized algorithms and probabilistic analysis of their performance. Analysis of data structures including hash tables, augmented data structures with order statistics. Amortized analysis. Elementary computational geometry. Limits on algorithm space efficiency using PSPACE-completeness theory. Prerequisites: CSE 340 or MATH 340.

Spring 2021 Notes: Lectures will be via Zoom and I will expect students to attend lectures synchronously. Other than lectures, class communication will be via Piazza and (Zoom-based) office hours.


** NEW COURSE FOR SPRING 2021** CSE 498 ADVANCED DISTRIBUTED SYSTEMS (14699, Remote), TR 1:35-2:50, Professor Roberto Palmieri

Large scale mainstream system software is distributed and requires performance at near memory speed. In this course we study and analyze state-of-the-art technology with the goal of collectively developing a high-performance distributed data management system. The course is structured so that teams of students design and program different components of a single large system. These components will be then integrated and tested using standard applications.

Prerequisite: CSE 303 or CSE 375 or CSE 403 or CSE 475.

 Spring 2021 Notes: Classes will be synchronous and interactive on Zoom. Recordings will be available for students to be replayed asynchronously. One-on-one office hours will be available on Zoom at flexible times to accommodate students in different time zones and/or different schedule constraints.


CSB COURSES – Spring 2021

CSB 242 BLOCKCHAIN CONCEPTS & APPS (14640, Remote), TR 1:35-2:50, Professor Hank Korth

Blockchain is the technology underlying Bitcoin, along with other digital currencies, and a data-management technology applicable broadly in finance, accounting, marketing, supply-chain, and "smart" contracts. It offers the ability to decentralize financial transactions, automate record keeping, and increase privacy. This course gives students the basis for understanding the technological foundations of blockchain and the business impact of blockchain.

Spring 2021 Notes: Lectures by the instructor will be recorded in advance.  Lectures by guest lecturers will be synchronous in the scheduled class period on zoom.  Classes will meet synchronously at the scheduled class time on zoom.  Class will be either a guest lecture from someone working in the blockchain field or will be a discussion based on the topic covered in the recorded lecture.  Participation in the synchronous discussions is an important part of the course grade.   


CSB 311-010 COMPUTER APPLICATIONS IN BUSINESS (11263, Remote), W 7:15-9:55 PM, Todd Patterson

Application of computer technology to business problems. Transaction processing systems which support the revenue, conversion, and expenditure cycles of manufacturing, service, and retail business organizations. Topics include process modeling, data modeling, internal controls, corporate IT governance, IT audit techniques, SAP and applications of Generalized Audit Software. Click here for official description.


CSB 312 DESIGN OF INTEGRATED BUSINESS APPLICATIONS (10671,12251,12434, 15462 Remote), TR 3:00-4:15

Integrated Product Development (IPD) Capstone I. Industry-based business information systems design project. Information systems design methodology, user needs analysis, project feasibility analysis of design alternatives, and integrated product development methodology. Formal oral and written presentations to clients. Click here for official description.

Spring 2021 Notes: Four required 75 minute lectures via Zoom at the beginning of the semester with students required to attend.  After that, project teams are required to meet virtually during class time, and are expected to spend an additional 1-2 hours per week outside of class working on their projects either synchronously with their team or individually.