Portland State University CS and ECE lecture notes by
Dr. Herbert G. Mayer

  Curriculum Vitae
MS EECS at UCSD California, 1983.
Ph.D. CS (Informatik) at Technical University Berlin, 1995.
Special interest: Compiler Construction, Programming Languages, SW Pipelining.

Professional experience in the USA: In 1987 I started in Oregon as manager for Intel's Programming Development Environment for the iWarp Systolic Array supercomputer. The next stage at Intel was to manage the SSD (Supercomputer Systems Division) Compiler Department for the Hypercube and Paragon compilers. Continued at Intel with debugging the Intel Itanium family of 64-bit processors. A follow-up, major project was to lead 13 tuning and porting labs worldwide, known as "Application Solution Centers" (ASC). Starting in 2004 I took over Compatibility Validation of Intel's chips of x86 family, with execution labs in Hillsboro (OR), Folsom (CA), Dupont (WA), and Guadalajara (Mex). The most fascinating part of my engineering work at Intel was leading the Client Performance team, a staff of high-technology experts that quantify and identify for each new Intel silicon product, where and why there would be reasons to execute more slowly than targeted. During this time I also worked with enthusiasm as an adjunct prof. at PSU's CS and ECE departments, to share with my students interesting sides of Programming, Computer Architecture, Compiler Design, and special topics, such as alias analysis, and code generation for MP computers. In 2014 I started as fulltime ECE prof. with teaching assignments locally at PSU in Portland, and a bit more remotely for PSU at CCUT in Changchun, China. And as of 2017 I continue teaching as an adjunct prof. on behalf of PSU at CCUT in China and locally at PSU in Portland.

  Resume, Publications, Reviews:
Professional Activities
ACM Computing Reviews

  For current class, click blue button:

ECE 101 Exploring Electrical Engineering
ECE 102 Engineering Computing
ECE 103 Engineering Programming
CS 106 Computing Fundamentals II
CS 161 Introduction to Programming and Problem Solving
CS 162 Introduction to Computer Science
CS 163 Data Structures, Using C++
ECE 171 Digital Circuits
ECE 172 Digital Systems
CS 200 Computer Org. & Asm Lang. Programming
CS 201 Computer Systems Programming
ECE 221 Electric Circuit Analysis I
ECE 222 Electric Circuit Analysis II
CS 300 Software Engineering
CS 305 Social, Legal, and Ethical Implications of Computing
CS 320 Principles of Programming Languages
CS 321 Compiler Design
CS 322 Compiler Design
CS 333 Operating Systems & Concurr. Prog.
ECE 371 Microprocessors
CS 410/510 Mastery in Programming
CS 410 Special Topics in Optimization
CS 438/538 Computer Architecture
ECE 485/585 Mircroprocessor System Design
ECE 486/586 Computer Architecture