A picture of me, possibly qualifying as recent.

John (Jack) Sampson

Assistant Professor

Dorothy Quiggle Faculty Development Assistant Professorship

Contact information:
Email - [lastname]@cse.psu.edu
Office - W324 Westgate Building
    University Park, PA 16802
Phone - Ext. 57496
CSE Department, School of EECS, College of Engineering, PSU


I mainly teach computer architecture/organization and digital design classes, the former at both undergraduate and graduate levels, and the latter at the undergraduate level. I am also one of the faculty members responsible for organizing the first year seminar in Computer Engineering.

One of my teaching goals is to ensure that students are introduced to power and energy constraints and optimizations as early and as often as possible in their academic experience, in the hope that computational efficiency will become an intuitive consideration for them. Where practical within the constraints of the lesson plan, I like to expose students at both the graduate and undergraduate levels to both historical and emerging alternatives to the status quo as a reminder that the engineering aspect of computer engineering entails sensitivity to both technological and economic contexts. While I do believe there are some timeless lessons to be gleaned from the study of computer architecture and related topics, it is also important to examine the ways in which actual commercial designs diverge from clean, research-derived principles as well as the ways in which they embody them.

In teaching, as well as research, I find value in building working systems, and I am currently in the process of integrating FPGA-targeted material into three of the undergraduate courses in the Penn State computer engineering curriculum.
Term Course Course Level Course Title Role Sections Total Enrollment
Fall 2017 PSU CSE 530
PSU CMPEN 111S
Graduate
Undergraduate
Fundamentals of Computer Architecture
First-year Seminar in Computer Engineering
Instructor
Instructor
1
3
~20
~80
Spring 2017 PSU CMPEN 431 Undergraduate introduction to Computer Architecture Instructor 1 ~80
Fall 2016 PSU CSE 530
PSU CMPEN 111S
Graduate
Undergraduate
Fundamentals of Computer Architecture
First-year Seminar in Computer Engineering
Instructor
Co-Instructor
1
2
~25
~60
Spring 2016 PSU CSE 530 Graduate Fundamentals of Computer Architecture Instructor 1 ~25
Fall 2015 PSU CMPEN 270/271
PSU CMPEN 111S
Undergraduate
Undergraduate
Digital Design: Theory and Practice
First-year Seminar in Computer Engineering
Co-Instructor
Co-Instructor
2
2
~320
~60
Spring 2015 PSU CSE 598C Graduate Seminar on Computer Architectures for Emerging
Technologies and Applications
Instructor 1 8
Fall 2014 PSU CMPEN 270/271 Undergraduate Digital Design: Theory and Practice Co-Instructor 2 ~300
Spring 2014 PSU CMPEN 431 Undergraduate introduction to Computer Architecture Instructor 1 ~60
Fall 2013 PSU CSE 530 Graduate Fundamentals of Computer Architecture Instructor 1 ~25

Course Text
PSU CSE 530 Hennessy and Patterson, Computer Architecture: A Quantitative Approach 5th ed.
PSU CMPEN 431 Patterson and Hennessy, Computer Organization and Design 5th ed.
PSU CMPEN 270 Brown and Vranesic, Fundamentals of Digital Logic with Verilog Design 3rd ed.

Notes: 270 and 271 were taught as a single lecture section (270 had labs in addition to lectures, 271 did not). Starting in Fall of 2016, only 270 (with labs) is offered. The Fall 2014 semester's offering of 270/271 featured a complete reworking of the curriculum for digital logic/design. Along with Professor Narayanan, I worked to restructure the course to reflect a fundamentally modernized syllabus by utilizing a new text and by generating entirely new lecture slides, assignments, and labs. The new version of the class features FPGA-targeted lab material, so that students can viscerally interact with (verilog-specified) designs of non-trivial size and complexity.