How are the intro classes because I’ve heard they are hard and are called weed-out classes.
Will the classes get more and more difficult as the years go on or are they pretty smooth transitions?
Overall just give me your experience.
CS difficulty I have found to be relatively smooth. I think its considered a weed-out because you will learn pretty quickly if CS isn’t for you or if you fall behind by not doing work you will have an incredibly hard time catching up as CS builds on itself especially in intro classes.
This of course also depends on your school, but overall if you like logic/math and you keep up with the work you shouldn’t struggle too much in the intro.
It was a million years ago, but I found that my first couple of CS classes were very interesting - almost fun. As I got further into my CS program, the classes seemed to get progressively more difficult and tedious, to the point that I sometimes questioned whether I should have majored in CS. I survived the program, though.
Our “weed out” class (I don’t really believe schools design classes to weed people out) was Data Structures. I think something like 40 started, and 15 finished.
I think there’s variation between schools as to what the most difficult classes will be, but I agree with PengsPhils about the intro classes. For some people at my school, intro CS is the hardest class they’ll take, and it will cause them to switch majors. For others, it’s relatively smooth and not terribly challenging, even without a CS background.
I find that a major in computer science is as hard as you want to make it after the initial weed out classes. Many of the classes are project based and, of course, you and your groups will be picking the projects. This semester I had 3 group projects with of my friends in 3 different classes. I didn’t know how to code iOS apps, but decided to do an iOS app for one of the classes. 2 weeks before the iOS app was due, I started (the teacher was a dick and didn’t tell us it was due so soon, I thought I had 5 more weeks). SO, I stayed at home every day for 10 hrs a day coding on my couch. I got it done. The projects in the other classes fell by the way-side and we pretty much bullshitted them. My point is, we could have picked easy projects and cruised by the entire semester - but, I wanted to learn something so I would have that coding language in my arsenal. It will pay off later when a recruiter knows I have that skill set. But, if you don’t do projects you enjoy, it will carry over in your enthusiasm when speaking with recruiters.
Workload wise, CS courses with programming assignments or projects do tend to take more time than most other courses. Other courses in this category tend to be anything with a lab, anything with a big term project, art studio, and performing art courses.
But the intro courses should tell you whether you like CS enough to continue on as a CS major.