CSE Spring 2022 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.


Space is extremely limited in our computer science classes and we don’t often have space for students outside the program. Highly qualified non-majors can request space in these classes by contacting our Academic Coordinator, Heidi Wegrzyn (hew207@lehigh.edu).  Please know not all requests can be accommodated due to capacity constraints.

CSE 004 INTRODUCTION TO PROGRAMMING, PART B MWF 12:10-1:00, Professor Stephen Urban

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


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.

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

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

CSE 007-012, MWF 1:35-2:50, Professor Sharon Kalafut

CSE 012-010 SURVEY OF COMPUTER SCIENCE, MW 10:45-12:00, Professor Sharon Kalafut

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.


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, TR 7:55-9:10, Professor Houria Oudghiri

CSE 017-011, TR 9:20-10:35, Professor Houria Oudghiri

CSE 017-012, MW 1:35-2:50, Professor Kallie Ziltz


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, MWF 9:20-10:35, Professor Corey Montella

CSE 109-011. MWF 12:10-1:25, Professor Corey Montella

CSE 109-012, MWF 3:00-4:15, Professor Mark Erle

CSE 127 SURVEY OF AI, 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.


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.

CSE 140-010, MW 1:35-2:50, Professor Ahmed Hassan

CSE 140-011, MW 3:00-4:15, Professor Jeffrey Trinkle

CSE 160-010 INTRO TO DATA SCIENCE, TR 1:35-2:50, Professor Aparna Bharati

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.


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, TR 10:45-12:00, Professor Mark Erle

CSE 202-011, TR 1:35-2:50, Professor Mark Erle

CSE 202-012, MW 7:55-9:10, Professor Houria Oudghiri

CSE 216-010 SOFTWARE ENGINEERING, MW 9:20-10:35, Professor Stephen Urban

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.


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.

CSE 241-010, MW 10:45-12:00, Professor Roberto Palmieri

CSE 241-011, MW 9:20-10:35, Professor Roberto Palmieri


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, MW 1:35-2:50, Professor Dominic DiFranzo

CSE 252-011, TR 9:20-10:35, Professor George Witmer

CSE 262/CSE 498-022 PROGRAMMING LANGUAGES, MW 10:45-12:00, Professor Michael Spear

Use, structure and implementation of several programming languages.

CSE 264 WEB SYSTEMS PROGRAMMING, 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 CAPSTONE PROJECT I,  TR 3:00-4:15, Professor Corey Montella and Stephen Urban

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.

CSE 303-010 OPERATING SYSTEM DESIGN, TR 1:35-2:50, Professor Ahmed Hassan

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.

CSE 307/407 STRUCTURAL BIOINFORMATICS), MWF 1:35-2:25, Professor Brian Chen

Computational techniques and principles of structural biology used to examine molecular structure, function, and evolution. Topics include: protein structure alignment and prediction; molecular surface analysis; statistical modeling; QSAR; computational drug design; influences on binding specificity; protein-ligand, -protein, and -DNA interactions; molecular simulation, electrostatics. Tutorials on UNIX systems and research software support an interdisciplinary collaborative project in computational structural biology. Credit will not be given for both CSE 307 and CSE 407. Must have junior standing or higher. Click here for official description.

CSE 325/425 NATURAL LANGUAGE PROCESSING, MW 12:40-1:55, 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, 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.

CSE 340 DESIGN AND ANALYSIS OF ALGORITHMS, MW 1:35-2:50, Professor Lifang He

Algorithms for searching, sorting, manipulating graphs and trees, finding shortest paths and minimum spanning trees, scheduling tasks, etc.: proofs of their correctness and analysis of their asymptotic runtime and memory demands. Designing algorithms: recursion, divide-and-conquer, greediness, dynamic programming. Limits on algorithm efficiency using elementary NP-completeness theory. Credit will not be given for both CSE 340 (MATH 340) and CSE 441 (MATH 441). Click here for official description.


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.

CSE 343-010/443-010 NETWORK, 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.

CSES 347/447 DATA MINING, 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.

CSE 360-010/CSE 460-010 MOBILEROBOTICS, TR 2:05-3:20, Professor David Saldana

Algorithms employed in mobile robotics for navigation, sensing, and estimation. Common sensor systems, motion planning, robust estimation, bayesian estimation techniques, Kalman and Particle filters, localization and mapping. Click here for official description.

**NEW COURSE FOR SPRING 2022** CSE 398/498 TRUSTWORTHY MACHINE LEARNING, MW 9:50-11:05, Professor 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 projects, which requires some mathematical maturity to understand the new advanced techniques. The lectures cover the basics of evasion attacks on machine learning, detection, and defenses against adversarial attacks and potentially fairness of machine learning, etc. 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 FOR SPRING 2022** CSE 398/498 METHODS FOR UNDERSTANDING HCI, TR 9:50-11:05, Professor Eric Baumer

Covers advanced methods for conducting research and evaluation studies in HCI, possibly including but not limited to: controlled experiments, ethnography, surveys, grounded theory, field deployments, research through design, crowdsourcing, log data analysis, and others. Prerequisites: CSE 252 or CSE 331 or Instructor Approval

CSE 398/498 DATA SCIENCE FOR SMART CITIES, TR 2:05-3:20, Professor Yu Yang

Empowered by rich data collected from various infrastructures in our cities and machine learning techniques, our cities are becoming “smarter”. In this course, we discuss how data science is used to innovate our cities. We cover topics such as urban sensing, data-driven modeling and analytics for smart city services, data-driven decision making, data visualization, and novel applications in various city phenomena. Students are expected to (i) read and present research papers drawn from top conferences, (ii) participate in discussions of the papers, and (iii) design, implement and present their ideas for the final class project. Prerequisites: CSE 017 and (CSE 160 or CSE 326 or CSE 347).

CSE 403-010 ADVANCED OPERATING SYSTEMS, TR 8:25-9:40, Professor Ahmed Hassan

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. Credit will not be given for CSE 303 and CSE 403.

CSE 440-010 ADVANCED ALGORITHMS, MW 11:15-12:30, Professor Arielle Carr

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.

** NEW COURSE FOR SPRING 2022** CSE 498 KNOWLEDGE REPRESENTATION, TR 9:50-11:05, Professor Jeff Heflin

Knowledge representation and reasoning (KR&R) is the subfield of artificial intelligence (AI) that concerns how to represent general information about the world, and how to determine the consequences of this information.  One known weakness of deep learning models is lack of explainability; generally, knowledge representation models do not suffer from this problem. In this class we will explore the fundamentals of KR&R by examining many different formalisms and automated reasoning procedures. We will then use this basis to discuss the role of KR&R in modern systems: Why are many technology companies investing in knowledge graphs? When should knowledge representation be preferred to machine learning? Can knowledge representation be combined with machine learning when we have some degree of background knowledge regarding our problem? Can machine learning be used to make automated reasoning more efficient? Students will leave this class with a broader perspective of AI and a set of new tools that they can apply to their research.

CSB COURSES – Spring 2022

CSB 242 BLOCKCHAIN CONCEPTS & APPS, 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

CSB 311-010 COMPUTER APPLICATIONS IN BUSINESS, W 7:15-9:55pm, Professor 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.


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.

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.


Space is extremely limited in our computer science classes and we don’t often have space for students outside the program. Highly qualified non-majors can request space in these classes by contacting our Academic Coordinator, Heidi Wegrzyn (hew207@lehigh.edu).  Please know not all requests can be accommodated due to capacity constraints.