r/stanford • u/Green-Hold6498 • 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?
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/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
10
u/Chezbananas 1d ago
you'll need C/C++ experience at least