This page is for students looking for more information on my courses. I have taught a wide variety of courses, including Software Engineering, Human-Computer Interaction, Automata Theory, Compiler Theory, Data Structures, Assembly, or a variety of others. My current class is listed below:
CS 772: Software Architecture
Survey of advanced techniques for specifying and designing large software systems. System verification. Reliability and project management.
CS 370, CS 672, and CS 660, or consent of instructor.
The purpose of this course is to give students an introduction to modern software engineering. Notably, in modern software engineering, we often want to gain an accurate model or representation of human behavior under some conditions. For example, we might want to know how competing procedures impact a company's bottom line or the design of a programming language impacts professionals or students. Students will focus on learning empirical and statistical procedures for reliably analyzing developers.Syllabus
- An Introduction to Empirical Analysis
- An Introduction to Randomized Controlled Trials
- Survey Design
- An Introduction to Understanding Experiments
- An Introduction to Statistics in Experiments
- An Introduction to R for Statistics