Which comp sci course should I take for my first quarter?

This will be my first quarter of my first year at UCSC, in proposed comp sci major. I have 2 years comp sci/programming experience in high school, but it was mostly in Java. I've written a little bit of python, but not a lot. And no C experience. I know most of the comp sci basics pretty well (got 4 on ap test), but not sure how quickly I could translate it to python for my classes. Do you think I should start CSE 20, 30, or maybe even 12?

PS: How hard is math 19a for someone average at math that didnt do any calc in high school but passed precalc

Posted Jul 17, 2020, 11:01 PM UTC · edited

58
[deleted]•

[deleted]

4
spicey_banana•

Cse 20 should be a good match based in what you described. Also 19a is basically calc 1 so you should be good to go with that too.

1
DynamicDarknessOP•

CS 20 would be the basic class and probably the easiest starting point for me. I'm just worried I'll get bored as it'll probably be the same basics I've learned with a different coat of paint, and might be kinda wasting my ap comp sci exam I passed. Might try to go for cse 30 and self study python a bit... but I'll wait for more opinions.

3
uglyfoliage•

I think with your experience in java, you could just go ahead to cse 30.

I can recommend the professor, Luca, and looking at the website for the class (in the "about the class" section), what you'd be doing in his class sounds more interesting than any programming class I took my first year.

3
DeadFIL2020 - CS/Computational Math•

Imo I don't think you'll get "bored" like you might in a high school class. Your professor will probably have useful insight and tips even if the programming isn't too hard. I've learned more from just listening to what a professor has to say than I have from assignments and exams. Some professors just constantly drop nuggets of useful info, not even always directly related to the class material. I doubt attendence is mandatory so worst case if it is too easy you just have to do some simple programming assignments and get an easy A.

Especially if you don't know much Python they'll probably show you some stuff which you may be able to live without but will make your life easier. I took my intro classes when it was still Java but when I started taking classes that used Python I wished I had taken an intro class in it. Python is very simple to program in but there are tons of features you might overlook that make it super useful. When I first learned about list comprehensions in Python my mind was blown and I wished somebody had shown me that earlier

2
[deleted]•

[removed]

1
[deleted]•

[deleted]

1

The Algol-derived languages used in most intro CS courses are all pretty similar, but there are other programming languages that have a very different style and require different thinking skills. I think CSE 112 introduces some of them.

1
Imperial_SlugTen - 2021 - CS major/Philos major•

I recommend trying to test out of CSE 20 and take CSE 30. Otherwise do CSE 20.

Save CSE 12 for later until you know you need it for a pre-req or can take it with a good teacher after you've taken CSE 30. Assembly is a very difficult starting language to learn so it will far benefit you to have experience in Java and Python and the structures in each of those languages so you can abstract the assembly programming concepts better using the union of your knowledge of Java and Python.

1
aretheworsst•

Im in a similar very boat with my math experience. Do you guys think I should really be taking math 19a or should I go for 11?

1