Course Description
The study of concepts, techniques, and metrics in software performance engineering before, during, and after software development. This covers performance practices throughout the software development life cycle, performance and scalability testing, and principles of performance evaluation including instrumentation, profiling, measurement, and benchmarking.
Credit Hours: 36
Location: Online (MS Teams)
Period: Jan 11, 2021 to April 30, 2021
Time: Wednesday: 12:30 to 14:00, Friday: 12:30 to 14:00
Recommended Textbooks
- Foundations of Software and System Performance Engineering: Process, Performance Modeling, Requirements, Testing, Scalability, and Practice.
- The Art of Computer Systems Performance Analysis.
- Performance by Design: Computer Capacity Planning by Example.
Tentative Outline
- Theory of performance engineering
- Algorithms and methods
- Queuing Theory
- Resource Scheduling
- Data Mining
- Tools and Case Studies
- Instrumentation and Measurement
- Integration into the Software Life cycle
- Performance testing
- Concurrency
- Case study
Office hours
- Offline questions: by email
- Online session: by appointment