Computer Science Programs: How to Differentiate

@AustenNut, I agree that looking at a course like Algorithms provides many useful insights about a CS program.

Since UMD is being used as an example in this thread, let’s take a look at their algorithms course vs a similarly named course at another school that’s not perceived to have a particularly strong CS program (I am looking at the course catalog of a specific school but don’t want to name it for obvious reasons). Let’s call that school “ABC”.

First: the course at ABC requires a lower level CS and a Math course as prerequisites. It doesn’t appear either of these can be skipped via AP credit or by testing out, so a student will likely not be able to take the algorithms course until at least sophomore year. On the other hand, UMD’s prereq statement is:

Prerequisites: Each student is expected to know the basic concepts of programming (e.g. loops, pointers, recursion), discrete mathematics (proof by induction, sets), simple data structures (lists, stacks, queues, trees), and calculus (logarithms, differentiation, integration).

So no specific course is required - if you’re up for it, you can take the algos course in your first semester if you like. Why is this relevant? Because it allows advanced students to accelerate their progress and take graduate level classes

Second: that prereq CS course at ABC is described as “A second course in programming for students majoring in computer science.”. UMD does not require CS majors to take a programming course - it simply assumes incoming students already know how to program. They could take a lower level programming course if they wish, but they don’t have to. Why is this distinction important? It indicates a higher strength of cohort, which may be important for those seeking a certain academic peer quality.

Third: I won’t go into detail here because you have to understand CS to appreciate this, but the course goes into a lot more depth and theory at UMD vs ABC. One line from the UMD course syllabus caught my attention: “Part of your grade will be based not only on correctness, but also on the simplicity, clarity, and elegance of your solutions.”. Why is this important? It emphasizes understanding the foundational concepts and being able to articulate them in your solutions vs just being able to memorize certain algorithmic implementations. Does this matter? It depends on what you’re looking to get out of your education.

6 Likes

How does one find the “placement office”? And is this something you did as a parent or you suggested that your student do?

Or are you the student? I lose track sometimes.

Me either. It’s a non-factor for CS.

1 Like

I am the parent.
A lot of these resources are available online.
Sometimes I look them up, and sometimes the kids look them up to check how some school places kids.
Here is an example that I looked at closely for placement data:

Here is data for CMU:

Data for Rutgers was less granular, and so on.
When we went to visit Penn State, I went to the career center physically to ask them whether they had a list of where their kids placed for internships and full time offers – they did not.
It is hit and miss.

You can google university name and first destinations or career outcomes.

If you have good granular data, you can see what percentage of the class is getting placed at what salary bands – e.g. 75-100, 100-150, 150-200 etc.

Since I knew the younger kid was also CS inclined, when my older one was at an internship we had extensive conversations on which schools he was seeing the interns come from, and what they thought about their own schools – that particular company had 1500 interns in one location – so it was a good sample.
As an example, he thought (with evidence – looking at the membership of that discord channel) 300 of the 1500 were from UCB. I was stunned.

1 Like

Thanks!

1 Like

I would also look at the faculty and see what they’re researching and publishing. CMU puts tags on bios. I’m pretty sure they publish some type of guide.

1 Like

In fact writing about what amongst the faculty research appealed to you is a good way to show DI. My son wrote that he particularly liked a particular prof ‘s work and the director of the program offered to have my son meet that prof. During admission time. And indeed he worked in that area (at a different school) after joining undergrad, with that prof’s post doc advisor. If you show genuine interest, it sort of works.

1 Like

I may have missed a piece of the conversation, but wrote where/to whom?

My son wrote in his application to the Turing program that he liked the work of a certain prof on probabilistically checkable proofs. The director of the Turing program hand scribbled a note saying that if my son came to the admitted student’s event , he’ll have my son meet the prof. Incidentally the director was Tarjan’s student at Princeton and the other prof did a post doc at Princeton with another prof that my son directly worked with one semester on some other theory area. Small world. Writing about people’s research you like can be fruitful in admissions — provided it comes off as authentic.

And generally reading research produced at a department tells you whether you want to apply there are not.

2 Likes

@MMRose Even a simple median income comparison could be useful even if granular data is not available.

The primary filter we used is to list target employers and check if each school is a target school for that employer, and how many they specifically hired from each school and from the majors we were thinking of applying.

Almost all programs publicly show outcomes data and you can find them if you search enough.

1 Like

Seems like that can be gotten at College Scorecard.

2 Likes

You need to go one by one. For CS the top 30 list is on Reddit somewhere, and I put that link on CC at some point. People didn’t believe those numbers.

I think that is a great resource. Specific to CS though, the data can sometimes be at odds with the career sites, mainly because of what goes into the comp calculation. For instance, the Berkeley EECS median income on the scorecard is $203k (N=400+) but on the First Destination Survey the base salary #s are around $132k (which is similar to the $124k reported by CMU in the pdf lined above).

The college scorecard also doesn’t show changes in outcomes over time which can be gleaned from the career reports. I believe the data snapshot is also different with career reports showing salary on graduation whereas the scorecard shows data after 4 years.

2 Likes

The College Scorecard data comes from aggregated IRS data 1-4 years after graduation. Perhaps some of the higher compensation listed in College Scorecard comes from the vesting of ISO / NQSO / RSU after a year that graduates may not have included in base pay numbers when surveyed less than a year after graduation.

2 Likes

I think you nailed the likely reason.

It needs to be interpreted in context though, else it can be misleading. There is a strong regionality factor for most schools; and also a favored group of employers in many cases. Depending on the industry those employers are in and/or their location, median pay will vary widely.

Our HS offers a possible 4 year CS track, with DSA being the second year. Is that unusual?

1 Like

It is unusual. My kid did DSA in 10th grade, but it is not normal – maybe half a dozen kids out of 140 are on this track at our school. You need to get done with AP CS A in 9th grade. There is no track per se. The school is just offering you whatever coursework you are ready for.

An academically elite high school may offer courses effectively equivalent in content to the discontinued AP CS AB (which included more advanced material than AP CS A) and more advanced courses than that which may cover material ordinarily covered in frosh/soph level CS courses in college. However, this is unlikely to be the norm in most high schools.

1 Like

Yes, that is what he did. I didn’t think anything of it other than there are fewer than a handful of kids that do the full track.

He did comment that CS kids at a JHU visit were surprised at what he was doing at school but also just assumed what he was doing was pretty standard.