Summer Courses
Study Abroad Only-Lehigh in Barcelona
Design and implementation of algorithms and data structures using Java. Assumes that students have prior experience using conditional statements, loops, arrays, and object-oriented programming in Java. Algorithmic techniques such as recursion, algorithm analysis, and sorting. Design and implementation of data structures such as lists, queues, stacks, trees, and hash tables.
Design and implementation of modular programs interacting with the operating system through system calls and programming interfaces using the C programming language. Topics covered include data representation and storage, data and bit manipulation, memory management, stages of compilation, file I/O, interprocess communication, network programming, programmatic testing, interactive debugging, and error handling. Good programming practices, including security, and practical methods for implementing medium-scale programs are also emphasized.
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.
Supervised reading and research. Consent of department required.
Interaction between low-level computer architectural properties and high-level program behaviors: instruction set design; digital logic and assembly language; processor organization; the memory hierarchy; multicore and GPU architectures; and processor interrupt/exception models.
Project-based learning through small-group projects related to computer systems and/or applications. Students will progress through the software development lifecycle, including high-level design, functional and non-functional requirements, implementation, testing, and maintenance.
Design of large databases: Integration of databases and applications using SQL and JDBC; transaction processing; performance tuning; data mining and data warehouses.
An interactive exploration that provides students with concepts and frameworks to reason about ethical and social issues related with computing. Topics may include: privacy, corporate responsibility, the changing nature of work, language technologies, professional ethics, autonomous systems, online political communication, fairness and bias, environmental impacts, legal regulation, political economy, and other relevant technologies, concepts, issues.
This course introduces students to the field of robotics, covering foundational mathematics and physics as well as important algorithms and tools. Topics include simulation, kinematics, control, machine learning, and probabilistic inference. The mathematical basis of each area will be covered, followed by practical application to common robotics tasks. This course is designed to be taught remotely using simulated robot platforms and sensors.
This course introduces students to the field of robotics, covering foundational mathematics and physics as well as important algorithms and tools. Topics include simulation, kinematics, control, machine learning, and probabilistic inference. The mathematical basis of each area will be covered, followed by practical application to common robotics tasks. This course is designed to be taught remotely using simulated robot platforms and sensors.
Explores the types and manner in which technology can improve business outcomes. Lectures and assigned readings cover topics such as business context for leveraging technology, various common and disruptive technologies, and estimating return-on-investment. Using employment engagements and/or real-world scenarios, students develop and present proposals based on their acquired knowledge. Emphasis is placed on learning how to discover opportunities, determine technologies to address those opportunities, and correlate the application of technology to business metrics to garner the support of decision-makers.
Bayesian decision theory and the design of parametric and nonparametric classification and regression: linear, quadratic, nearest-neighbors, neural nets. Boosting, bagging.
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.
Bayesian decision theory and the design of parametric and nonparametric classification and regression: linear, quadratic, nearest-neighbors, neural nets. Boosting, bagging. This course, a version of CSE 326 for graduate students requires advanced assignments.
Independent or small-group graduate-level unique projects related to blockchain-systems and/or applications. While pursuing their own project, students serve as consultants to the other teams via a once-weekly class meeting in which each team presents updates on status, progress, and open problems, and one student gives a longer prepared presentation on current research or development results in the blockchain field. Each project team has its own separate second weekly meeting with the instructor for a more in-depth project review and discussion.
Independent or small-group graduate-level unique projects related to blockchain-systems and/or applications. While pursuing their own project, students serve as consultants to the other teams via a once-weekly class meeting in which each team presents updates on status, progress, and open problems, and one student gives a longer prepared presentation on current research or development results in the blockchain field. Each project team has its own separate second weekly meeting with the instructor for a more in-depth project review and discussion.
Thesis.
Thesis.
Thesis.
A rigorous treatment of iterative numerical methods, stochastic optimization, and modern GPU-efficient optimizers (SKA-1, MGOpt), culminating in a course project training a GPT-2 LLM on Wikitext data. Prerequisites: Linear algebra, data structures, and prior exposure to basic machine learning or probability. Restrictions: Upper-level undergraduates or graduate students.