MARTIN BURTSCHER

Teaching


Spring 2017

CS 4380 - Parallel Programming TR 5:00 PM - 6:20 PM in DERR 240 [TRACS]

CS 5351 - Parallel Processing TR 5:00 PM - 6:20 PM in DERR 240 [TRACS]


Courses Taught

Topics in Computer Systems (2000, 2002)
In this graduate seminar, the students read and discuss influential papers on a computer systems related topic, which changes every semester.

Parallel Processing (2013, 2014, 2015, 2016)
This graduate course introduces parallel processing techniques for multicore CPUs, GPUs, and clusters. It covers OpenMP, Pthreads, MPI, and CUDA and includes writing, running, and analyzing parallel programs in all of these languages on a supercomputer.

Computer Organization and Design (2012)
This graduate course studies the dynamic interaction of computer system building blocks and their management. The projects ask the students to evaluate different system components and analyze their performance.

High-Performance Microprocessor Architecture (2001, 2002, 2003, 2004, 2005, 2006, 2007)
This graduate course covers the advanced architectural features of high-end microprocessors. The projects ask the students to simulate numerous configurations of different CPU components on real applications to analyze the tradeoffs between performance, size, and complexity.

Parallel Programming (2011, 2012, 2013, 2014, 2015, 2016)
This senior course introduces parallel programming techniques for multicore CPUs, GPUs, and clusters. It covers OpenMP, Pthreads, MPI, and CUDA and includes writing and running parallel programs in all of these languages on a supercomputer.

Optimizing Compilers (2003, 2004, 2005, 2006)
This senior course teaches compiler optimizations and covers executable file formats and system calls. Over the course of the semester, the students write an SSA-based optimizing compiler backend.

Programming for Performance (2009; together with Prof. Keshav Pingali)
This senior course covers performance-critical features of modern computer architectures and discusses how programs can exploit them. Topics include cache-aware, multi-core, GPU, and distributed-memory programming.

Computer Architecture (2001, 2002, 2011, 2012, 2013, 2014, 2015)
This junior/senior course teaches modern computer architecture. It includes large projects in which the students design a pipelined CPU that can execute actual MIPS programs.

Data Structures and Algorithms (1999, 2011, 2013)
This sophomore/junior course introduces the students to C++, static and dynamic data structures, and algorithms.

Foundations of Computer Science (2010)
This freshman course introduces C/C++ programming. Problem solving, algorithm development, structured programming, good coding style, and control structures are emphasized.

Engineering Seminar (2003)
This seminar familiarizes freshmen with the university and the college of engineering. It presents an overview of the various engineering programs and courses and discusses ethics.


Teaching Awards

Alpha Chi Favorite Professors for 2016
Texas State University, 2016

Alpha Chi Favorite Professors for 2015
Texas State University, 2015

Alpha Chi Favorite Professors for Spring 2014
Texas State University, 2014

Excellence in Teaching Award
College of Science and Engineering, Texas State University, 2012

Michael Tien '72 Excellence in Teaching Award
College of Engineering, Cornell University, 2003

Third Annual Teaching Effectiveness Award (honorable mention)
College of Engineering and Applied Science, University of Colorado at Boulder, 1998

Official Texas State University Disclaimer