Course-planning @ Brown

An ongoing evaluation of how to pick courses, from someone who is trying to make the best use of Brown's open curriculum.

Fall 2023

Permalink to “Fall 2023”

In my first semester, I was determined to get my CS prerequisites out of the way, so I could take interesting courses next semester.[1] That's where "Advanced Introduction to Computer Science" (CSCI 0190) and "Accelerated Introduction to Probability for Computing and Data Science" (CSCI 1450) came in.

Every year, upperclassmen give a lot of advice about whether to take CSCI 0111, 0150, 0170, or 0190. They are all intro-level courses, but they are very different in terms of size, difficulty, and content.[2] Difficulty is roughly 11 < 15 <= 17 < 19, and size is roughly 19 < 11 < 17 < 15. As far as I know, 15 is the only one that teaches object-oriented programming, and the rest teaches functional programming.

Diagram of the intro-CS sequence at Brown

For a variety of reasons, some of which I anticipated, 19 was an especially good choice for me. It was a small class, so I knew most of my classmates, and became close friends with a few of them. The professor was the best lecturer I have ever had. I can say a lot more about this class, so if you are a prospective CS-concentrator at Brown, please feel free to reach out.

As for the probability prerequisite, I had the option of taking CSCI 1450, APMA 1650, or APMA 1655. I chose CSCI 1450 fairly arbitrarily, mostly on the basis that a friend of mine was taking it. I did not attend lecture, but this actually ended up being my favorite class that semester, just because the problem sets were so fun. But I spent so much effort on this class that I regret taking it S/NC.[3]

I also took "Formal Proof and Verification" (CSCI 1951x) I had the choice between that course and "Advanced Deductive Logic" (PHIL 1635), but the latter was on Godel's incompleteness theorem, which seemed like a difficult topic to tackle in my first semester. This ended being a good choice, because I later learned that I was not interested in philosophy. CSCI 1951x was a very intersting course that exposed me to interactive theorem proving. I ended up TAing this course the next fall.

My last course was on "The Classical Chinese Philosophy of Life" (COST 0120). I thought it might help me solve a few existential problems I had at that time. It did not help that much, but I did learn a lot about Mengzi, Xunzi, and Zhuangzi.

A brief summary of what I actually did in these courses: I went to class, skipped class, did problem sets, wrote papers, and spent a lot of time talking to my TAs.

Chart of shopped courses in 2023

I could have, but did not, take "Introduction to Linguistics" (CLPS 0300), "Diversity of Life" (BIOL 0210), "Form and Formalism" (APMA 1920), and "Writing Graphic Memoir" (ENGL 1050U), and "Advanced Deductive Logic" (PHIL 1635). I do hold a little bit of regret for not shopping APMA 1920 and ENGL 1050U, but I was very busy with CSCI 0190 assignments at that time and missed the opportunity. Here was the full shopping list:

Chart of shopped courses in 2023

My takeaways from this semester were:

  1. Choose the smaller course
  2. Choose the more difficult course
  3. Choose the course with your friend
  4. Do more math because it's fiddly and fun
  5. Don't S/NC courses

I will end up disputing points 3-5 in the future, but that's a lesson for another semester.

Spring 2024

Permalink to “Spring 2024”

I was a bit more confident in my course choices in my second semester. Perhaps too confident. I took "Fundamentals of Computer Systems" (CSCI 0300) because I had to fulfill a computer systems concentration requirement, and I heard it was an excellent course. (It was.) I also took "Deep Learning" (CSCI 1470) because I had to fulfill an AI/ML concentration requirement, and all of my friends were taking it. (It was not as excellent.)

Abiding by the lessons I learned last semester, I also chose "Linear Algebra with Theory" (MATH 0540), which was both (1) a small class, (2) a difficult class, and (3) a class with my friend and (4) a math class. This probably would have been a great choice, if I didn't also decide to take "Modal Logic" (PHIL 1665) with another friend. That was a lot of problem sets...

I also took "Language and the Mind" (CLPS 0800). It was a great course, but I realized that I wasn't that interested in psycholinguistics or clinical research.

A brief summary of what I actually did in these courses: I went to class, skipped class, did problem sets, did more problem sets, did so many problem sets, and did not have the time to go to TA hours. There are no achievements for this semester, because I was in the trenches.

My takeaways from this semester were:

  1. There is a limit to how much math you do before you start to miss coding. That limit is 16 hours.
  2. You should not take too many math classes in a semester.
  3. Not lying to yourself about what you like and dislike is very important. While I had suspected that I was not that passionate about linguistics, AI, or philosophical logic, I did not anticipate how burdensome those courses would be.
  4. I can work at least 40 hours per week on coursework, but I won't enjoy it, I won't learn as much, and there will be the threat of burnout lurking in the background.
  5. The difference between magic and boringness is possibly not the content, but the professor.

But now that I look back on it, I didn't have any particularly good alternatives either. I'll just take a better workload next semester.

All the courses I have taken

Permalink to “All the courses I have taken”
Course Title
CSCI 0190 Accelerated Introduction to Computer Science
CSCI 1450 Advanced Introduction to Probability for Computing and Data Science
CSCI 1951x Formal Proof and Verification
COST 0120 The Classical Chinese Philosophy of Life
CSCI 0300 Fundamentals of Computer Systems
CSCI 1470 Deep Learning
MATH 0540 Linear Algebra with Theory
PHIL 1665 Modal Logic
CLPS 0800 Language and the Mind

Thoughts from other people

Permalink to “Thoughts from other people”
  1. College advice for people who are exactly like me
  2. Many Undergrads Should Take Light Courseloads

  1. Depending on the department culture, prerequisites might be more flexible than you think.[4] ↩︎

  2. Let me put in a note about demographics. In Fall 2023, 15 had 450 students, 17 had 150 students, and 19 had 60 students. Because of that, 15 and 17 were very lecture-based, and 19 felt more like a seminar. However, the gender-ratio was also worse. (I have the impression that the 19 professor tries very hard to address this, but it is what it is.) ↩︎

  3. S/NC stands for satisfactory or no credit and is an alternative grading option at Brown. ↩︎

  4. Opinions expressed are solely my own and do not express the views or opinions of my employer. ↩︎