CSE Summer 2020 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.
FULL SUMMER SESSION (5/19/20-8/6/20)
CSE 202 COMPUTER ORGANIZATION AND ARCHITECTURE, MW 4:00-6:50pm, Professor Mark Erle
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. Credit will not be given for both CSE 201 and CSE 202.
CSE 340 DESIGN AND ANALYSIS OF ALGORITHMS, MTWR 10:00-11:45am, Professor Arielle Carr
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).
SUMMER SESSION I (5/19/20-6/25/20)
CSE 002 FUNDAMENTALS OF PROGRAMMING, MTWR 12:00-1:45, Professor Sharon Kalafut
Problem-solving and object-oriented programming using Java. Includes laboratory. No prior programming experience needed.
CSE 012 SURVEY OF COMPUTER SCIENCE, MTWR 10:00-11:45, Professor Sharon Kalafut
Course Description: Fundamental concepts of computing and "computational thinking":problem analysis, abstraction, algorithms, digital representation of information, and networks. Applications of computing and communication that have changed the world. Impact of computing on society. Concepts of software development using a scripting language such as Python, Perl, or Ruby. Not available to students who have taken CSE 001.
CSE 017 PROGRAMMING & DATA STRUCTURES, MTWR 12:00-1:45, Professor Arielle Carr
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.
CSE 140 FOUNDATIONS OF DISCRETE STRUCTURES AND ALGORITHMS, MTWR 10:00-11:45, Professor Ahmed Hassan
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.
SUMMER SESSION II (6/29/20-8/6/20)
CSE 017 PROGRAMMING & DATA STRUCTURES, MTWR 10:00-11:45, Professor Corey Montella
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.
CSE 109 SYSTEMS SOFTWARE, MTWR 12:00-1:45, Professor Houria Oudghiri
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.
CSE FALL 2020 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 INTRO. TO PROGRAMMING PART A, MWF 12:10-1:00, 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 007 INTRODUCTION TO PROGRAMMING
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 7:55-9:10, Professor Kallie Ziltz
CSE 007-011, MWF 9:20-10:35, Professor Kallie Ziltz
CSE 007-013, MWF 1:35-2:50, Professor Kallie Ziltz
CSE 012-010 SURVEY OF COMPUTER SCIENCE
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.
CSE 012-010, TR 10:45-12:00, Professor Sharon Kalafut
CSE 012-011, TR 1:35-2:50, Professor Sharon Kalafut
CSE 017 PROGRAMMING & DATA STRUCTURES
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.
CSE 017-010, TR 1:35-2:50, Professor Houria Oudghiri
CSE 017-011, TR 3:00-4:15, Professor Houria Oudghiri
CSE 017-012, TR 7:55-9:10, Professor Houria Oudghiri
CSE 109 SYSTEMS SOFTWARE
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.
CSE 109-011, MWF 10:45-12:00, Professor Mark Erle
CSE 109-012, MWF 3:00-4:15, Professor Mark Erle
CSE 160 INTRO TO DATA SCIENCE, MWF 1:35-2:25, 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 1, 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).
CSE 216 SOFTWARE ENGINEERING
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.
CSE 216-010, TR 1:35-2:50, Professor William Phillips
CSE 216-011, TR 3:00-4:15, Professor William Phillips
CSE 241 DATABSE SYSTEMS AND APPLICATIONS, MW 7:55-9:10, Professor Sihong Xie
Design of large databases: Integration of databases and applications using SQL and JDBC; transaction processing; performance tuning; data mining and data warehouses. Not available to students who have credit for CSE 341 or IE 224.
CSE 252 COMPUTERS, INTERNET AND SOCIETY
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).
CSE 252-010, TR 9:50-11:05, Professor George Witmer
CSE 252-011, MW 11:15-12:30, Professor Eric Baumer
CSE 262 PROGRAMMING LANGUAGES
Use, structure and implementation of several programming languages.
CSE 262-010, MWF 12:10-1:00, Professor Corey Montella
CSE 262-011 MWF 1:35-2:25, Professor Corey Montella
CSE 264 WEB SYSTEMS PROGRAMMING, TR 9:20-10:35, 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.
CSE 271 PROGRAMMING IN C & THE UNIX ENVIRONMENT, MW 1:35-2:50, Professor Mark Erle
C language syntax and structure. C programming techniques. Emphasis on structured design for medium to large programs. Unix operating system fundamentals. Unix utilities for program development, text processing, and communications.
CSE 281 CAPSTONE PROJECT II, F 3:00-4:15, Professor Corey Montella
Second 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 second semester emphasis is on project implementation, verification & validation, and documentation requirements. It culminates in a public presentation and live demonstration to external judges as well as CSE faculty and students. Prerequisite: Senior standing and CSE 280.
CSE 297 BLOCKCHAIN ALGORITHMS & SYSTEMS, TR 10:45-12:00, Professor Hank Korth
Blockchain system concepts, cryptographic algorithms for blockchain security, distributed consensus algorithms for decentralized blockchain control, smart contracts, blockchain databases. Prerequisites: CSE 109 or CSE 241 or CSE 341 or permission of instructor. CSE 109 can be taken concurrently.
CSE 303 OPERATING SYSTEM DESIGN
Explores five fundamental concepts: Concurrency, Persistence, Security, Resource Management, and Virtualization. For the fall of 2020, we will use a "flipped course" paradigm: the course lectures will be online, for students to watch (and rewatch) on their own. Students will also register for one of eight 50-minute recitation sections. Some of these recitations will be exclusively via Zoom, others will be exclusively in person. These recitations will provide an opportunity for each student to get individual attention and programming help, as well as an opportunity for deeper discussions about the topics of each week's lecture. There are five programming assignments, all of which use C/C++, which comprise 45% of the course grade. Another 45% of the grade is based on short-answer homework questions, with the last 10% based on participation in recitations.
CSE 303-010, M recitation 3:00-3:50, Professor Michael Spear
CSE 303-011, R recitation 12:10-1:00, Professor Michael Spear
CSE 303-012, W recitation 3:00-3:50, Professor Michael Spear
CSE 303-013, R recitation 1:35-2:25 Professor Michael Spear
CSE 303-014, R recitation 3:00-3:50, Professor Michael Spear
CSE 303-015, M recitation 1:35-2:25, Professor Michael Spear
CSE 303-016, W recitation 1:35-2:25, Professor Michael Spear
CSE 320/420 BIOMEDICAL IMAGE COMPUTING & MODELING, TR 8:25-9:40, Professor Lifang He
Biomedical image modalities, image computing techniques, and imaging informatics systems. Understanding, using, and developing algorithms and software to analyze biomedical image data and extract useful quantitative information: Biomedical image modalities and formats; image processing and analysis; geometric and statistical modeling; image informatics systems in biomedicine. Credit will not be given for both CSE 320 and CSE 420.
CSE 326/426 MACHINE LEARNING, MW 9:20-10:35, Professor Sihong Xie
Bayesian decision theory and the design of parametric and nonparametric classification and regression: linear, quadratic, nearest-neighbors, neural nets. Boosting, bagging. Credit will not be given for both CSE 326 and CSE 426
CSE 331 USER INTERFACE SYSTEMS & TECHNIQUES, TR 2:05-3:20, Professor Eric Baumer
Principles and practice of creating effective human-computer interfaces. Design and user evaluation of user interfaces; design and use of interface building tools. Programming projects using a variety of interface building tools to construct and evaluate interfaces. Prerequisite: CSE 216 or consent of the instructor.
CSE 336/ECE 336 EMBEDDED SYSTEMS, MW 3:00-4:15, Professor Yahong Zheng
Use of small computers embedded as part of other machines. Limited-resource microcontrollers and state machines from high description language. Embedded hardware: RAM, ROM, flash, timers, UARTs, PWM, A/D, multiplexing, debouncing. Development and debugging tools running on host computers. Real-Time Operating System (RTOS) semaphores, mailboxes, queues. Task priorities and rate monotonic scheduling. Software architectures for embedded systems.
CSE 340 DESIGN & ANALYSIS OF ALGORITHMS
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.
CSE 340-010, MW 10:45-12:00, Professor Arielle Carr
CSE 340-011, MW 3:00-4:15, Professor Hector Munoz-Avila
CSE 360/460-010 INTRODUCTION MOBILE ROBOTICS, 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.
CSE 371/CSE 471 PRINCIPLES OF MOBILE COMPUTING, MW 10:45-12:00, Professor Mooi Choo Chuah
Please see the following link for further information: http://www.cse.lehigh.edu/~chuah/CSE371.html
CSE 375/475 PRINCIPLES & PRACTICE OF PARALLEL COMPUTING, MW 9:50-11:05, Professor Roberto Palmieri
It's the era of data, and having knowledge on how to design and develop correct high performance algorithms and applications for computing data is a fundamental requirement for prospective successful software engineers and designers. CSE-375/475 focuses on that, covering both theoretical and practical aspects, providing students with the sufficient knowledge to implement and reason about parallel applications. A particular focus is given to concurrency, which often represents a barrier for many developers given its complexity in providing correct computation due to the presence of simultaneous accesses on shared data. In this regard, the course covers the traditional lock-based programming, and also state-of-the-art (software and hardware) solutions to code concurrent applications without expositing locks to programmer. For Fall 2020: The class is structured to accommodate . The course will be online; lectures will be recorded and available for download; office hours and grading sessions will be done at flexible time during face-to-face one-to-one Zoom meetings. The instructor relies on advanced technological tools to boost the online learning experience.
CSE 398/498 BIG DATA ANALYTICS, MW 2:05-3:20, Professor Daniel Lopresti
In this 3-credit project course, we will gain a practical working knowledge of large- scale data analysis using the popular open source Apache Spark framework. Spark provides a powerful model for distributing programs across clusters of machines and elegantly supports patterns that are commonly employed in big data analytics, including classification, collaborative filtering, and anomaly detection, among others.
Beyond the textbook, supplemental readings will provide additional background for each application area. During class, students will take turns helping to lead the discussion. A final project will be required.
Enrollment in this course is limited and requires permission of the instructor. Please note that this is not a basic course on data mining, machine learning, or distributed computing; it assumes you already know something about these topics and/or you can pick up the necessary details on your own. Contact the instructor, Prof. Daniel Lopresti, for details. This course will be taught in Building C
CSE 398/498 COMPUTER VISION, TR 9:20-10:35, Professor Aparna Bharati
CSE 401/ECE 401 ADVANCED COMPUTER ARCHITECTURE, TR 10:45-12:00, Professor Xiaochen Guo
Design, analysis and performance of computer architectures; high-speed memory systems; cache design and analysis; modeling cache performance; principle of pipeline processing, performance of pipelined computers; scheduling and control of a pipeline; classification of parallel architectures; systolic and data flow architectures; multiprocessor performance; multiprocessor interconnections and cache coherence.
CSE 406 RESEARCH METHODS, TR 9:50-11:05, Professor Jeff Heflin
Technical writing, reading the literature critically, analyzing and presenting data, conducting research, making effective presentations, and understanding social and ethical responsibilities. Topics drawn from probability and statistics, use of scripting languages, and conducting large-scale experiments. Must have first-year status in the CS PHD program.
CSE 411 ADVANCED PROGRAMING TECHNIQUES, TR 12:40-1:55, Professor Ahmed Hassan
Deeper study of programming and software engineering techniques. The majority of assignments involve programming in contemporary programming languages. Topics include memory management, GUI design, testing, refactoring, and writing secure code.
CSB COURSES – FALL 2020
CSB 304 TECHNOLOGY & SOFTWARE VENTURES, TR 12:10-1:25, Professor Joshua Ehrig
Designed from the perspective of a functional leader, this course provides students with a holistic perspective of developing a successful software venture in an interdisciplinary and experiential environment. Students will develop a software-oriented idea concurrent with module delivery that will contain best practices, case studies, and subject-matter experts. Examination will include business model fundamentals, customer discovery, translating requirements to a minimum viable product, agile development, user acquisition, and traction. Prior programming experience preferred, but, not required. Open to any major.
CSB 313 DESIGN OF INTEGRATED BUSINESS APPLICATIONS II, TR 3:00-4:15, Professors Sharon Kalafut, George Witmer, and Edwin Yeakel
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.
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.