Robert Wagner

Associate Professor
Department of Computer Science
D336 Levine Science Research Center
Box 90129
Duke University
Durham NC 27708-0129
(919) 660-6536, FAX: (919) 660-6519

Biography

I received the B.S. degree from M.I.T. in 1962 and the Ph.D. degree from the Carnegie-Mellon University in 1969. Before coming to Duke as an Associate Professor in 1978, I was an Assistant Professor of Computer Science at Cornell, and an Associate Professor of Computer Science at Vanderbilt University.

Teaching: Spring 2006

CPS 110: Introduction to Operating Systems

Teaching: Fall 2005

CPS 149s: Problem Solving (C programming)

Teaching: Spring 2005

CPS 110: Introduction to Operating Systems

Teaching: Fall 2004

CPS 110: Introduction to Operating Systems

Teaching: Spring 2004

CPS 110: Introduction to Operating Systems

Teaching: Spring 2003

CPS 110: Introduction to Operating Systems

Teaching: Fall 2002

CPS 208: Programming Methodology

Teaching: Fall 1999

CPS 206: Programming Languages

Teaching: Spring 2002

CPS 106: Programming Languages

Teaching: Fall 2001

CPS 218: Compiler Construction

Parsing, Semantic Analysis, One-Pass Code Generation. Some optimization for scalars, basic blocks and loops. Course organized around construction of a compiler for a small C-like language, targetted to SPIM (Assembly language for the MIPS 4000).

Teaching: Fall 2000

CPS 104: Computer Systems Organization

This course is an introductory course in Computer Systems Organization. Our goal is to acquaint students with basic computer functions. The course covers: Basic concepts, Instruction set architecture, Assembly level programming, The Central Processing Unit, Introduction to logic design, finite state machines and computer arithmetic, the memory heirarchy, I/O devices and networks. If there is time we will study parallel machine organization.

Interests

I am currently interested in Computer Architecture, and am studying methods of implementing RISC processors to avoid or conceal long operation latencies. My most current project seeks to do this by pre-scheduling multiple loop iterations to run in parallel, with instructions issued by one iteration overlapping latency in another. Slides for short talk

Some of my specific interests and projects include:

Robert Wagner raw@cs.duke.edu.