Shiyu Zhao

Below is a list of classes I have taken at Caltech.

  • Fall 2010-2011
    Ma1a: Calculus of One and Several Variables and Linear Algebra Single variable calculus. Textbook: Calculus by Tom Apostol.
    CS1: Introduction to Computer Programming A basic course on computer programming using Python. Very well taught by the instructor Michael Vanier.
    APh/EE9a: Solid-State Electronics for Integrated Circuits Fun freshman lab course in which we had chances to build photodiodes, transistors, etc., on silicon chips.
    Ch1a: General Chemistry Professor Nate Lewis taught the course with his distinct style. Textbook: Principles of Modern Chemistry by D. W. Oxtoby, H. P. Gillis, and A. Campion.
    Ch3x: Experimental Methods in Solar Energy Conversion A fun freshman chemistry lab in which we experimented with technology for solar energy conversion and learned key chemistry lab concepts at the same time.
    Hum/H/HPS10: Introduction to the History of Science The course taught by Marita Huebner provided a very interesting perspective on the history of Science. Two somewhat contrasting textbooks are The Science of Liberty by Timothy Ferris, and A People's History of Science by Clifford D. Conner.
    E2: Frontiers in Engineering and Applied Science A pizza course (seminar course) of the EAS department.

  • Winter 2010-2011
    Ma1b: Calculus of One and Several Variables and Linear Algebra Linear Algebra. Textbook: Calculus by Tom Apostol.
    CS2: Introduction to Programming Methods A course that provides a little bit introduction to many areas of computer science, such as compilers, algorithms, machine learning.
    CS21: Decidability and Tractability Wonderful course taught by Christopher Umans! Textbook: Introduction to the Theory of Computation by Michael Sipser.
    CS11 C++ Track Practical course in C++ programming.
    APh/EE9b: Solid-State Electronics for Integrated Circuits A continuation of APh9a. We made more electrical devices on chips and also experimented with microfluidic devices.
    Ch1b: General Chemistry A continuation of Ch1a, covering introduction to thermal chemistry and organic chemistry.
    Hum/Pl8: Right and Wrong An introduction to Ethics.
    EE1: Introduction to Electrical Engineering Seminar A pizza course of the EE department.

  • Spring 2010-2011
    Ma1c: Calculus of One and Several Variables and Linear Algebra Multi-variable calculus. Textbook: Calculus by Tom Apostol.
    CS24: Introduction to Computing Systems Introduction to the Linux system, covering basic concepts on Assembly programming, memory management, caching, context switch, etc., with a lot of challenging programming. Textbook: Computer Systems - A Programmer's Perspective by R. E. Bryant and D. R. O'Hallaron.
    EE5: Introduction to Embedded Systems Introduction to the basics of embedded systems programming with a lot of hands-on projects, such as a digital lock, and a digital alarm clock.
    Ec11: Introduction to Economics Basic micro and macro-economics.
    PS/Ec172: Game Theory Textbook: An Introduction to Game Theory by Martin J. Osborne.
    Bi1: The Biology and Biophysics of Viruses Introduction to basic concepts in biology with a focus on the HIV virus and the human immunity system. Textbook: Biological Science by Scott Freeman.
    Ge1: Earth and Environment Basic course on geology. The field trip to Grand Canyon and the Peach Springs Tuff was really fun and taught us a lot.

  • Fall 2011-2012
    Ma2a: Differential Equations, Probability, and Statistics The first term is on differential equations. Textbook: An Introduction to Ordinary Differential Equations by J. C. Robinson.
    Ma/CS6a: Introduction to Discrete Mathematics Textbook: Discrete Mathematics by Norman Biggs.
    CS/EE/Ma129a: Information and Complexity A course combining the basics of information theory and complexity theory. Professor Erik Winfree taught it in a discussion style that I really like.
    CNS/Bi/Ph/CS187: Neural Computation The course covers a lot of machine learning algorithm that uses neural net.
    Ph2a: Waves, Quantum Mechanics, and Statistical Physics Textbook: Vibrations and Waves by A. P. French, and Introduction to Quantum Mechanics by A. C. Phillips.
    L132a: Intermediate German Textbook: Weiter Geht's! by Live Oak Multimedia, Inc.

  • Winter 2011-2012
    Ma2b: Differential Equations, Probability, and Statistics The second term covers basic probability and statistics. Textbook: Probability by J. Pitman, and Introduction to Mathematical Statistics and Its Applications by R. J. Larsen and M. L. Marx.
    CS4: Fundamentals of Computer Programming Some Scheme, Ocaml, and functional programming. Textbook: Structure and Interpretation of Computer Programs by H. Abelson and G. J. Sussman.
    CS11 Java Track Basic practical Java programming.
    CS/EE144: Ideas Behind the Web Very interesting course taught by my advisor Professor Adam Wierman. The course introduces the "big" concepts of modern Internet, such as structure of the web, search engines, sponsored ads, MapReduce, etc.
    Ph2b: Waves, Quantum Mechanics, and Statistical Physics Textbook: Thermal Physics by C. Kittel and H. Kroemer.
    L132b: Intermediate German Textbook: Weiter Geht's! by Live Oak Multimedia, Inc.

  • Spring 2011-2012
    CS38: Introduction to Algorithms A basic introduction to common algorithms and algorithm design techniques. Textbook: Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein.
    EE/Ma/CS127: Error-correcting Codes The course covers some important error-correcting codes, such as the Reed Solomon Code, Turbo Code, and LDPC Code. Textbook: Error Correction Coding: Mathematical Methods and Algorithms by T. K. Moon.
    CS/EE145: Projects in Networking A project course in which students complete a network-related project with their group. My project was using probabilistic graphical models to model the network structure of the Congress and use it to identify important congressmen to lobby, given a particular bill.
    CS/CNS/EE156: Learning Systems Very basic machine learning course, covering some basic theoretical concepts such as the VC dimension, and some basic machine learning models and algorithms, such as linear models, neural networks, and support-vector machines.
    L132c: Intermediate German Textbook: Weiter Geht's! by Live Oak Multimedia, Inc.