r/WPI 13d ago

Freshman Question Does this matter

I’m enrolled for cs1101 as a data science major instead of cs1004 which is intro to programming for non majors and the one I am in is just intro to program design. Does it matter if I’m not a cs major and should I get this switched or not really?

2 Upvotes

10 comments sorted by

9

u/mpahrens 13d ago edited 13d ago

We're using Kotlin (a Java like language but with a bit better syntax and standard library for functional programming)

1101 is intended for folks with no prior programming experience, but it covers enough to prepare you better for 2102 and 2223 providing data structure driven design, functional programming basics, and recursion which may be a little more lightweight or not covered in 1004. As a DS student, you'll likely be taking those courses after.

You could do 1004 instead if you want python experience, many students do. Athough it's pretty full this A-term and you might find the transition to 2102 and 2223 more of a jump if you are new to programming. Teaching yourself python later, after learning a few languages like Kotlin and Java, is fairly straightforward.

Edit: typos

3

u/luckycharmer23 13d ago

It doesn't matter in terms of which one you take to fulfill the one CS course for course requirements, but which one you signed up for highly depends on your prior experience level with programming, and if you really need a thorough introduction because you will use some CS in DS, but it also depends on what you’re interested in concentrating your DS electives in, for example, taking mostly AI/CS courses, taking mostly Business courses, or mostly Math courses.

If you took AP Computer Science in high school or have prior experience with Java, Python, C, or C++, I recommend starting in CS 1101 (which in the past focused entirely on Dr. Racket but it's not used much outside of the course with the exception of Foundations). If not, or you have minimal experience learning Python, JavaScript or Scratch I recommend doing CS 1004.

Either way, then proceed to take CS 2119 in D-Term, if you end up taking CS 1004 or CS 2102 in B or D-Term if you took CS 1101.

Hope this was helpful!

1

u/Legitimate-Key-6862 13d ago

Yeah thanks this is definitely helpful, I have zero prior experience with programming so I might switch. Do you think it’s possible for me to be able to figure out the class work on my own or is it definitely too much for someone starting from scratch?

2

u/luckycharmer23 13d ago edited 13d ago

It's definitely possible. Every CS professor does that course differently though, but I had Gillian Smith my freshman year (I think she's teaching it this year in D-Term), and she was very helpful because the way she ran it was entirely project-based/collaborative, done mostly in-class.

Though she teaches primarily in Javascript (which is very similar to Python, just slightly different syntax but more visual and very easy to pick up on). Either way, you do eventually learn Python when you take ML (CS 4342/CS 539).

When I did my undergrad in DS, I found the biggest learning curves to be Java (CS 2119), and Algorithms (CS 2223), but it's definitely doable through Office Hours and looking up sample code with comments in it, as examples.

3

u/Legitimate-Key-6862 13d ago

Alright tysm! My professor is Micheal engling, searched him up on rate my prof and the ratings are overwhelming good so I’m gonna stick it out and try to catch up outside of class 👍

2

u/Unique-Machine5602 13d ago

Python definitely isn't a difficult language to start with. Can't really comment on what is better for your major though.

The WPL also has a free introductory class if you care to get a jump start on learning it as well. I saw a few Clark students who took the course there to get a little headstart with their education. It's 6 1hr classes once a week with a potential follow up course set and it's entire free. No book required.

They even had a 12yo learning it with no coding experience and he was able to keep up.

2

u/jeffpardy_ alumni 13d ago

Do they still use racket in 1101?

1

u/Legitimate-Key-6862 12d ago

Nope we’re using kotlin

1

u/Yoyo4444- 2026 SWE 12d ago

Poor racket :(

Good times

1

u/_ChristAlmighty_ 6d ago

many ds majors take 1101