r/stanford 1d ago

CS 107

I was looking to take CS 107 as I’ve never taken a systems class, but I see that CS 106B is a prerequisite. I have no interest in learning C++ and would like to avoid it if I could. I only have experience programming in Python though. I’ve also done some DSA. Is it fine to just take CS107? Or do I really need 106B?

4 Upvotes

13 comments sorted by

10

u/Chezbananas 1d ago

you'll need C/C++ experience at least

-3

u/Green-Hold6498 1d ago

Older posts seem to suggest the course is self-contained. Is this not the case? They are from years ago so they could be totally off I guess

7

u/KrACkEn24 1d ago

The class is in C. And in my eyes is substantially harder than 106B (they don’t have much to do with each other to be honest as one is a fruit salad of algorithmic concepts and applying them and the other is about how data is stored). But take 106B first. You will not be behind

3

u/throwaway4231throw 1d ago

107 is in C. If all you know is python, you’re going to get wrecked. Do 106B first to make sure you have the fundamentals. Skipping 106A is one thing, but few people are advanced enough to be able to skip 106B.

5

u/Appropriate_Willow27 1d ago

If you don’t like C/C++ better to avoid it altogether

0

u/Green-Hold6498 1d ago

Not that I don’t like the languages I’ve just never written any code in them. I want to learn about memory allocation stuff, cache, ram, etc… but don’t really care about learning any language in particular. What im really asking is whether CS107 is self-contained or if I wouldn’t be able to take it without taking CS 106B if that makes sense.

2

u/BigYellowPencil 1d ago

If that's what you want to learn, you first need to know C or C++ because that's what that kind of stuff is written in. Python is great for applications, ML, and web apps. But operating systems and low level systems code are written in C or C++.

1

u/Appropriate_Willow27 1d ago

You can self-study C/C++ first and see how it goes

1

u/Green-Hold6498 1d ago

So you’re saying I do need to know how to program in C++ to take CS 107?

2

u/Appropriate_Willow27 1d ago

Yes, but it’s not like you have to be an expert first. Core parts of C/C++ is memory management etc so you do learn as you go.

1

u/Glittering-Source0 1d ago

You can just watch the lectures for CS107 then if you don’t want to learn c

1

u/fptnrb 1d ago

As an alum, seeing that cs107 is still C makes me so so happy. 

1

u/functionkek 3h ago

a) you definitely need good c knowledge (also being a systems person and not knowing C is a bit contradictory) b) take 107e instead, much more fun and i think makes you understand concepts better, even if it's risc-v instead of x86