Yeah, exactly. There are tons of schools outside of this that still shape kids into productive members of society, even if non-elite. Places like University of New Haven (acceptance rate 94%, founded 1920), Central Washington University (88%, 1891), Western Washington University (96%, 1886), Stetson University in Florida... The list goes on. The vast of US college students attend these decent and non-selective schools.
When I went to Western in early 00s, the CS department's theory seemed to be to allow anyone to attempt to join, and then just ruthlessly fail people in the first year.
Between Ada, Scheme, C, and C++, class sizes shrunk fast.
IMHO this is more fair than making the department hard to get into. Let everyone have a go at it.
> the CS department's theory seemed to be to allow anyone to attempt to join, and then just ruthlessly fail people in the first year.
That’s quite typical in other places of the world as well. In Italy is just like that for most stem programs; admission is granted to everybody, but the 1st year is just brutal and boring. A lot of people drop.
The upside is that you don’t have that stress on admission. The downside is that some good people lacking grit just drop after 1-2 years (or just take ages to get their degrees) because such classes look pointless but very hard to them - and they’re mostly right.
Note: we don’t usually grade on a curve in Italy. But 80% of the class failing the first time is not unheard of (you don’t get your failing grades recorded or re-pay for retaking a class, either).
> Between Ada, Scheme, C, and C++, class sizes shrunk fast.
Sounds legitimately fun. I wish more CS depts kept a tasteful blend of Haskell/C/Lisp instead of forcefeeding you a vile mix of "using std; C++03" and overly-OOP Java.
It is! We did Scheme (the media scheme distribution), C, Java, Python and then implemented Scheme in Scheme. The theory was that students need to learn the science of algorithmic thinking before worrying about dirty machine representation and limited resource engineering problems. The downside was listening to the incessant complaints from the other sciences students "I just want to take an intro CS class that can teach me what I need to know to succeed at being a script kiddy". Well sorry, our department teaches computer science, not how to script R and how to read DNA sequencer strings in Python.
It was. After that series of courses most classes had students complete assignments in any language of their choosing, with the exception of obvious ones like the Java OO class or the C based networking class which was a direct successor to the initial C based class on *nix programming.
Related: Implementing networking stuff using raw sockets is fun!
I ended up with C, Ada, C++, Scheme, Java, C#, and PHP on my resume by the time I graduated.
"College admission rates are important" is an arbitrary thing society developed, which people are increasingly realizing is largely counterproductive and unrelated to anything meaningful.
Getting into a highly selective school mostly just means the student fit one of a handful of profiles at age 18 which the admissions process looked for, most of which have little to do with the students actual abilities or aptitudes. But thanks to nepotism, network effects and the cultural belief in those schools representing "the elite", there is a significant self-fulfilling prophecy.
Overall, society would probably be better if we all admitted it's a farce, and focused more on what people accomplish in college and after, rather than giving such power to the admissions staff at a handful of universities.
> 1. It can look like a cash grab to take a semester or two of tuition from traditionally middle performing students before failing them out.
Plenty of students who failed out of CS moved over to Management Information Science, the building was right next door so it was a short walk.
But seriously, everyone should be allowed to try. Western giving me a chance dramatically changed my life for the better, and based on emails I've gotten from customers for products I've worked on, its helped me change other people's lives for the better as well.
Well at the time 2 different profs taught Scheme, one of the profs thought Scheme was so obvious that it didn't need to be explained in class. There weren't any real lessons on Scheme, the only textbook for the class was a (good) book on discrete mathematics, and we were expected to pick up functional programming on our own.
He honestly did a disservice to my learning of FP and probably set me back a good 4 or 5 years. He did a great job of filtering out students from the department though!
So after I got a horrible grade in his class I retook with the other professor, who taught the class (which was labeled as discrete math / logic class) as an extension of the textbook, and accordingly I did pretty good, but I didn't really learn anything about functional programming!
As an aside, that series of 2 classes had some amazing proofs. Proving addition on integers was an absolutely wonderful experience.
The data structures class was hard, we had a ton of material thrown at us really rapidly. I was taking the other fail out class mentioned above at the same time. When the quarter ended the department advisor asked me why I did that (because no one advised me not to...)
The C programming course, I think that hurt a lot of students. I had a good time with it, but we had to implement a shell and for many students, I think that would've been their 5th programming class ever.
Oh also that is when we had to start using source control.
One cool thing about Western is that quite a few of the professors came in from industry, so practices like "source control is part of your grade" were around really early on (again, this was 2004 or so I think).
Also tiny class sizes, and regular office hours. Professors would regularly be online chatting with students late at night the day before assignments were due. When I was at Western, only the first 2 intro courses had TAs doing any teaching, everything after that was a class of 20-30 and a professor up front.
Such high acceptance rates are a red flag. What are the first and second year failure rates? Taking in everyone means nothing if you then kick half out, essentially turning first year into an extended application process.
I think having an extended application process is the point. It selects for people who are good at university, rather than people who were good at high school.