Paul Lu, PhD

Professor, Faculty of Science - Computing Science

Contact

Professor, Faculty of Science - Computing Science
Email
paul.lu@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), and reactive interfacing with the world are learned by solving a series of problems using the Arduino platform and C/C++. The use of a resource-limited processor with no operating system opens up the inner workings of computing. Development is done using the Linux operating system with the exposed compiler tool chain. Prerequisites: No specific programming experience or discrete-math background is assumed. 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.

Fall Term 2020
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. Prerequisites: CMPUT 201, CMPUT 379, or consent of the instructor. May not be offered every year.

Winter Term 2021
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.

Fall Term 2020
CMPUT 681 - Topics in Parallel and Distributed Systems

Winter Term 2021
MINT 706A - 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.

Winter Term 2021
MINT 706B - 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.

Winter Term 2021

Browse more courses taught by Paul Lu