RPI Computer Science?

I recently got accepted into RPI and I want to major in CS and I would like to know a more about their CS program. How well-rounded is it? Are there multiple focuses that I can delve into? I might even consider a computer systems engineering degree if I want to go toward the software engineering track in CS.

Any help is appreciated! Thanks!

[url=<a href=“http://cs.rpi.edu/old/academics/undergrad/concentration.html%5DHere%5B/url”>http://cs.rpi.edu/old/academics/undergrad/concentration.html]Here[/url] are some of the concentrations (tracks) you can do, but remember that you can select courses to your liking if you don’t see a combination of courses in the tracks listed there.

As long as you complete the core required courses for the degree, all the elective courses are where you’d select concentrations to your liking. There are a few exceptions ie: you can’t just do the 1xxx level courses, there must be a certain amount of 4xxx level courses added in the mix.

@reformedman which school did your son decide on?

He entered as Computer and Systems Engineering but a few days after the first day of his first semester he was intrigued by Computer Science and decided he would dual major (CSE/CS).

He waited till his second semester to take a class called Data Structures and focus all his efforts to do well in it, He’s doing very well in it currently and therefore, one of the rules for declaring CS as a dual major says that you have to get a B or better in Data Structures and he would be approved. He’s waiting for the end of the semester so that he can go ahead and declare it as his dual major.

@reformedman That is great to hear. I have seen your postings on other schools my son applied to as well and was curious where he committed. My son wants to major in civil engineer. He was accepted to RPI. We waiting on Stevens, and Lehigh. RPI is his favorite, just waiting for competing schools merit aid. He earned RPI medal.

As you can see from the curriculum @reformedman posted there are a lot of concentrations - there are also a lot of free electives where you can either add a second major or take whatever classes that interest you. Pretty much anything is available and the courses are very rigorous from my experience - they really teach you how to be a good software engineer. I’d also consider looking at a potential dual with ITWS - that’s what I’m doing and it’s extremely valuable to also have. If you have any specific questions about the curriculum let me know, I’m a current student that’s taken a lot of CS classes for my major.

P.S. It doesn’t matter if you get a software engineering degree that much versus CS. The curriculums are nearly identify at most schools and companies don’t care which you do. I’m getting an IT degree and have gotten software engineering internships with some some big tech companies - major doesn’t necessarily equal career. I know a lot of engineers or biology majors that also got full-time jobs as software engineers that only took one or two CS classes.

Thanks so much! How versatile would you say the CS program is? Are the professors really good, do you get a lot of one-on-one time with them? I think that’s what’s going to really be the deciding factor if I come to RPI, if I can get to know the professors. Also, how small are the classes? @joedoe @reformedman

Every professor has office-hours which is a time during the day (certain days of the week) where you can either make an appointment or to walk in and ask questions or get further explanation. When getting one of these opportunities you should have a series of the questions with particular focus to the area of the problem that you aren’t understanding because they want to get right to the point and there are other students also wanting to get an opportunity to speak with them. Most professors have TA’s (teaching assistants) which are the preferred method of asking a questions. These ta’s are more accessible and can get met with after class or by email. Another method is a special website where you have special access to entering. It is for students of the class and those students can post questions and other students can try to answer and the TA’s and the professor will also add to the answer and students that provide good answers to the questioner can even get extra credit points (for certain classes). All in all RPI wants you to KNOW the subject so there are so many ways of getting your uncertainties answered. Some professors are very famous so they may be a little harder to get an appointment with but most professors are definitely approachable and you can speak with them during office-hours. If you do very well in some professors class, at the end of the year they may offer you a junior ta position like grading tests and pay you a salary. Pretty easy work but they know they can trust you because you aced their class. Other professors may offer you a summer research assistant position which is also great for your resume.

@treepanda In the CS department it starts pretty big and gets really small- CS1 and Data Structures are both the largest courses at RPI. They each have around 100 students, but get split up into sections with 10-15 kids where you do labs and exercises. Each section has three to four undergraduate mentors plus a graduate TA so there’s a lot of personal attention. Professors also sometimes show up to the sections. In regard to the professors for the two intro courses, they’re very accessible. The best way as a freshman to get to know your professors is to ask questions about personal CS projects and to go to office hours. They have slots for grad TAs and professors every weekday all day (like 10AM am to 10pm) plus tutoring. To give perspective, I had Dr.Stewart (the head of the CS department) for CS1 and he still says hi to me when he sees me around campus from just going to office hours as a freshman. All the professors for DS and CS1 are very good - I’ve never really heard anyone complain about professors in CS classes.

Once you move onto later courses after freshman year - they get a lot smaller. FOCs and CompOrg have around 30 kids depending on the time you take them. Courses after that all have less than 30 kids. Sometimes they have 10-15 or less, it depends how popular the course is. RPI offers a lot of niche courses like machine learning engineering, data analytics, image processing, cryptography II, etc. that usually end up with less than 10 kids in them. In terms of versatility, you pretty much have your first two years planned out with core courses and you can pretty much take whatever you want your last two years - CS majors get a ridiculous amount of free electives to explore academic interests. If you’re looking for very small classes in your last two years the STSS and ITWS programs have very small classes (<10 students) and are very applicable for CS majors. It’s also common for students in CS to do a dual with management or CSE (<15 students usually also).

@joedoe do you know why the courses shrink so much? Do they fail students out of CS into other majors?

@MollyMD

I’m not from RPI but I feel like this is pretty true everywhere - nonmajors/minors take intro courses which increase the volume. With required upper-level courses, people often take them in different orders and more spread out with other electives, so that also decreases size. For upper division electives, only a smaller portion of those majors will take the course. People changing majors after the first semester / intro course is probably also a part of it, but not drastically so.

What PengsPhils said above is absolutely true as I’ve been reading many of the good CS colleges websites and the requirements to transfer into, or select as a major. Just to name a few, RPI, Stony Brook, Rowan, U at Albany. Data Structures is the killer course. The one big suggestion I would give to any high school senior is that they invest in data structures over their last summer before college and really get to know iterative and recursive methodolgies to programming in C++. If you can do that you’ll still suffer but atleast you might get more than 6 hours of sleep.
lol

People outside the computer science major may have to take CS1 or Data Structures, which includes cognitive science, ITWS (which take a little more), math, and bioinformatics majors. The courses shrink since there’s not really a point for them to take anything beyond that unless they want a dual with CS. Some people change their majors or fail out, but they don’t represent a large enough group to account for the smaller class sizes.