Skip to content

Commit

Permalink
Blog post about graduate course schedule.
Browse files Browse the repository at this point in the history
  • Loading branch information
vbharadwaj-bk committed Apr 6, 2024
1 parent 0cf7625 commit cafb7c0
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 45 deletions.
Binary file added content/images/blog/soda_thumbnail.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
78 changes: 78 additions & 0 deletions content/posts/berkeley_course_schedule.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
Title: My Graduate Course Schedule
Date: 2024-04-06
Category: personal
thumbnail: "images/blog/soda_thumbnail.jpeg"
Summary: >
A page listing my coursework at UC Berkeley.
---
As of 2024, EECS PhD students at UC Berkeley need to complete
24 units of coursework consisting of:

- 12 units of major classes
- 6 units of minor classes
- 6 units of elective classes

My CSGF fellowship also mandated that I take 2 classes
in computer science, 2 classes in mathematics, and
2 elective classes, all of which I overlapped
with my Berkeley coursework. Below, you can find the
schedule I used to satisfy these requirements. Not listed
below: a COMPSCI 375 teaching class I took on teaching
techniques in computer science.

By far, my favorite classes were COMPSCI 267 and
MATH 221 (taught by my advisers). There's
some obvious bias on my part, but these
courses also happen to provide
highly-organized and polished experiences
to students.


!TEMPLATE!
{% set schedule = [
[
("Fall 2020", [
("COMPSCI 281A", "Statistical Learning Theory"),
("MATH 221", "Advanced Matrix Computations")
]),
("Spring 2021", [
("COMPSCI 267", "Applications of Parallel Computers"),
("COMPSCI 270", "Combinatorial Algorithms and Data Structures")
])
],
[
("Fall 2021", [
("PHYSICS 288", "Bayesian Data Analysis and ML for Physical Sciences"),
("COMPSCI 262A", "Advanced Topics in Computer Systems")
]),
("Spring 2022", [
("BIOENG 241", "Probabilistic Modeling in Computational Biology"),
("ELENG C227C", "Convex Optimization and Approximation")
]),
]
]
%}

{%- for year in schedule -%}
<div class="row">
{%- for term in year -%}
<div class="col-sm-12 col-md-6 d-md-flex-row p-2 align-items-stretch">
<div class="card">
<div class="card-body">
<h5 class="card-title">{{ term[0] }}</h5>
<table class="table mb-0">
{% for course in term[1] %}
<tr>
<td><b>{{ course[0]}}</b>&nbsp;&nbsp;&nbsp;<div style="font-size:13px">{{ course[1] }}</div></td>
</tr>
{%- endfor -%}
</table>
</div>
</div>
</div>
{%- endfor -%}
</div>
{% endfor %}

!TEMPLATE!
49 changes: 4 additions & 45 deletions content/posts/caltech_math_cs_schedule.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,51 +8,10 @@ Summary: >
useful for anyone else who might be
considering a double major.
---
Like most students at Caltech, I spent most of my
waking hours doing problem sets. I was a Math + CS
double-major, a decision that extended those waking hours.
Scroll down to see my course list.

Because I was a "CS-major first", the math major was a lot
more difficult. I didn't have a lot of experience with
math contests or problem-solving as an undergraduate, and I
also missed several early-morning lectures.
Here are some opinions if you are also a CS major thinking about adding
math (note: these are specific to Caltech).

#### Reasons to add math
- **Because you want to see "Math and Computer Science" on your diploma.** That's a really
shallow reason, but if you want it (I did), you should go for it, and don't let
anyone tell you otherwise!

- **Because the math might be relevant later.** Because Caltech's math
curriculum is covers algebra, analysis, and topology, you get a solid exposure to
each one. A lot of this stuff shows up in computer science in unexpected ways. For
example, the [Brescamp-Lieb Inequality](https://en.wikipedia.org/wiki/Brascamp%E2%80%93Lieb_inequality)
is used to [prove lower bounds for the memory movement costs of matrix multiplication](https://arxiv.org/pdf/2003.00119.pdf).

- **Because you want to get better at writing proofs.** After a ton of problem sets, it becomes
second nature. You also get better at collaborating with others and explaining your
work. If you choose to LaTeX your sets, you become better at that too.

#### Reasons not to add math
- **It consumes nearly all your free course slots.** You'll lose a lot of freedom
choose courses that are interesting to you, and you'll have to take certain classes
at certain times, since they won't be offered otherwise. Being an undergraduate
is probably the only time you get to study *whatever you want*. Do you really
want to spend it jumping through hoops?

- **It eats up professional and personal time.** If I hadn't added the math major, I would
have spent the extra time preparing for technical interviews, doing computer science
research, and spending time with my friends. Instead, I spent that time solving problems
in algebra or complex analysis, most of which I have forgotten.

- **It doesn't help much for graduate school admissions.** For computer science at least,
I think graduate schools care more about your research and recommendation letters than whether
you took the hardest math class out there.

I regret nothing! Here's my undergraduate schedule:

I thoroughly enjoyed my time at Caltech taking classes.
In retrospect, I wish I had spent a bit more time
doing research, but I regret nothing. You can
find my undergraduate class schedule below.

!TEMPLATE!
{% set advanced_placement =
Expand Down

0 comments on commit cafb7c0

Please sign in to comment.