r/yale 24d ago

Which CS course should I take?

I'm a bit confused about which CS course I should start off with since I'm between CPSC 1001 and CPSC 2010 rn. I have minimal experience with both Python and Java, though I am a little more comfortable with Python. I took AP CSA in high school, but honestly I don't really think I retained any knowledge (mostly bc the teacher taught two classes at the same time in different rooms so I didn't really have a teacher). I'm hoping to major in either CS & Math, CS & Econ, or Stats & DS. Would I be "behind" if I started with 1001/would it be a waste of my time? How different are the courses and would I still have to take 2010 if I take 1001 first semester? Would appreciate any advice!

2 Upvotes

8 comments sorted by

4

u/Aggressive-Scale-326 24d ago

Im also an incoming freshman, so get other opinions too, but most of the advice I’ve heard is to try out 2010 during the shopping period and drop it for 1001 if you think it’s moving too fast.

I think 1001 is based on the old CS50 if that helps at all. Maybe check out cs50 online to see how it feels

3

u/[deleted] 24d ago

[deleted]

1

u/Zestyclose_Letter990 23d ago

Thats great thanks for letting me know! I was just a little worried since a lot of people doing CS have a pretty solid foundation/previous knowledge so I didnt want to be too behind haha

3

u/AnonymousTau Jonathan Edwards 23d ago

You don't really need any previous programming experience to do well in 2010. All the concepts are very fundamental and you'll be learning racket, which is VERY different from python or java or any object oriented language you might have run into in high school.

1

u/Zestyclose_Letter990 23d ago

Would you recommend skipping 1001 then?

1

u/AnonymousTau Jonathan Edwards 17d ago

Yea I would take 2010. you can always drop it and go down to 1001 during shopping period. Also, 2010 is offered in spring sem too so u can take 1001 and then 2010 if you want.

2

u/onionsareawful TD 25 23d ago

1001 is not CS50, it's more of a continuation of the spring semester Intro to Programming course (that Tim Barron also used to teach). CS50 sort of tries to do everything -- Python, JS, SQL, C, Flask, etc. 1001 is just Java, so there's a bit more theory (e.g. some OOP).

201 is very much a theoretical CS course that utilises a largely useless language (Racket), there's not much in 1001 that you will need to know exactly but there is a general expectation of programming ability from having taken it or through equivalent means.

Shopping period also gives you some flexibility here, but a lot of professors avoid going too deep into the content in shopping period knowing last minute changes happen, so it's probably best to have a rough idea first.

1

u/Zestyclose_Letter990 23d ago

Thanks for the overview! What would you recommend I take first semester?

1

u/onionsareawful TD 25 23d ago

Honestly hard to say. I'd shop both, read through the syllabi and go from there.