Paul Lu, PhD
Contact
Professor, Faculty of Science - Computing Science
- paullu@ualberta.ca
Overview
About
Education
- B.Sc., Computing Science, University of Alberta, 1991
- M.Sc., Computing Science, University of Alberta, 1993
- Ph.D., Computer Science, University of Toronto, 2000
Positions
- Department Associate Chair (Undergraduate)
Research
Area
Software Systems
Interests
Parallel and distributed systems, operating systems, cloud computing, high-performance wide-area networks, bioinformatics.
Summary
I am interested in all aspects of high-performance computing, but especially parallel and distributed systems, and cloud computing. My research program centers on systems software (OS, VMs, parallel programming) and, most recently, high-performance data transfers and IaaS cloud computing.
Courses
CMPUT 274 - Introduction to Tangible Computing I
This is part 1 of a 2 sequence intensive problem-based introduction to Computing Science. In part 1, the key concepts of procedural programming, basic algorithm design and analysis (lists, queues, trees, sorting, searching) are learned by solving a series of problems using Python. Development is done using the Linux operating system. Prerequisites: Math 30 or 31. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Credit cannot be obtained for CMPUT 274 if one already has credit for any of CMPUT 174, 175, or 201, except with permission of the Department.
CMPUT 481 - Parallel and Distributed Systems
This course provides an undergraduate-level introduction to parallel programming, parallel and distributed systems, and high-performance computing in science and engineering. Both shared-memory parallel computers and distributed-memory multi computers (e.g., clusters) will be studied. Aspects of the practice of, and (some) research issues in, parallelism will be covered. There will be an emphasis on thread programming, data-parallel programming, and performance evaluation. Prerequisite: CMPUT 379, or consent of the instructor.
CMPUT 499 - Topics in Computing Science
This topics course is designed for a one on one individual study course between a student and an instructor. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
CMPUT 681 - Topics in Parallel and Distributed Systems
MINT 706 - Internet Application and Programming
Concepts of Internet Applications. Sockets, client-server programming, proxies and gateways, performance, application programming, basic security, example application protocols: SMTP, HTTP, and how to implement them. Possible source code inspection exercises covering wget/HTTP. Offered jointly by the Department of Electrical and Computer Engineering and the Department of Computing Science.