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

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: SolidState 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 20102011

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: SolidState 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 20102011

Ma1c: Calculus of One and Several Variables and Linear Algebra
Multivariable 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 handson projects, such as a digital lock, and a digital alarm clock.

Ec11: Introduction to Economics
Basic micro and macroeconomics.

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 20112012

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 20112012

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 20112012

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: Errorcorrecting Codes
The course covers some important errorcorrecting 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 networkrelated 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 supportvector machines.

L132c: Intermediate German
Textbook: Weiter Geht's! by Live Oak Multimedia, Inc.

