Mark Smotherman -- Curriculum Vitae
School of Computing
309 McAdams Hall
Clemson University
Clemson, SC, 29634-0974
mark@clemson.edu
EDUCATION
- Ph.D., Computer Science, University of North Carolina at Chapel Hill,
August 1984.
- Dissertation: Parametric Error Analysis and Coverage
Approximations in Reliability Modeling (under the direction
of Dr. Kishor Trivedi, Duke University)
- B.S., summa cum laude, Physics,
Middle Tennessee State University, May 1977.
ACADEMIC EXPERIENCE
- Associate Director of the School of Computing, Clemson University,
August 2012 to June 2022.
- M.S. Program Coordinator, School of Computing, Clemson University,
August 2015 to May 2022. (enrollment range of 77 to 143 M.S. students)
- Acting Undergraduate Program Coordinator, School of Computing,
Clemson University,
January to July 2015. (580 undergraduate majors)
- Director of Graduate Affairs, Computer Science and later School of
Computing, Clemson University, August 1991 to December 1992,
and August 2004 to July 2012.
- Associate Professor, Computer Science, Clemson University,
August 1990 to present.
- Assistant Professor, Computer Science, Clemson University,
August 1984 to August 1990.
INDUSTRIAL EXPERIENCE
- Programmer, Systems Network Architecture Group,
IBM Corp., Research Triangle Park, NC, Summer 1982.
- Programmer, Vanderbilt University Medical Center,
Nashville, TN, Summer 1980.
- Programmer, IBM Cambridge Scientific Center, Cambridge, MA,
Summer 1979.
- Analyst, Systems Programming, Bank of America Data Processing
Systems Center, San Francisco, CA, Summer 1978.
CONSULTING AND REVIEWING
- Consultant, prior art in computer architecture, instruction sets,
microarchitecture, microprocessors, and operating system software.
- Expert witness (testifying) in microprocessor litigation,
US District Court (E.D. Texas, Judge Ward) and ITC (Judge Pender).
- Textbook reviewer, including detailed technical reviews of
various editions of Hennessy and Patterson CA:AQA and Patterson
and Hennessy COD:HSI for Morgan-Kaufmann.
PROFESSIONAL MEMBERSHIPS, HONORS, AND SERVICE
- ACM (Student Member 1977, Member 1984-2023)
- IEEE (Student Member 1980, Member 1984, Senior Member 1996)
- Space Act Award and Certificate from NASA Langley Research Center
for HARP reliability prediction software and technical report (1997)
- IEEE Asia-Pacific Computer Systems Architecture Conference
(ACSAC) 11/12/13, Program Committee Member (2006-2008)
- International Conference on Contemporary Computing (IC3),
Program Committee Member (2008)
- Journal of Instruction-Level Parallelism, member of the founding
editorial board (1997 to 2002)
- Journal of Parallel Processing, guest co-editor, special issue
on Micro-30 (1999)
- ACM/IEEE International Symposium on Microarchitecture (MICRO)
31/32, Steering Committee Member (1998-1999)
- ACM/IEEE MICRO-30, General Chair (1997)
- ACM/IEEE MICRO-29, Program Committee Member (1996)
UNIVERSITY SERVICE
- Graduate Curriculum Committee (2016-2021)
- Academic Technology Council (2014-2018)
- CCIT Computational Advisory Team (2007-2010, chair 2008-2010)
- Undergraduate Summer Reading Committee (2007-2009)
- Undergraduate Academic Grievance Committee (2005-2014, chair 2008-2012)
- Faculty Senator (2004-2008)
- Elected as Alternate in 2004 and replaced a Senator who could
not serve; elected as Senator in 2005 for three-year term
- Member, Executive/Advisory Committee (2005-2008)
- Chair, Finance Committee (2007-2008)
- Chair, Scholastic Policies Committee (2006-2007)
- Member, Scholastic Policies Committee (2005-2006)
- Member, Policy Committee (2004-2005)
- Student Conduct Code Review Committee (2004-2007)
GRANTS
- Co-principal investigator in equipment grant for
SUN HPC 3000 (M. Franklin, principal investigator, other co-PIs:
D. Dawson, L. Thompson, and C. Rahn), NSF CISE, 1998.
- Co-principal investigator with M. Franklin,
"Exploring Multiple Control Flows for ILP Processors,"
NSF CCR, August 1997, two years.
- Co-principal investigator in "Reconfigurable Computing Systems for
Regional Validation Center Applications," (W. Ligon, principal
investigator), NASA GSFC, August 1997, three years.
- Co-principal investigator in "An Application Framework for
Reconfigurable Computing Systems," (W. Ligon, principal
investigator), NASA GSFC, August 1997, three years.
- Participant in "AViiON Systems Performance" (R. Geist, principal
investigator), Data General Corporation, August 1992, three years.
- Adviser for L. Winston, NSF CISE 1991 Minority Graduate Fellowship.
- Co-principal investigator with R. Geist,
"Sufficiency and Necessity in Reliability Modeling,"
NASA LaRC, April 1987, thirty-nine months.
- Co-adviser with R. Geist for R. Talley, "Use of Two-Parameter
Failure Distributions in Reliability Modeling,"
NASA Graduate Student Researchers Program, August 1987.
- Co-adviser with R. Geist for M. Brown, "HARP: Towards Phase III,"
NASA Graduate Student Researchers Program, August 1986.
- Co-principal investigator with R. Geist, "A Modeling Tool for
Improved Product Design," Personal Computer Division, NCR Corporation,
June 1986, one year.
- Co-principal investigator with R. Geist, "Cost Effectiveness in
Solution Techniques for HARP Models," NASA LaRC through a
subcontract with Duke University, October 1985, one year.
- Co-principal investigator with R. Geist, "Numerical Issues in the
Design of the Hybrid Automated Reliability Predictor," NASA LaRC
through a subcontract with Duke University, October 1984, one year.
PUBLICATIONS
COMPUTER ARCHITECTURE AND PERFORMANCE
- Book Chapters and Sections:
- M. Smotherman, "Superscalar Processors," in V.G. Oklobdzija
(ed.), CRC Computer Engineering Handbook, 2nd ed., CRC Press,
Boca Raton, 2007, pp. 2-1 to 2-10. An earlier version appears
in the 1st ed., 2002, pp. 6.1-6.6.
- M. Smotherman, "Survey of Superscalar Processors," chapter 8
in J.P. Shen and M.H. Lipasti, Modern Processor Design:
Fundamentals of Superscalar Processors, McGraw-Hill, 2005,
pp. 369-451.
- M. Smotherman, "Microprogramming and Microarchitecture," in
A. Kent and J. Williams (eds.), Encyclopedia of Microcomputers,
volume 25, supplement 4, Marcel Dekker, New York, 2000,
pp. 257-272. Also appears in A. Kent (ed.), Encyclopedia of
Library and Information Science, volume 69, Marcel Dekker,
New York, 2001, pp. 262-277.
- M. Smotherman, "A Sequencing-Based Taxonomy of I/O Systems and
Review of Historical Machines," Paper 1 of Chapter 7,
in M. Hill, N. Jouppi, and G. Sohi (eds.), Readings in Computer
Architecture, Morgan Kaufmann, San Francisco, 2000. Originally
appeared in Computer Architecture News, vol. 17, no. 5,
September 1989, pp. 5-15.
(Special issue on input/output architecture)
- Journals:
- M. Smotherman, E. Sussenguth, and R. Robelen, "The IBM ACS
Project," IEEE Annals of the History of Computing, vol. 38,
no. 1, January-March 2016, pp. 60-74.
- M. Smotherman and D. Spicer, "IBM's Single-Processor
Supercomputer Efforts," Communications of the ACM,
vol. 53, no. 12, December 2010, pp. 28-30.
- M. Smotherman, M. Domeika, J. Watkins, and D. Suggs,
"Instruction Cache Performance of a Commercial Workload
on the Motorola 88110 Microprocessor,"
Microprocessors and Microsystems, vol. 20, no. 9,
May 1997, pp. 521-527.
- Technical Conferences (fully refereed):
- R. Geist, J. Hicks, M. Smotherman, and J. Westall,
"Parallel Simulation of Petri Nets on Desktop PC Hardware,"
Proceedings of the 2005 Winter Simulation Conference,
Orlando, FL, December 2005, pp. 374-383.
- M. Smotherman and M. Franklin, "Improving CISC Instruction
Decoding Performance Using a Fill Unit," MICRO-28, 28th Annual
International Symposium on Microarchitecture, Ann Arbor, MI,
November 1995, pp. 219-229.
- M. Franklin and M. Smotherman, "A Fill-Unit Approach to Multiple
Instruction Issue," Proceedings of MICRO-27, 27th Annual
International Symposium on Microarchitecture, San Jose, CA,
December 1994, pp. 162-171.
- M. Smotherman, S. Chawla, J.S. Cox, and B. Malloy,
"Instruction Scheduling for the Motorola 88110,"
Proceedings of MICRO-26, 26th Annual International Symposium on
Microarchitecture, Austin, TX, December 1993, pp. 257-262.
- M. Smotherman, S. Krishnamurthy, P. Aravind, and D. Hunnicutt,
"Efficient DAG Construction and Heuristic Calculation for
Instruction Scheduling," Proceedings of MICRO-24, 24th Annual
International Symposium on Microarchitecture, Albuquerque, NM,
November 1991, pp. 93-102.
- General Conferences:
- M. Smotherman,
"Understanding EPIC Architectures and Implementations,"
40th Annual ACM Southeast Conference, Raleigh, April 2002,
pp. 71-78.
- R. Geist, J. Westall, D. Tregliua, and M. Smotherman,
"Real-time, 3-D Graphics for the Linux PC,"
24th Annual International Conference of the Computer
Measurement Group (CMG98), Anaheim, CA, December 1998,
pp. 863-873.
- S. Shirhatti and M. Smotherman, "A Technique for Obtaining
Kernel Mode Address Traces on a Pentium-Based Linux System,"
35th Annual ACM Southeast Conference, Murfreesboro, TN,
April 1997, pp. 57-59.
- R. Geist, M. Smotherman, and M. Westall, "Performance
Evaluation of NUMA Architectures,"
34th Annual ACM Southeast Conference, Tuskegee, AL, April 1996,
pp. 78-85.
- D. Bushey, A. Capes, A. Sankaran, and M. Smotherman,
"Cache-Friendly FIFO Lists,"
34th Annual ACM Southeast Conference, Tuskegee, AL, April 1996,
pp. 35-42.
- J. McCalpin and M. Smotherman, "Automatic Benchmark Generation
for Cache Optimization of Matrix Operations," Proceedings 33rd
Annual ACM Southeast Conference, Clemson, SC, March 1995,
pp. 195-204.
- T.J. Tumlin and M. Smotherman, "An Evaluation of the Design of
the Gamma 60," 3eme Colloque Histoire De L'Informatique,
Sophia Antipolis, France, October 1993.
- Technical Reports:
- M. Smotherman, "Preliminary Report on the Economics of
Intelligent Terminals," Technical Report G320-2132,
IBM Cambridge Scientific Center, Cambridge, MA, December 1980.
RELIABILITY MODELING
- Book Chapters:
- M. Smotherman, "Transient Solution of Time-Inhomogeneous
Markov Reward Models with Discontinuous Rates,"
in W. Stewart (ed.), Numerical Solution of Markov Chains,
Marcel Dekker, New York, 1990, pp. 385-399.
- Journals:
- M. Smotherman, W.T. Stinson, and M. Chetuperambil,
"A Hybrid Model for Weekday Replacements with Infant Mortality
Failures," Microelectronics and Reliability. vol. 38, no. 4,
1998, pp. 685-688.
- M. Smotherman, "Error Analysis in Analytic Reliability Modeling,"
Microelectronics and Reliability, vol. 30, no. 1, 1990,
pp. 141-149.
- M. Smotherman and R. Geist, "Phased Mission Effectiveness Using a
Nonhomogeneous Markov Reward Model," Reliability Engineering and
System Safety, vol. 27, no. 2, 1990, pp. 241-255.
- M. Smotherman and K. Zemoudeh, "A Non-Homogeneous Markov Model
for Phased-Mission Reliability Analysis," IEEE Transactions on
Reliability, vol. 38, no. 5, December 1989, pp. 585-590.
- R. Geist, M. Smotherman, K. Trivedi, and J. Dugan, "The Use of
Weibull Fault Processes in Modeling Fault Tolerant Systems,"
AIAA Journal of Guidance, Control, and Dynamics,
vol. 11, no. 1, January-February 1988, pp. 91-93.
(Engineering Notes section)
- R. Geist, M. Smotherman, K. Trivedi, and J. Dugan,
"The Reliability of Life-Critical Computer Systems,"
Acta Informatica, vol. 23, no. 6., November 1986, pp. 621-642.
- J. Dugan, K. Trivedi, M. Smotherman, and R. Geist,
"The Hybrid Automated Reliability Predictor,"
AIAA Journal of Guidance, Control, and Dynamics,
vol. 9, no. 3, May-June 1986, pp. 319-331.
- M. Smotherman, R. Geist, and K. Trivedi, "Provably Conservative
Approximations to Complex Reliability Models," IEEE Transactions
on Computers, vol. C-35, no. 4, April 1986, pp. 333-338.
(Special issue on fault-tolerant computing)
- J. McGough, M. Smotherman, and K. Trivedi,
"The Conservativeness of Reliability Estimates Based on
Instantaneous Coverage," IEEE Transactions on Computers,
vol. C-34, no. 7, July 1985, pp. 602-609.
(Reviewed in ACM Computing Reviews 8606-0508)
- K. Trivedi, J. Dugan, R. Geist, and M. Smotherman,
"Hybrid Reliability Modeling of Fault-Tolerant Computer Systems,"
Computers and Electrical Engineering,
vol. 11, nos. 2+3, 1984, pp. 87-108.
(Special issue on reliability and verification of computing
systems, reviewed in ACM Computing Reviews 8605-0415)
- Technical Conferences (fully refereed):
- R. Geist, M. Smotherman, and R. Talley, "Modeling Recovery Time
Distributions in Ultrareliable Fault Tolerant Systems,"
Proceedings 20th International Symposium on Fault-Tolerant
Computing, Newcastle upon Tyne, UK, June 1990, pp. 499-504.
- R. Geist, M. Smotherman, and M. Brown, "Ultrahigh Reliability
Estimates for Systems Exhibiting Globally Time-Dependent Failure
Processes," Proceedings 19th International Symposium on
Fault-Tolerant Computing, Chicago, IL, June 1989, pp. 152-158.
- R. Geist and M. Smotherman, "Ultrahigh Reliability Estimates
Through Simulation," Proceedings Annual Reliability and
Maintainability Symposium, Atlanta, GA, January 1989, pp. 350-355.
- K. Trivedi, J. Dugan, R. Geist, and M. Smotherman,
"Issues in Reliability Modeling of Fault-Tolerant Computers,"
Proceedings Second GI/NTG/GMR Conference on Fault-Tolerant
Computing Systems, Bonn, West Germany, September 1984, pp. 228-239.
- K. Trivedi, J. Dugan, R. Geist, and M. Smotherman,
"Modeling Imperfect Coverage in Fault-Tolerant Systems,"
Proceedings 14th International Symposium on Fault-Tolerant
Computing, Orlando, FL, June 1984, pp. 77-82.
- R. Geist, K. Trivedi, J. Dugan, and M. Smotherman,
"The Design of the Hybrid Automated Reliability Predictor,"
Proceedings IEEE/AIAA Fifth Digital Avionics Systems Conference,
Seattle, WA, November 1983, pp. 16.5.1-16.5.8.
- Technical Reports:
- S. Bavuso, E. Rothmann, J. Bechta Dugan, K. Trivedi, N. Mittal,
M. Boyd, R. Geist, and M. Smotherman,
"HiRel: Hybrid Automated Reliability Predictor (HARP) Integrated
Reliability Tool System (Version 7.0),"
NASA Technical Paper 3452, Volume 1, NASA Langley Research Center,
Hampton, VA, November 1994.
- M. Smotherman,
"Phased Mission Analysis Using Nonhomogeneous Markov Models,"
1991 System Evaluation and Assessment Technology Workshop,
Naval Surface Warfare Center, Silver Spring, MD, August 1991.
- K. Trivedi, J. Dugan, R. Geist, and M. Smotherman,
"HARP: Theory, Implementation and Applications,"
Technical Report CS-1987-2, Dept. of Computer Science, Duke
University, Durham, NC, January 1987.
COMPUTER SCIENCE EDUCATION
- General Conferences (refereed):
- M. Smotherman, "Examining Compiled Code,"
Proceedings 20th Annual ACM SIGCSE Technical Symposium,
Louisville, KY, February 1989, pp. 165-169.
- R. Little and M. Smotherman, "Assembly Language Courses in
Transition," Proceedings 19th Annual ACM SIGCSE Technical
Symposium, Atlanta, GA, February 1988, pp. 95-99.
- M. Smotherman, "On the Use of Naming and Binding in Early Courses,"
Proceedings 18th Annual ACM SIGCSE Technical Symposium,
St. Louis, MO, February 1987, pp. 79-83.
PROGRAMMING LANGUAGES AND OPERATING SYSTEMS
- Technical Conferences (fully refereed):
- M. Jazayeri, C. Ghezzi, D. Hoffman, D. Middleton,
and M. Smotherman, "CSP/80: A Language for Communicating
Sequential Processes," Proceedings IEEE COMPCON,
Washington, DC, September 1980, pp. 736-740.
- M. Jazayeri, C. Ghezzi, D. Hoffman, D. Middleton,
and M. Smotherman, "Design and Implementation of a Language
for Communicating Sequential Processes,"
Proceedings International Conference on Parallel Processing,
Harbor Springs, MI, August 1980, pp. 173-180.
- General Conferences:
- J. Westall and M. Smotherman, "Dynamic Control of Job Arrival
Distributions," Proceedings 24th Annual ACM Southeast Regional
Conference, Tampa, FL, April 1986, pp. 156-162.
- Technical Reports:
- W. Madison and M. Smotherman, "Guarded Remote Procedure Calls As
Synchronization Constructs for C," Technical Report 91-102,
Dept. of Computer Science, Clemson University, February 1991.
STUDENT SUPERVISION
- Mark Harris, M.S., December 1986,
"Extending Microcode Compaction for Real Architectures"
(scholarly paper), appears in
Proceedings 20th Annual Workshop on Microprogramming,
Colorado Springs, December 1987, pp. 40-53.
- Guillermo Roa, M.S., December 1987,
"An Analytic Model for the Performance Prediction of Modern
Microcomputers" (scholarly paper), part of which appears in
G. Roa and C. Reynolds, "A Tool for the Design of Personal Computing
Systems," Proceedings 25th Annual ACM Southeast Regional Conference,
April 1987, pp. 535-539.
- Vasudevan Subramanian, M.S., December 1987,
"Performance Prediction of Unix Systems Using A Linear Regression
Model" (scholarly paper).
- Robert Schwartz, M.S., August 1989,
"The Design and Development of a Dynamic Program Behavior
Measurement Tool for the Intel 8086/88" (scholarly paper),
appears in Computer Architecture News,
vol. 17, no. 4, June 1989, pp. 82-94.
- Jim O'Connor, M.S., December 1989,
"Error Analysis in Highly Reliable Systems"
(scholarly paper), appears in
Proceedings 27th Annual ACM Southeast Regional Conference,
Atlanta, April 1989, pp. 428-431.
- Steve O'Neal, M.S., December 1989,
"A SPARC Implementation Simulator for Code Optimization Evaluation"
(scholarly paper).
- Sanjay Krishnamurthy, M.S., May 1990,
"Static Scheduling of Multi-Cycle Operations for a RISC Processor"
(scholarly paper), part of which was reported at a poster session
at Supercomputing '90 and part of which appears as
"A Brief Survey of Papers on Scheduling for Pipelined Processors,"
SIGPLAN Notices, vol. 25, no. 7, July 1990, pp. 97-106
(see also MICRO-24 joint paper).
- David Hunnicutt, M.S., May 1991,
"DDG Construction Algorithms" (scholarly paper)
(see also MICRO-24 joint paper).
- Stig Thormodsrud, M.S., August 1991,
"Post-Link Instruction Scheduling" (scholarly paper).
- Lokender Bommisetty, M.S., December 1991,
"A Study of Non-DAG Based Instruction Scheduling Techniques"
(scholarly paper).
- P.S. Aravind, M.S., May 1992,
"Selectable Heuristics for Instruction Scheduling" (scholarly paper)
(see also MICRO-24 joint paper).
- Stan Cox, M.S., December 1992,
"Code Scheduling for the MC88110 Superscalar RISC Processor Using
Reservation Tables" (scholarly paper), part of which appears in
MICRO-26 joint paper.
- Keerti Rane, M.S., August 1993,
"Effects of Software Prefetching and Tiling on the Performance of
Matrix Multiplication for the 88110 Superscalar RISC Processor"
(scholarly paper).
- Shuchi Chawla, M.S., December 1993,
"Instruction Scheduling for the Motorola 88110 Superscalar Processor"
(scholarly paper), part of which appears in MICRO-26 joint paper.
- Jasbir Manotra, M.S., December 1994,
"Algorithm Execution Animation for Matrix Multiply"
(scholarly paper).
- Mazin Ramadan, M.S., December 1995,
"GURU: A Retargetable CFG-Based Program Reorganizer"
(scholarly paper), part of which appears in
Proceedings 34th Annual ACM Southeast Regional Conference,
Tuskegee AL, April 1996, pp. 164-169
(with joint author Devidas Gupta).
- Kishore Sirivelu, M.S., May 1996,
"A Survey of Basic Block Reordering Algorithms"
(scholarly paper), appears in
Proceedings 34th Annual ACM Southeast Regional Conference,
Tuskegee AL, April 1996, pp. 182-187.
- Jane Watkins, M.S., May 1996,
"Analysis of Level-One Instruction Cache Designs For A Commercial
Workload" (scholarly paper), part of which appears as
"Instruction Cache Miss Ratio Analysis of a Commercial Workload on
the Motorola 88110,"
Proceedings 34th Annual ACM Southeast Regional Conference,
Tuskegee AL, April 1996, pp. 260-264.
- Bharath Chandramohan, M.S., December 1996,
"Hardware Prefetching Techniques for List Structures"
(scholarly paper).
- Sachin Shirhatti, M.S., May 1997,
"A Technique for Observing Kernel Mode Activity on a Pentium-Based
Linux System" (scholarly paper), part of which appears in
Proceedings 35th Annual ACM Southeast Conference, Murfreesboro, TN,
April 1997, pp. 57-59.
- Geetha Ravishankar, M.S., August 1997,
"Study of Call Behavior of IBS Traces"
(scholarly paper).
- Bun Kea Tan, M.S., May 1998,
"Optimizing the Linux Kernel"
(scholarly paper).
- Xinlei Wu, M.S., May 1999,
"Study of Call Behavior of Desktop Applications on Windows NT"
(scholarly paper).
- Natasha Pothen, M.S., May 1999,
"Performance Considerations for Multithreaded Programs on
Small Scale Shared Memory Multiprocessors"
(scholarly paper).
- Chris Freeze, M.S., August 2000,
"Performance Measuring of Modern Multiuser Operating Systems"
(scholarly paper).
- Kartik Agarwal, M.S., May 2001, presentation of
T. Mitchem, R. Lu, and R. O'Brien,
"Using Kernel Hypervisors to Secure Applications"
(research experience).
- Malathi Molugu, M.S., May 2003, presentation of
R. Cooksey, S. Jourdan, and D. Grunwald,
"A Stateless, Content-Directed Data Prefetching Mechanism"
(research experience).
- Sharath Rao, M.S., December 2003, presentation of D. Marr, et al.,
"Hyper-Threading Technology: Architecture and Microarchitecture"
(research experience).
- Prachi Bagayatkar, M.S., December 2003, presentation of
T.-C. Chiueh and P. Pradhan,
"Cache Memory Design for Network Processors"
(research experience).
- Mark Bidewell, M.S., May 2005,
"Software-Based Dynamic Thermal Management for Linux Systems"
(thesis).
INSTRUCTIONAL ACTIVITIES AT CLEMSON
- Undergraduate Courses Taught
- CPSC 1010 Computer Science I
(Fall 2021)
- CPSC 102 (now 1020) Computer Science II
(Spring 1995, 2019)
- CPSC 157 Introduction to C Programming
(Summer 1997)
- CPSC 215 Tools and Techniques for Software Development
(Spring 2001, Summer 2003, 2005, 2006)
- CPSC 230 Assembly Language Programming
(Spring 1987, 1988, Summer 1988, Fall 1988)
- CPSC 231 Introduction to Computer Organization
(Spring 1997, 1999-2001, 2005-2007, 2010-2012,
Summer 1992-1997, 1999-2001,
Fall 1996, 1999-2001, 2004-2011)
- CPSC/ECE 322 (now 3220) Introduction to Operating Systems
(Spring 2013-2014, 2017, 2020-2021, 2023-2024, Summer 2013-2019,
Fall 2013, 2016, 2017, 2019, 2023-2024)
- CPSC 330 (now CPSC 3300) Computer Systems Organization
(Spring 2003-2018, 2022-2023,
Summer 1991,
Fall 2002-2015, 2018, 2020, 2022-2023)
- Senior/Graduate Courses Taught
- CPSC 422/622 Introduction to Operating Systems
(Spring 1986, 1988, 1990, 1997-2000, 2002,
Summer 1987, 1998-2001, 2004,
Fall 1986-1987, 1989, 1994)
- CPSC 423/623 Operating Systems Implementation
(Spring 1989-1990, 1993,
Fall 1985, 1988, 1990, 1992-1993)
- CPSC 430/630 Computer Performance Evaluation
(Spring 1985-1986)
- CPSC 435/635 Microprogramming
(Fall 1984-1985)
- CPSC 464/664 Introduction to Computer Architecture
(Spring 1991, 1995-1996, 2002-2004,
Fall 1986-1987, 1989-1991, 1995-2003)
- Graduate-Only Courses Taught
- CPSC 830 Systems Modeling
(Spring 1994, 1996, 1998)
- CPSC 864 Computer Architecture
(Spring 1989, 1991,
Fall 1991-1998)
- Special Topics courses in performance analysis, reliability
modeling, and fault-tolerant computing
(Spring 1987,
Summer 1986, 1988-1990)
- Seminars in computer architecture