About Me
My name is Yushun (Oliver) Chen. I have graduated from UW-Madison in May 2022. I triple-majored in B.S. Computer Sciences, Statistics, and Applied Mathematics. I was also in the Letter & Sciences Honors Program. Here is my resume and this web page is my course guide of all the courses that I have taken.
Computer Sciences Courses
Course Catalog | Title | Semester | Instructor |
---|---|---|---|
COMP SCI 200 | Programming I | Fall 2019 | Marc Renault |
COMP SCI 300 | Programming II | Summer 2020 | Hobbes Legault |
COMP SCI/E C E 252 | Introduction To Computer Engineering | Fall 2020 | James Skrentny |
COMP SCI 400 | Programming III | Fall 2020 | Florian Heimerl |
COMP SCI 354 | Machine Organization And Programming | Spring 2021 | Michael Doescher |
COMP SCI 577 | Introduction to Algorithms | Spring 2021 | Marc Renault |
COMP SCI 571 | Building User Interfaces | Fall 2021 | Yuhang Zhao |
COMP SCI 564 | Database Management Systems: Design and Implementation | Fall 2021 | Paris Koutris |
COMP SCI 407 | Foundations of Mobile Systems and Applications | Fall 2021 | Suman Banerjee |
COMP SCI 559 | Computer Graphics | Spring 2022 | Michael Gleicher |
Statistics Courses
Course Catalog | Title | Semester | Instructor |
---|---|---|---|
STAT 301 (AP Statistics) |
Introduction To Statistical Methods | AP Transfer | N/A |
STAT 309 | Introduction To Probability And Mathematical Statistics I | Fall 2019 | Panduan An |
STAT 303 | R For Statistics I | Spring 2020 | Bo Yang |
STAT 304 | R For Statistics II | Spring 2020 | Bo Yang |
STAT 305 | R For Statistics III | Spring 2020 | Bo Yang |
STAT 310 | Introduction To Probability And Mathematical Statistics II | Fall 2020 | Garvesh Raskutti |
STAT 333 | Applied Regression Analysis | Fall 2020 | Hyunseung Kang |
STAT 424 | Statistical Experimental Design | Spring 2021 | Peter Chien |
STAT 632 | Introduction to Stochastic Processes | Spring 2021 | Tatyana Shcherbina |
STAT 351 | Introductory Nonparametric Statistics | Spring 2022 | Chunming Zhang |
STAT 451 | Introduction to Machine Learning and Statistical Pattern Classification | Spring 2022 | John Gillett |
STAT 479 | Data Science Computing Project | Spring 2022 | John Gillett |
Mathematics Courses
Course Catalog | Title | Semester | Instructor |
---|---|---|---|
MATH 221 (AP Calculus AB) | Calculus And Analytic Geometry 1 | AP Transfer | N/A |
MATH 222 (AP Calculus BC) | Calculus And Analytic Geometry 2 | AP Transfer | N/A |
MATH 234 | Calculus--Functions Of Several Variables | Fall 2019 | Mikhail Feldman |
MATH 341 | Linear Algebra | Spring 2020 | Justin Sukiennik |
MATH/COMP SCI/STAT 475 | Introduction to Combinatorics | Summer 2020 | Alexander Hanhart |
MATH 521 | Analysis I | Fall 2020 | Sergey Denisov |
MATH 240 | Introduction To Discrete Mathematics | Spring 2021 | Aleksandra Sobieska-Snyder |
MATH 535 | Mathematical Methods in Data Science | Fall 2021 | Nan Chen |
Honors Program Courses
Course Catalog | Title | Semester | Instructor |
---|---|---|---|
ANTHRO 105 | Principles Of Biological Anthropology (Honors Optional) | Fall 2019 | Richard McFarland |
STAT 309 | Introduction To Probability And Mathematical Statistics I (Honors Optional) | Fall 2019 | Panduan An |
ANTHRO 104 | Cultural Anthropology And Human Diversity (Honors Optional) | Spring 2020 | Falina Enriquez |
CLASSICS 370 | Classical Mythology (Honors Only) | Spring 2020 | Willian Aylward |
MATH 341 | Linear Algebra (Accelerated Honors) | Spring 2020 | Justin Sukiennik |
ILS 203 | Western Culture: Literature And The Arts I (Honors Only) | Fall 2020 | Nandini Pandey |
MUSIC 151 | Basic Concepts of Music Theory | Fall 2021 | Jamie Henke |
STS 201 | Where Science Meets Society | Spring 2022 | Daniel Williford |
General Education Courses
Course Catalog | Title | Semester | Instructor |
---|---|---|---|
CHEM 103 (AP Chemistry) |
General Chemistry I | AP Transfer | N/A |
ECON 101 (AP Microeconomics) |
Principles Of Microeconomics | AP Transfer | N/A |
ECON 102 (AP Macroeconomics) |
Principles Of Macroeconomics | AP Transfer | N/A |
PHYSICS 207 (AP Physics C Mechanics) |
General Physics | AP Transfer | N/A |
POLI SCI 104 (AP U.S. Government and Politics) |
Introduction To American Politics And Government | AP Transfer | N/A |
PSYCH 202 (AP Psychology) |
Introduction To Psychology | AP Transfer | N/A |
BIO 141 (Online) | Heredity | Winterim 2019 at UW-Milwaukee | Kurt Kroening |
ESL 117 | Academic Writing I | Fall 2019 | Joe Nosek |
MUSIC 113 | Music In Performance | Fall 2019, Spring 2020, and Fall 2020 | Marc
Vallon Andreas Oeste |
ESL 118 | Academic Writing II | Spring 2020 | Kim Hagerich |
CURRIC 277 | Videogames & Learning | Summer 2020 | Krista-Lee Malone / Yilang Zhao |
Course Details
MATH 234
Another name for this course is Calculus III. This is the third and last course of the calculus series of courses at UW-Madison. It is a 4-credit class but does not have the workload for a 4-credit course. Professor Feldman's Russian accent was a little difficult to understand but it was not a big deal because self-teaching and TA are the two most important factors in this course. If you are to take this course, prepare to study by yourselves and make sure your TA is helpful. Feldman's three exams are easy. People normally take this class as a prerequisite for MATH 341.
ANTHRO 105
This is a popular course for fulfilling the biological science requirement. This course is about the evolution of primates, such as the origins, behaviors, and chacteristics of different species of primates. Lecuter slides are uploaded periodically. The discussion sections of this course are labs, following the structure of the lab notebook. Labs are generally group observations and individual writing tasks to answer the questions. There are two projects in the lab: mystery primate project and mystery hominin project, which are speculating species based on their skulls. Being able to observe skulls is important in the labs. Another reason I chose this course was that it was an honors optional course. To receive the optional honors credit, I was required to attend four honors talks (essentially lectures) and write four 800 words report regarding those talks. Here is my notes for one of those honor talks.
MUSIC 113
"Clap for credit (拍手课)". This is a one-credit course that can be
repeated for at most three semesters. It is probably the easiest class at
UW-Madison. There is only one class per week. The class is purely music
performance with a huge audience; you can doze off, study, or look at your
phones/laptops must listern to the musicians and appreciate their
performances. There are weekly quizzes that are four questions. They are very easy
to
complete once you get the hang of it.
COMP SCI 200
This is the introductory computer science class if you do not have AP Computer Science. It is notorious for its heavy workload. Tophat is used for attendence and participation by answering questions on it. There are weekly assignments that make up the complete cycle of learning in this course. There is zyBooks, zyLabs, and discussions. Discussions are labs in which you and another partner of yours work together to solve problems and discuss them with the TAs. One good thing that I can think of about this course is that the scores of the first two midterms can be overriden by the score of the final exam, which means that if you do well in the final, the scores of the midterms do not matter. Marc is from Canada and that is why there are answers like the picture on the left when answering problems on Tophat.
ESL 117
You can skip this class if you have a placement test score that place you into ESL 118 or you do well in the writing test that takes place in the first meeting of ESL 117. This course basically prepares you for writing skills and knowledge that you need for ESL 118. There are assignments that are almost daily and there are two big essays in total. The small assignments build up graduately to complete the whole essay. Individual conferences take place near the end of the semester and there are no classes during conference week.
STAT 309
It is an introductory probability class. Other equivalent classes include STAT 311 and STAT/MATH 431. This course is the prerequisite for STAT 310. It covers basic topics of probability and mathematical statistics such as various types of distributions, random variables, and their properties. This course is also honors optional, requiring attending two stats seminars and corresponding two reports. Here is an example of a seminar.
CLASSICS 370
This course fulfills the literature requirement (3 credits). The honor only session of this course which I attended has in-person discussion sections. Professor Aylward himself leads the discussion section. The regular session of this course has online discussions where students post answers to weekly questions and responses to others' discussion comments. The course material consists of basically Greek mythology and some Roman myths near the end of the semester. If you are interested in classic myths such as the Olympian gods (Zeus, Hera, Heracles, ...), you should certainly consider this course. If you are a student in the honors program of liberal arts, this course is an awesome honors only course that also satisfies the literature requirement under humanities. Another similar literature course that also has an honors only session is ILS 203. However, this course is more difficult than ILS 203.
ANTHRO 104
This course satisfies the ethnic requirement under breath. It is a
very easy course overall. One important skill that you will need for this course to
complete assignments such as reading responses and fieldwork is
how to BS properly articulate your own thoughts and opinions on the
anthropological issues in the assignments. The honors optional credit requires a
poster that consists of four assignments (a reading response, proposal, digital
poster, and reflections). It has similar workload as other honors optional courses
but it is more engaging.
ESL 118
I am sure that you have heard about this course and its workload. However, compared to some upperclassmen that I personally know, this course which I took in Spring 2020 did not have as much workload as they had previously. I even felt like I had comparable workload in ESL 117 as I had in ESL118. The overall course structure is very similar to it of ESL 117. Three major essay make up the overall structure: SRP, GRP, and IRP and there are small assignments that go along with the essays to construct the skeleton of the course and help us to complete those essays. Presentation is also a requirement in this course because this course tends to satisfy the COMM A requirement. As long as you put effort into this course, A is not hard. Also, the instructor is very important and your grade depends a lot on the instructors.
MATH 341
This course is linear algebra based on proofs. If you are not a math major and only needs to fulfill the linear algebra requirement for other majors, MATH 340 should do it. But if you are a math major, MATH 341 will be the prerequisite for many upper level math courses. This course introduces basic concepts of linear algebra such as subspaces, linear tranformation, matrix, etc. Many theorems and propositions are introduced along with some of their proofs as well. The exams are not difficult but requires especially skills of proofs. Justin is a great instructor who gives clear lectures and addresses questions quickly. When this class turned online because of COVID-19, the lecture videos/notes were the best among all my other online courses.
STAT 303/304/305
Throughout this series of courses, R language is used. Only STAT 303 (Introductory Level) is required for statistics major, but STAT 304 and STAT 305 (Intermediate and Advanced Levels) can be helpful if you want to learn more about R. Each course is one-credit and lasts a month. The major grades in STAT 303 are quizzes (unlimited tries), homework assignments, and the final exam, which are all pretty easy. STAT 304 is similar to STAT 303 but it does not have an exam. STAT 305 is again similar but it does not have an exam and does not have quizzes. Homework assignments in 304 and 305 take some time to complete. Dr. Bo Yang has been teaching these three courese for a while. Prepare to learn by yourselves a lot.
BIO 141 (UW-Milwaukee Online)
I took this course during the Winterim 2019 because I needed 3 credits of biological science. This one-month course has these items on the left to complete over the period of time. It is a fast-paced course with all these assignments. But the credits can be transferred as long as you earn at least a C in the course. It is also much cheaper than credits at UW-Madison ($789 for three credits). Here is a link to apply on UWC.
CURRIC 277
Yes, that's right! This is the course in which you are kinda required to play games. The most important assignment in this course is the final paper which is 8-10 pages. There is a list of approved game that you can choose to play and write about in the final paper; you can certainly request other games as well. This is an online courses even before the pandemic. Each week there is some reading involved and students need to post discussions on canvas. There are also journal entries which you should write to reflect on your gaming experiences of the game you chose. I chose Hearthstone for this course and it was a brand-new game for me. As long as you pay attention to the learning process in playing games and complete the required assignments (which is not much), this course is very easy!
CS 300
Fundamental Comp Sci course in our school. If you have prerequisite for this course, do not hesitate to take it. The basic topics include CS 200 level knowledge, Object-Oriented-Programming, classes, linked lists, stacks and queues, recursion, binary search tree, etc. This can be an easy course if you take CS 200 or have previous programming experiences. If you are a CS major or considering a CS certificate, you can declare these two after completing this course. Mouna is a good professor to take this course with. She has a little bit of accent, but are very responsive of questions and makes important concepts and ideas clear and easy to understand.
MATH 475
Combinatorics is all about counting things. If you are into counting, this might be the course for you. The fundemental topics include permutations and combinations, the Pigeonhole Principle, binomisl coefficients, inclusion-exclusion principle, recurrence relations, generating functions, etc. I took this course during the summer term (8-week) and it was kinda fast-paced. Every week has two homeweek assignments expect for exam weeks. The homework assignemts take hours to complete. There is an exam bi-weekly. But for a normal semester, it may be a little bit better. I think it is a good course for math, stats, or cs major students to take since this course is a crossover of these three courses. And we are using a textbook written by a professor emeritus at our school: Richard A. Brualdi.
STAT 333
This is best course for my fall 2020 semester and probably the best course for my college studies so far. Professor Kang is such a great professor, and I high recommend taking the course with him. This course is basically about using R to do regression and analysis, including but not limited to SLR, MLR, logistic regression, testing, diagnostic, ... The problem sets occur about bi-weekly and is standard. The projects test overall course material, using R, writing executive summary, and presentation.
STAT 310
This is the course after STAT 309. A pretty standard MATH/STAT course. Topics include sampling, estimation (method of moments, maximum likelihood), hypothesis testing, likelihood ratio test, two-sample, ANOVA, ... For me, we had weekly assignments expect for the weeks for two midterms and one final. I think understanding the material is really important in order to be successful in the course, and doing homeworks is great way to do that.
MATH 521
The "analysis" course. Analysis is very important in many fields of study. It is the most difficult course for me during fall 2020 semester. The course topics include the real, sets, metric space and basic topology, sequences and series, limits, continuity, differentiation, integration, sequences, and series of functions, uniform convergence... Some topics were briefly covered in calculus, but in analysis, we more or less re-define everything and intenstively prove definitions and theorems. If you are not into proofs, this might not be the course to take and there are many other 500-level math classes to choose from. If you were to take this course for future purposes, make sure to understand the discussion sections, especially for Professor Denisov.
ILS 203
This is another favorite course of mine. Dr. Pandey really made this course engaing and enjoyable under the circumstances of the pandemic and learning online. The live sessions of the course were interactive and there was a great environment of learning and dicussing. The course is basically about Ancient Mediterranean, Greek, and Roman cultures. We read many books such as Gilgamesh, the Iliad, the Odyssey, the Aeneid, Ovid selections, Dante selections, etc. There was no midterm and the final was simliar to weekly check-in quizzes. This is probably one of the best literature courses.
CS 400
This is the third and final course of the COMP SCI 200-300-400 series. This course introduced and covered many concepts and ideas, such as command line, hash table, binary search trees (red black tree, AVL trees), sets and graphs, HTML/CSS/JavaScript, JavaFX, Git, ... This was an easy course because we did not dig in for every possible concept introduced and grasping the general idea was pretty much sufficient. There were many assignments in the beginning of the semester, but it was adjusted properly in the middle of the semester. The group projects can be stressful if you do not have responsible teammates. Nonetheless, this was an easy and useful course.
CS 252
Honestly, this course should be a 3-credit course since it had assignments almost weekly and four exams. The assignments were not easy to complete, but the exams were better since they were based on the homeworks. The course topics include bits/data types/operations, logic structures, the von Neumann Model, LC-3, some assembly language, subroutine, and trap routines. This course is really about getting into the basics of computer and programming. It may be a difficult 2-credit course but if you think it as a 3-credit course, it is an OK one. And understanding material in this course certainly prepares you for CS 354 if you are pursuing a CS degree.
CS 354
This course is the well-known course right after CS 252. As shown on the left, the course is broken down to 3 components. The first section introduces programming in C, including data structures, pointers, functions, etc. The second section introduces assembly language. One main goal is to translate between C code and the x86 assembly language. The last section gives a brief introduction to the operating system, which can be a useful overview for those who may take CS 537 in the future. In general, it is a somehow difficult class and focuses on details a lot. We had 4 projects and 3 exams in total (some sections may have more projects, say 6). Mike was a good teacher, but there were definitely interruptions and times when we did not stick to the course schedule so strictly during the semester, which was a problem for many students.
CS 577
Oh! The notorious algorithms class. Most CS majors would take this course to satisfy the degree requirement. I felt that this course has actually become easier compared to sections in the past. However, it is still a difficult class. We had weekly homeworks, which took hours to complete. The exams are similar to homeworks as well. One good thing about the exams is that they gave a week to complete them, which is generous for those who may struggle to come up with algorithms in a short amount of time. You'll learn many algorithm concepts that may be useful for the CS career and also proof techniques!
STAT 424
This is probably a must-taken course for statistics majors. STAT 333 introduces some ideas in this course such as regression analysis, interaction effects, etc. This course goes deeper in basically how to design experiments and analyze them statistically. There were 3 exams and homeworks almost weekly (expect for exam weeks). The homeworks are written using R, so some previous knowledge of R is very useful. Understanding the new concepts in stats and experimental design is crucial in this course, for example, ANOVA, Randomized Block Design, Latin Square, Full Factorial Design, testing, etc. I had the best TA (Sijia Fang) since college in this class. Professor Chien cares about students, but sometimes, students' questions are not addressed so well and class time might not be used efficiently as well.
MATH 632
This is a popular class for either a math or stats major. After taking this course, I felf that stochastic processes can be really useful in many fields, including but definitely not limited to math/stat modeling, physics, finance, etc. The course includes important topics such as discrete-time and continuous-time Markov Chains, martingales, and renewal processes/Poisson processes. Strong knowledge in probability would help a lot in this course (also a little bit of linear algebra maybe). Professor Shcherbina is one of the best professors in the 2021 spring semester for me. She explains concepts clearly and uses examples that are easy to follow and understand. She also cares about students and the exams and grading are fair.
MATH 240
This is the easiest class for me during the 2021 spring semester. Normally, this course is used as a pre-requisite for CS 577. However, I took MATH 475 before this course and use that as a pre-requisite for CS 577, which sounds like back-tracking. And after learning many CS and math concepts in other courses, this course became very easy for me. Therefore, this course is all about basic CS and math concepts, especially those used in algorithms and combinatorics. CS 577 and MATH 475 are definitely two courses to consider after taking this course. This course is very useful also by establishing solid foundations of CS/MATH concepts and definitions for the students. Professor Ola is one of the best professors that I had at UW-Madison. She is very organized and explains concepts very clearly and easy to understand. There were almost weekly quizzes and 3 exams. Assignments include weekly reading assignments and homeworks (on McGraw Hill, rarely hand-written).
MATH 535
This course is probably the easier among the 500-level math courses. It intends to attract math major students who are interested in learning about data science with a mathematics perspective. Moreover, it can serve as a mathematical companion to machine learning and statistics courses. Content-wise it is a second course in linear algebra, vector calculus, and probability motivated by and illustrated on data science applications. The frequency of homeworks is about bi-weekly. There were 3 exams, which are all take-home ones. Professor Nan Chen has one of the cleanest slides and is a really good professor.
MUSIC 151
This course is one of the best courses that I have taken at UW-Madison. It is a really high-quality honors course. I learned about music a long time ago and this course gives me ideas and perspectives in a relatively new realm, which I was really excited about. There were many music concepts in music theory. Starting from the basics of how to read the notes and intervals to eventually evaluate real music and write music ourselves, this course is a great journey! Definitely recommend this if you are in the L&S honors program and it is also a great choice if you are into the basics of music theory. Dr. Jamie Henke is an awesome instructor. She offers tremendous help for those who may not have a music background. The assignments she has are very educational and also fun to work on. The most unique assignment is a music journal, which are built incrementally by small weekly assignments and listening maps.
CS 407
This course teaches Android Studio and other concepts in mobile systems and applications. We had weekly labs and lectures which introduce basic mobile ideas and implementations in Android Studio. These are fun to complete and learn from. Aside from the software side of things, we also learn about mobile sensors and mobile networking. Throughout the semseter, each group would need to work on their project, which is an idea initiated by the group itself. The project occupies a relatively large percentage of the grade. If you are into the mobile side of things, this is the course to go. It is relatively easy considering its counter-parts in the higher level CS courses.
CS 564
This course is very popular among CS students at UW-Madison. There were 3 problems sets (completed individually) and 3 programming projects (completed in groups). Professor Paris Koutris has great slides and manages the learning pace of the course very well. We have class on Mondays, Wednesday, and Fridays and we sometimes gets Friday off thanks to Paris. The course has two parts: 1. Databases from the user’s perspective: SQL, ER model and DB design, Relational Algebra. 2. Database internals: basics, indexes, query processing, and transactions. There was a mid-term exam and a final. For the exams, you really need to get into the details of the content and fully understand the material in order to do well.
CS 571
This course has a new course number (used to be CS639 under special topics). This is my favorite course of the semester. Since I have previous experiences in UI and React, I would say that I exceled in the course. The course has basically 2 parts: 1. Build: JavaScript, React, React Native, Dialogflow. 2. Design: design thinking, visual design, web & mobile & VUI design, interaction design, design patterns, accessible design, prototyping, etc. The course projects are completed individual and you can learn a lot from them! (time consuming though)
STAT 451
This is a relatively new course in the stats department. It is normally taught by Sebastian Raschka. However, it was taught by John Gillett for the first time in the 2022 spring semester. This course is much easier compared to Sebastian's version of the course, which focuses on the machine learning side of things more technically and rigorously. Throughout the course, we have learned basic ML concepts including SVM, regression, decision tree, k-NN, random forest, etc. The Scikit-learn library is used extensively in the course. John has made the course accessible for people who do not have much programming experience. So, the course has python basics and machine learning material interchangeably. Here is a schedule of the course in spring 2022: link. The course has small weekly quizzes, a midterm, and a final project. The course workload is small and it is a very basic course of machine learning.
STAT 479
Personally, I think this is a much better course from John than STAT 451 this semester. Linux virtual machines are first used to introduce basic commands, Git, and emacs. Shell scripts are also a big emphasis. Then, we used the High Performance Computing Cluster (HPC) and employed resources at the Center for High Throughput Computing (CHTC). We have learned skills to manage and analyze large data files (10GB-100GB) using the aforementioned resources, including writing shell scripts, running parallel jobs, and statistical analysis. There are 4 homeworks, several small group exercises, and a final project (schedule). No exams. This is a great course if you want to learn to work on virtual machines and HPC/CHTC both for stats and cs students. Side note: John did a much better job teaching emacs than any CS 400 instructor.
CS 559
This is my last CS class at UW-Madison. In general, JS is used extensively in the course. We use Canvas for 2D graphics and Three.js for 3D. Details are really emphasized in terms of the course material, so it's never about just using the API. An overview of the concepts include graphics basics, transformations, curves, 3D graphics, lighting, animation, rotations, shaders, etc. Prof. Gleicher has a really nice website that contains comprehensive course material and organization for each semester (spring 2022: link). The workload of this course is comparable to other 500-level CS courses. There are weekly workbooks which you read and complete the coding exercises. There are 3 exams in the form of Canvas quizzes. There is a large final project that you can express your artistic and coding abilities to a great extent (a preview of mine on the left).
STAT 351
This is a relatively easy stats elective course. The course is well-structured and there are only 4 homeworks in total. There is 1 midterm and 1 final project (similar to a larger homework). The non-parametrics concepts include order statistics, randomness tests (ordinary runs & runs up and down), GOF tests (Pearson chi square, Kolmogoros-Smirnov, and Lilliefors), 1 sample tests (rank order, sign, and Wilcoxon), 2 sample tests (Kolmogoros-Smirnov, Mann-Whitney-Wilcoxon), k-sample tests (Kruskal-Wallis). The last few lectures also covered association analysis, kernel regression, and kernel density estimation.
STS 201
This is the last honors course for me at UW-Madison. Prof. Daniel Williford is very knowledgable in the field of STS and the learning environment is great! The honors discussion sections with him is always a time when I can learn something new and gain insights on the issues at stake. The course workload is above average. There are weekly readings that are about 30 pages and reading responses are needed after the reading. There are 1 midterm, and 1 final exam. There are one short paper (3-page) and one final paper (4-5 pages, and 7 pages for honors). The course discusses STS concepts in a wide range: science, political technologies, social histories of medicine and experimentation, genders, feedback loops/asymmetrical collusion, expertise, quantification, race, biological sciences, environment, etc.