CLASSES AT STANFORD
Autumn 2006 (Freshmen)
| Class | Unit | Comment |
|---|---|---|
| IHUM 48 | 5 | The Art of Living. The class exposed the students to different perspectives and approaches to life by renowned thinkers from different eras. Life based on reason, authenticity, love, faith, intellectual conscience, historical identity, etc. are explored and discussed. The amount of reading was decent. |
| MATH 51 | 5 | Linear Algebra and Differential Calculus of Several Variables. The multivariable calculus doesn't include integration. Linear algebra can be pretty annoying if you don't like things that are too abstract. |
| STATS 60 | 5 | Introduction to Statistical Methods: Precalculus. An easy class, but the materials are pretty practical. Now I can read statistical data presented in newspaper, articles, product data sheets, experiment results, etc. with a more critical perpsective. Weekly quizzes with Professor Walther. |
| CS 106X | 5 | Programming Abstractions (Accelerated). This course assumes a programming background. Language used: C++. This course finished the whole CS 106A materials in one week and continued with the "honor" CS 106B part for the rest of the course. Challenging weekly assignments. Prof. Zelenski is an amazing lecturer. |
Winter 2007 (Freshmen)
| Class | Unit | Comment |
|---|---|---|
| IHUM 68A | 5 | Approaching Religion. Materials: History of two major religions, Christianity and Islam. We analyzed religions from psychological and sociological views and discussed news. Relatively little amount of reading compared to other IHUMs. |
| MATH 52 | 5 | Integral Calculus of Several Variables. You will do visualizing and intersecting 3D objects a lot. Prof. Demanet is an excellent instructor. |
| MATH 110 | 3 | Applied Number Theory and Field Theory. Materials: Cryptography, error correcting codes, number theory. This class requires some knowledge of linear algebra. The materials are in general very theoretical and the book is very hard to read. However, the materials can be pretty practical for computer security, authentication, data transmission. Very hard take home exams. 10-15 page WIM paper. |
| CS 103X | 4 | Discrete Structures (Accelerated). A math class covering CS 103A and CS 103B materials in one quarter. This class basically covers the math you need to know as a computer scientist, from basic elements of mathemathics, boolean algebra, number theory, graph, to algorithm complexity. We mostly did proofs, and no actual numbers are involved. Hard problem sets and exams. The class with Prof. Koltun is easier than the same class with Jerry Cain. |
| CHEM 27N | 3 | Lasers: The Light Fantastic. An introsem, preference for freshmen. Materials: how laser works, how to make laser, issues and applications, etc. Unfortunately, we didn't do anything practical in the class besides looking at some devices. The only assignment is a final paper on an application of laser. Field trip to a "photonics" exhibition, which is actually geared more towards industries that need laser devices, not towards college students. |
Spring 2007 (Freshmen)
| Class | Unit | Comment |
|---|---|---|
| IHUM 68B | 5 | Approaching Religion. We learned about Hinduism, modernity, and how religion and modernity challenges each other. We talked about violence, feminism, pluralism, secularization, fundamentalism, etc. Great lecturers. Note that the materials / religions covered may change for different years when this class is offered. |
| PWR 1 (1038) | 4 | "I Get Around": The Rhetoric of Human Migration and Transport. Justin Eichenlaub is an excellent and a very kind instructor. The topic is very broad and a very broad range of topics can pretty much be approved as your research topic. |
| MS&E 181 | 3 | Issues in Technology and Work for a Postindustrial Economy. The class addresses issues such as globalization, bureaucracy, work contract, work time and place, industrialization, information technology, etc. Requirements: participating in a group debate and writing a research paper on a topic. |
| CS 107 | 5 | Programming Paradigms. A fast-paced class. Requires hard work on weekly assignments. The course covered various programming paradigms and languages, from assembly, pure C, C++, Java, and Scheme. Some languages like assembly language and Scheme can be pretty tough to learn or to write from scratch, esp. in an exam. |
| DANCE 46 | 1 | Social Dances of North America I. A fun class. The class met at 8:45 am twice a week when I took the class. A $50 fee to cover the budget deficit of the dance studio. |
Autumn 2007 (Sophomore)
| Class | Unit | Comment |
|---|---|---|
| PWR 2 (1413) | 4 | Global Exchange: Reading and Writing in a World Context. The class explores a lot of interesting international issues, from cultural differences, gender issues, to terrorism and racism. Dr. Watters, the instructor, a writer and a psychologist, is very enthusiastic when teaching and discussing, and is always ready to help the students with any problems. I learned a lot about planning and writing a good paper from her. I definitely recommend this PWR class and Dr. Watters as an instructor. |
| CS 108 | 4 | Object-Oriented Systems Design. This is the Bunny World class! All programming projects will be done with Java, and all of them are pretty GUI-focused. |
| ENGR 40 | 5 | Introductory Electronics. We created a lot of cool circuits with various electronic components and various functionalities. Prof. Howe is very entertaining as a lecturer. |
| STATS 116 | 5 | Theory of Probability. This is not really a statistics class, but is a probability class. The materials, midterm, and final are all hard, but the materials are useful in more advanced classes, like financial classes, economic modeling, signal processing, decision making theory, algorithms, etc. |
Winter 2008 (Sophomore)
| Class | Unit | Comment |
|---|---|---|
| CS 140 | 4 | Operating Systems and Systems Programming. We built a simple operating system (Pintos) in one quarter, besides having a midterm and a final exam. This class is very time consuming and the projects are very hard, but if you follow all the materials well, you will appreciate why Windows, Mac OS, or Linux take many millions of code to bring the full functionality of the hardware to user programs. Be prepared to spend 30+ hours per week for this class. |
| CS 161 | 4 | Design and Analysis of Algorithms. This is a hardcore problem solving class that focuses not only on correctness, but mostly on how efficient your solutions are. For any problem, you're expected to come up with your own algorithm, its detailed description, analysis of its running time, and proof of its correctness. The materials are not very easy conceptually, but they give a framework of thinking to solve problems that computer scientists will regularly encounter. |
| PHYSICS 41 | 4 | Mechanics. This is just like high school's mechanics. |
| CHINLANG 7 | 2 | Beginning Conversational Chinese, Second Quarter. Liao Laoshi is a very fun and enthusiastic instructor. With only two 50-minute sessions per week, unfortunately this class may not give you the amount of practice you need to be fluent at speaking Mandarin. |
Spring 2008 (Sophomore)
| Class | Unit | Comment |
|---|---|---|
| CS 154 | 4 | Introduction to Automata and Complexity Theory. This class pretty much tries to give a theory about all programs and machines in the world, besides giving the more practical concepts of automata and state machine. After taking the class, you will be really aware of how significant the P = NP question really is. |
| PHYSICS 43 | 4 | Electricity and Magnetism. This class involves a lot of calculus. Make sure that you're comfortable with setting up problems using calculus and solving them. |
| CTL 180 | 3 | Interpersonal and Small Group Communication. Materials: Listening, friendship, judgment, gender in communication, group decision making, emotion, conflict, forgiveness, power. This class is pretty time-consuming and requires earnest commitment to the assignments in order to get the desired result: a better communicator. |
| CHINLANG 8 | 2 | Beginning Conversational Chinese, Third Quarter. Get to speak more Chinese. Oral final exam with Liao Laoshi. |
| DANCE 146 | 2 | Social Dances of North America II. Prereq: Social Dances I. This class teaches you more difficult dances. |
| HUMBIO 15SI | 1 | Understanding Disabilities: Traits and Treatment. A student initiated course related to Kids With Dreams. Weekly speakers about disabilities, treatments, personal experience, etc. The future plan is to include a service component to the class. |
Autumn 2008 (Junior)
| Class | Unit | Comment |
|---|---|---|
| CS 143 | 4 | Compilers. In a quarter, you will build a fully working compiler with a teammate, with the help of some popular parsing tools. The code base is pretty complex and it always takes me some time to fully understand what I'm supposed to do in each assignment. You're pretty much expected to learn MIPS instruction set by yourself for the last project. |
| CS 144 | 4 | Introduction to Computer Networking. This is the "toned-down" version of CS 244A, and this class pretty much covers the same topic with CS 244A, but with less math. The projects are time-consuming but you get the experience of actually building your own protocol, router packet handler, etc. There are tons and tons of materials in this class, much more than those of a typical CS class, because the internet is indeed an outrageously complex system. Now I can greatly appreciate the amount of effort the whole world has taken to deliver this text to you successfully at this moment. |
| CS 145 | 4 | Introduction to Databases. This class mostly teaches you about practical stuffs, like using SQL, XML, XQuery, XPath, PHP, etc. which in my opinion, Stanford CS students should be able to learn by themselves. There are also some more theoritical materials about modeling database, but they are not very deeply delved into. |
| CS 157 | 3 | Logic and Automated Reasoning. This class teaches about different formalizations of logic and various computational techniques to solve formal logical problems. |
Winter 2009 (Junior)
| Class | Unit | Comment |
|---|---|---|
| CS 244 | 4 | Advanced Topics in Networking. This class is totally different from CS 244A in the past. There are several projects in the class, but the main activities are class discussions (debates) on a lot of different papers, from old legendary papers to recent PhD research papers. |
| EE 108B | 3 | Digital Systems II. Everything you may want to know about how to build your processor. |
| EE 118 | 4 | Introduction to Mechatronics. The ME version of this class is ME 210 (a different class, same materials, different emphasis). Build robots pretty much from scratch! |
| AA 272C | 3 | Global Positioning Systems. The class teaches about the contexts of GPS and how to process raw satellite signal carriers and data into positional solutions, and how to measure GPS accuracy. This class assumes a lot of statistical and linear algebra background and programming background with MATLAB. Students do a self-selected final project. |
Spring 2009 (Junior)
| Class | Unit | Comment |
|---|---|---|
| ANTHRO 123A | 3 | Human Diversity: A Linguistic Perspective. The class talks about discovering the history of humankind through language classification, the distribution of language diversity, some archaeology, some genetics, and some hypotheses about the way humans spread. The lecturer, Merritt Ruhlen, is a linguist specifically endorsing comparative linguistic method. |
| MATSCI 152 | 4 | Electronic Materials Engineering. The class explains why metals, insulators, semiconductors, and doped semiconductors behave as they do: transferring heat, conducting electricity, emitting photons when biased with current, etc. It also discusses the working of devices such as diode, solar cell, LED, photodetector, and MOSFET. |
| CS 121 | 3 | Introduction to Artificial Intelligence. The class talks about various search problems and search algorithms, planning, constraint satisfaction, uncertainty, inductive learning. More of topics about AI are covered in CS 221. |
| CS 194 | 3 | Software Project. The first three weeks of lecture talk about software development process models, efficiency and risk of software project. After that, students do whatever projects they choose to do for the whole quarter. In the end of the quarter, students present their work in the software faire, an annual public exhibition. Our project for this class is Savant. |
Autumn 2009 (Senior)
| Class | Unit | Comment |
|---|---|---|
| ETHICSOC 171 | 5 | Justice. This class is about philosophy of justice: How to think about justice, the requirements of justice, approaches to justice from the viewpoints of different authors such as Mill, Locke, Nozick, Friedman, Hayek, Rawls, Dworkin, etc. Involving heavy philosophical readings and writing philosophy papers. |
| PSYCH 30 | 3 | Introduction to Perception. This class is about introduction to how we perceive (how we see, how we hear, how we detect motion, how we focus our attention, etc.). The depth of the materials is pretty shallow, pretty disappointing for a computer science student who initially hoped to come out of this class with some workable knowledge of artificial perception. |
| CS 148 | 3 | Introduction Computer Graphics and Imaging. This class is about a very diverse topics such as OpenGL, GUI, graphics pipeline, matting, concepts of splines and interpolations, geometry, typography, color, camera, rendering, etc., all of which are relevant to computer graphics. This class has weekly assignments that give practical experiences on the very diverse topics. The instructor, Prof. Hanrahan, is a former Pixar employee who received a Technical Oscar awards for his contribution in computer graphics. |
| ENGR 60 | 3 | Engineering Economy. This class is about preparing you to be a project manager, or a responsible citizen, who understands how to think about choosing and managing engineering projects wisely, about mortgages, savings, bonds, investment, hedging, valuation, insurances. The skills I learned from this class are directly applicable to my life. I really think everyone who plans to deal with money at all should take this class. |
| ME 208 | 3 | Patent Law and Strategy for Innovators and Entrepreneurs. In this class, you will learn all the technical, business, financial, and legal contexts you want to know about patents. You will also learn and do your own patentability search (not a trivial task) and write your own provisional patent application in this class. The lecturer is a patent attorney with 10+ years of experience with inventions in engineering fields. |
Winter 2010 (Senior)
| Class | Unit | Comment |
|---|---|---|
| CS 248 | 5 | Interactive Computer Graphics. The class provides conceptual understanding about how graphics pipeline, graphics rendering engine, and various graphics advanced effects work. You will rewrite a big chunk of OpenGL from scratch, create your own rendering engine, and in the end of the course make a 3D game for final project. The class is renowned for its video game competition, juried by executives from big game companies. CS 248 is a very time consuming class, and having taken CS 148 and having some experience with OpenGL help a lot. |
| CS 223A | 3 | Introduction to Robotics. This class provides conceptual understanding about the foundations of robotics, from kinematics, dynamics, to trajectory generation and control. The class provides the materials only in theory, which means that you wouldn't actually work with real robots or make robots. For classes in which you actually make robots, see classes in ME department. |
| MATH 53 | 5 | Ordinary Differential Equations with Linear Algebra. This class covers how to solve ODE in its various forms, which is an important basic skill for various engineering disciplines, physics, etc. |
| EE 203 | 1 | The Entrepreneurial Engineer. Each week, an entrepreneur who graduated from Stanford gives a presentation about entrepreneurship in general, their businesses and their products, etc. This class has no assignment besides finding a new entrepreneur from Stanford whose name was not yet on the class's long list of entrepreneurs. |
