21 ms·
When I went to college, having already done full-time software work and countless hours of programming in my spare time, I went to a departmental advisor confid
by smcf 4y ago
When I went to college, having already done full-time software work and countless hours of programming in my spare time, I went to a departmental advisor confidently requesting to test out of the introductory CS classes aimed at first-time programmers. I nearly got laughed out of the room. I pushed the department on this, but it was clear: they simply did not do this. Everyone takes intro to CS. Everyone.
It sucks, but there are people out there no smarter than you yet more powerful, and sometimes they impose a speed limit.
If you get the opportunity though, I'd still suggest doing what the author did. No harm in learning something twice, particularly from two different perspectives.
- _8j50 4y agoThere is harm. Is anything more valuable to a human than time?
- bnralt 4y agoAfter learning programming and CS on my own, I thought I'd go back and pick up on areas I missed by taking some courses at a university (I already had a degree). It was a fairly highly ranked university for CS (in the top 20), but the whole thing was honestly a waste of time and money and I was shocked by how little I learned. I did test out of some classes, though they only allowed it for a handful of classes. And you needed to be able to get a higher score than students who had just finished the class, while doing so with much less material (students going through the class get told specifically what's on the test and are given materials accordingly; people trying to test out aren't given either). It was also surprising that on the Computer Science II test they had a large amount of the score based on memorizing default Java methods. Because I was doing this strictly for educational purposes, I got really interested in how much students were retaining between semesters. It seemed to be very little, and there was little that they needed to retain. Most would remember big O, but no one remembered little O, big theta, Big omega, little omega despite the time they were required to memorize it. As I mentioned, CSII was very Java focused where students had to memorize specifics of default methods and Java inheritance edge cases, but after the class was over that information was almost all forgotten. You might have a class where you do a few weeks of stack based programming in a toy language, but it's not enough to actually do anything with and, again, is wiped from the students mind as soon as they finish their finals. All this was driven home even more when I tried to discuss topics with colleagues who had CS degrees. They retained a very small amount of the things they studied in college, with the vast majority was met by "Oh yeah...I think we studied that? Isn't that the thing where [insert some vague broken memory]." The whole thing felt mostly like a waste of time in order to justify four years of teaching. Of course, someone who never studied programming or CS would get _something_ out of it, but even there it seemed to be in the most inefficient way possible.
- jimmaswell 4y agoI don't think anybody is expected to have perfect recall of all those small details, but it will all come back easily when you need it and go back to skim over the material to refresh your memory.
- soheil 4y agoI think the bigger point in this story is not that there will be times in life where you're confronted by authority to stop you from going over the speed limit, but that for every one of those cases there are countless other scenarios where you are the authority yet still think there is a speed limit.
- yesdocs 4y agoSome of the greatest coaches of all time start every season by going over the basic’s like ‘How to tie your shoe’. Drop your ego at the door.
- thayne 4y agoI had a similar experience. They said I could test out of it if I took every test and did every homework assignment. And that is why I didn't get a minor in CS. Fortunately, at the time they didn't strictly enforce course prerequisites so I was able to take a few higher level CS courses, but for 300 level classes you needed a signature from a CS advisor, which I couldn't get.
- BuyMyBitcoins 4y agoI wonder how much of this is due to formal curriculum standards and accreditation. It seems like the only permitted method of skipping a course is having had taken an AP course and scoring high enough on the exam. I’m guessing standardized education prevents the kind of judgment calls that would allow a department to let a knowledgeable student skip classes they don’t need to be in.
- aidenn0 4y agoI had a 5 on each of the AP physics exams and still had to take freshman physics. The school had a policy that you could not test out of the core courses in your major (I was a physics major; had I been a different major, I could have at least gotten placement, if not credit.
- snerbles 4y agoIt can get even more ridiculous as a transfer student. I had to re-take two physics courses at a California State University school that would have otherwise transferred from a junior college due to minor catalog year changes. Ironically the JC physics courses both had labs (the usual stuff in Electricity & Magnetism, and a whole bunch of optics and slit diffraction fun in Modern Physics), while only the E&M lab remained at the four-year university. The Optics/Modern Physics prof from my retake also taught astronomy, and was still harboring a minor grudge against Neil deGrasse Tyson from some shared research work in the '80s. Also couldn't test out of or otherwise apply transfer credits to freshman biology, and the subject matter was at about the same level as what I experienced in 7th-grade science at a rural public school. Intro to CSCI was unavoidable, as my previous programming coursework was coded under MIS. The cherry on top was the professor pulling me aside after the first midterm, telling me "you could teach this, since you can't test out I'm just giving you an A for the whole course". Despite this I still attended his rambling lectures, and found that he did actually manage to tie all of his tangents together rather like a call stack in human form. On top of all of that, the transfer coursework that actually applied toward the degree that did surprise me were my technical training credits from the Community College of the Air Force. Ten units under law enforcement and field work actually took care of general education elective requirements - "Fundamentals of Ground Combat" was rather amusing to see on the graduation transcript.
- xahrepap 4y agoUgh. I was told by the administration that I couldn’t test out of my intro to programming class in college. Then I had several professors ask me why I hadn’t tested out. I’ve wondered if the professors didn’t know or if the admins just didn’t believe me I would’ve been able to. (And this was with a passing AP test score from high school) I feel like Accreditation is to blame. It’s such a racket.
- CrazyStat 4y agoI was told I couldn't test out of calculus (university didn't recognize IB calc), but course prerequisites were easy to get around so I just started registering for higher level math classes. My junior year I went to my advisor and he happily waived the calc requirements.
- swyx 4y agoi am unfamiliar with the accreditation racket, but on the face of it if Berklee lets you test out of 2 years of music theory, surely you can test out of computer science. I know I tested out of 2 years of math. its probably a more boring answer like university bureaucrats refusing to budge because they just didnt feel like it, which is a rather more tractable problem (in the large; individual students are powerless of course and i have been there too) than the accreditation system. we need university entrepreneurs to disrupt lazy universities who arent serving their customers well. sadly lambda school has left a black taste on all trying to do this. but i have hopes that freecodecamp will do it the "right" way - patiently.
- oceanplexian 4y agoI spent my childhood learning classical violin and it’s a completely parallel education system that’s unaffiliated with public education and goes back centuries (With freelance teachers, dedicated schools, Church run programs, and so on) so I’m not surprised it’s possible to test out. The same thing doesn’t happen with computer science.. i.e we don’t send young children to CS tutors 2-3 times a week and make them practice on a daily basis. Perhaps society has yet to master creating virtuoso programmers in the way it has spent hundreds of years perfecting the education of young musicians.
- iratewizard 4y agoThe best option is not to go. I had also done full time programming for clients from age 15 on. 5 years after that I got opportunities to lead small projects. 10 more years after that and I was made VP of an engineering department. I've worked a lot with fresh graduates from "good" schools with good GPAs. I've always been thoroughly unimpressed by what they know and what they think is important for the job.
- eBombzor 4y agoYou sound like someone who thinks they're better than everyone else.
- adamisom 4y agoMaybe they are. Better at programming and leading projects, that is.
- gwbrooks 4y agoAcross virtually any measurable trait or collection of traits with a reasonably normal distribution, about half of the people will come out better than average. Iratewizard may or may not be better than everyone else; but he/she is almost certainly better than average at a lot of things. We all are.
- iratewizard 4y agoYour skill at a job doesn't equate to your value as a person. A job is just a way I and most others contribute back to the world. It's in everyone's best interest if there aren't unnecessary barriers to that contribution. For instance, universities' poor curriculums and the way they predatorily pretend to be the gatekeepers of "prestigious" jobs.
- kevincox 4y agoThis is basically what I did. The only complication were "quizes" which were just completion marks but at random times. So I would skip 4-5 classes after each quiz then come to classes and so personal programming in the back until the next quiz landed.
- gravypod 4y ago> I went to a departmental advisor confidently requesting to test out of the introductory CS classes aimed at first-time programmers. I nearly got laughed out of the room. I pushed the department on this, but it was clear: they simply did not do this. Everyone takes intro to CS. Everyone. I tested out of the maximum number of courses for my degree. It's insane. This is why I have such a low opinion of structured education. I hope to be someone's Kimo. I had my own who pushed me to build good software, not be lazy, and a lot of fundamentals on simplicity.
- ALittleLight 4y agoWhen I was in college I needed to take two classes, one of which was a prerequisite for the other, within semester to graduate on time. The CS advisors adamantly refused to add me to higher level class because I was missing the prerequisite class. Furthermore, the classes were taught at the same time to prevent people from taking them in the same semester, for some reason. I talked to the more friendly advisors in the Philosophy department, who also had the ability to add and drop students from classes, and got them to add me to both classes I needed. I persuaded them not to worry about the overlap. I completed the semester by attending the higher level class except for exam days (I had to get a special dispensation to take one final early because their final exams were scheduled at the same time). My point with this anecdote is that sometimes more powerful people try to impose a speed limit and sometimes you can get around them.
- Tyr42 4y agoI think the scheduling both at the same time might just be an "optimal" solution if you already know that people can't take them at the same time. That frees up other time slots for courses people taking either one might take.
- drekipus 4y agoThis happened to me twice. I'm actually endlessly annoyed at the whole college system being structured like this.
- bruce511 4y agoSo I get that college in the US can be expensive, hence the rush, but for me, one of the main benefits of university was time. My CS class very quickly divided into "those who could already program" and "first time programmers". (testing out was not a "thing" then - at least I never heard of anyone doing it for any class.) Interestingly it was more classification than groups. I spent time helping friends who were stuck, but I also spent a lot of time with other advanced students, in the lab, pushing each other. The assignments were trivially simply, so we just spent time making them more interesting. Because the course work was done quickly, we had a lot of time to go the extra mile. Time we wouldn't get later in life. The important things though, the theory, stuck with me, and even the early classes were valuable. Intro to programming only lasted a few months, then there was a lot more theory, and we could meld that into our code a lot more. I went into college knowing how to code. I came out knowing how to program, and there's a big difference. If you are in college today, funding aside, I'd say - don't be in such a rush to finish. Fill your spare time by sucking in riches, seek out every nugget, help others, be challenged, see the time as an opportunity, not a class to simply pass.
- jonas21 4y agoI tested out of multivariable calculus in college and to this day, it is one of my biggest regrets. My peers who took the course have an intuitive understanding of the material that I never developed. Sometimes there's a difference between learning on your own and working through the material with others.
- drhodes 4y agoThe first part of 18.02x (Multivariable Calculus) is open at the moment, not for certificate, but the autograder works. The second part starts next month https://www.edx.org/course/multivariable-calculus-1-vectors-and-derivatives https://www.edx.org/course/multivariable-calculus-1-vectors-... https://www.edx.org/course/multivariable-calculus-2-surfaces-and-integrals https://www.edx.org/course/multivariable-calculus-2-surfaces...
- the__alchemist 4y agoThere are loads of information available on this. For example, Khan Academy has a very nice multivar glass, done by Grant Sanderson (3Blue1Brown). Why are you limited by what happened (presumably) years ago?
- R0b0t1 4y agoThe lack of homework, I think. It's not a natural thing to do. Apart from an explicitly pedagogical environment I have found the best thing to suggest people is to try to work their learning into a project. For math this can be hard unless you also have relevant engineering experience to make something with your math you are learning.
- jacobolus 4y agoIntroductory multivariable calculus courses are seldom amazing and often mediocre. If you want to work through this material yourself, you may enjoy Hubbard & Hubbard’s book, https://matrixeditions.com/5thUnifiedApproach.html https://matrixeditions.com/5thUnifiedApproach.html
- 4y ago
- dietrichepp 4y agoI started by talking to advisors and professors in the CS department, and they agreed that I should test out of intro programming classes. The dean was a cruel man named Warren Harrison who accused me of trying to "game the system" and told me that they don't tolerate people like me here. I shared the story later--other people had similarly negative experiences with the guy.
- hardwaregeek 4y agoI'm sympathetic to having to take courses on material you already know, but I do think there is some justification to making everybody take an intro CS course. Specifically if it's a course that is about teaching the ways of thinking about programming, such as abstraction, composition, state, rather than a rote course on how to write code, then it provides students with a foundation that is rarely seen in AP courses or self-study. It can be an opportunity for a professor to provide their views and experiences on programming. It can also be a chance to talk about other essential, but rarely discussed topics such as ethics, the qualities of a good programmer, programmer culture, etc. Of course an intro course that is this well thought out is rather rare, in which case experienced people should by all means skip the rote nonsense.
- lupire 4y agoWhy don't advanced courses also pcbet that, if it's important at all?
- squeaky-clean 4y agoI was on the competitive programming team at my college. I was able to join on one of the more advanced teams pretty early, my other teammates were college seniors while I was a freshman. I actually was able to get our 2x weekly meetings to count as course credits for basic classes and the professors who ran the group vouched for me to skip some of the pre-requisites for higher levels classes. (e.g. I took Algorithms II while in the same semester the competitive team meetings counted as Algorithms I). Then my family moved, I wanted to transfer schools to keep living with my parents while attending school. The new school wouldn't accept my "free" credits. So in my third year of college I had to take intro to computers, intro to programming, etc. I did that for one semester, hated it, then managed to find a job writing Python. I still haven't graduated, heh...
- jghn 4y agoI had the opposite problem. When I was a freshman, if you took AP CS you were allowed to self choose out of CS1. And I did. It was a terrible decision for me, in retrospect. It set me down a bad path. I was a very bad student. I could keep up with the software stuff in HS but that was about it. I shifted to college where everything was in C and pointers and I was struggling to wrap my mind around them at the time. And oh by the way, I was a freshman in college, with a million other new things going on in my life. I very much get the desire to place out of CS1 or whatever. My experience was that the overall college experience was the jam. A low level class here or there isn't going to change your life.
- dangarbri3 4y agoCounter story, when I was a senior I found I missed a freshman requirement. The teacher saw me in the class, I was fine with having the blow off class but the teacher recognized me as a CS student and said I shouldn't be there since I was a senior. Had me schedule and take the final for the class, I passed, and I was able to skip it for the semester. Doesn't hurt to ask either.
- TedDoesntTalk 4y agoThe difference is that you still paid for the class. The university wants the money.
- njarboe 4y agoI believe at most 4 year universities, in the US at least, you pay by the semester or quarter and not on the number of classes you take. So the university won't generally make more money if you test out.
- TedDoesntTalk 4y agoThey will make more money if you do NOT test out because you have to pay for the credits, not pay by the semester.
- miguelrochefort 4y agoIn contrast, Western Governors University allows students to test out of any course. For example, I completed my CS degree in 3 months: https://miguelrochefort.com/blog/cs-degree/ https://miguelrochefort.com/blog/cs-degree/
- devwastaken 4y agoAny publicly funded uni that does not allow testing out of every class should be blacklisted. They intentionally prevent it due to quote "costs". They depend on the tuition so admins can buy lake homes. That's straight out of the words from someone whom handles it.
- sircastor 4y agoI think the one course requirement I got waived based on my experience was an internship requirement. Everything else I had to take. I don’t regret missing out on the early courses as they provided a lot of surprisingly useful instruction. A lot of the “why”s that I’d take. For granted.
- ekianjo 4y ago> It sucks, but there are people out there no smarter than you yet more powerful, and sometimes they impose a speed limit. College's point was never about learning anything for a while now, it's a credentials machine and the machine only works in one way: the one that extracts the most value out of students, the longest.
- taneq 4y agoCollege’s point is to prove that you can learn a couple of dozen knowledge sets in six months each, to a testably adequate level, and also stick with something for three years (a reasonable guess at how long a technical employee takes to pay off the investment of hiring them.)
- ekianjo 4y ago> you can learn a couple of dozen knowledge sets in six months each You mean shallowly enough just to pass a few tests that can be easily hacked by accessing the previous year's? You can definitely fake it until you get the paper, I've seen that so many times.
- taneq 4y agoThat's not hacking or faking it, any more than shipping a couple of products using the some pointers from stackoverflow. If you show you're actually able to stick with a thing and finish it to a sufficient level of quality, that's kind of the point. Developing a deep understanding of esoteric topics can be fun and intellectually satisfying but is usually a tiny part of most careers, even the fun and satisfying ones.
- cobertos 4y agoI had this too. I had worked the system a bit to wait until my final semester of college to actually take the intro CS courses (I had one of two possible prereqs to the second course so just started there). I asked to test out and the department head said no. I had almost an entire CS degree and still had to take the easiest course. We made a compromise that if I take the midterm and exam with all the other students, I can pass the class. I got a 100% on both and spent like, 1 hour learning Octave and C for each exam.
- teucris 4y agoWhen I started college, I thought I could fly through the intro CS courses. Within the first week the professor had completely reset my understanding of computer science, rebuilding it from the ground up using purely functional concepts. I’m incredibly grateful I could not test out of that class. I would have done so in a heartbeat and missed out on the most important lessons I’d need for my career.
- _the_inflator 4y agoSame here. I came from the demo scene and was disgusted by the thought of having to sit along total beginners, because hey, I had demos ranked in the charts. CS is a totally different beast and I am glad about the humble experiences around CS. I might not totally agree with all the educators tell you, especially around OOP, however especially the mathematics around CS was impressive and very helpful.
- vidarh 4y agoOne of of the TA's when I did CS was a member of the Crusaders [1]. We had a lot of interesting discussions of the difference between demo-style coding and CS... [1] https://demozoo.org/groups/12/ https://demozoo.org/groups/12/
- Jensson 4y agoBut as long as you know the math it is easy to self learn the other parts of computer science. I just studied physics and math in college and self learned the rest and learned algorithms, compilers, distributed systems etc on my own and have worked on those at Google and never had a time where someone knew something they learned in CS that I didn't know. It was the opposite, since when I self learned I went through every CS topic you can take I often knew a lot of CS things that the CS grads didn't know since they were limited in how many credits they could take. I know many who took a similar route as me, but I've never met anyone who self learned math to a reasonable level. And since math is a very small part of a CS degree you could learn all of it in 1-2 semesters, so the optimal way to learn computer science would be to take 1-2 semesters of college math and spend the rest self learning. I bet you'd get a better understanding that way in much less time than it takes to go through a CS degree.
- atoav 4y agoAs someone who teaches in university I can tell you by experience that the worst students are those who think they already know what you are going to tell them. The thing is: it is hard to tell them apart quickly from those who actually already know, without having them take some test. And even if you have them take the test, you cannot be sure they miss some fundamental core concept that will be crucial to understand later. I myself had to go through introductions more than once that I thought will not offer me anything new, but going through the basics once in a while with a better understanding can be of incredible value
- jstummbillig 4y ago> And even if you have them take the test, you cannot be sure they miss some fundamental core concept that will be crucial to understand later. That seems like a bad reason to err on the side of unconditional speed limits. Opportunity cost is real.
- atoav 4y agoIn practise your university will not provide you with the time/resources to do extras like these. On top of that as an educator you have a real responsibility not to send someone on a hail mary without fundamentals, which might ultimately drive them out of university because it will not get easier after that. This is a real risk. Another aspect: What so you think how many students will try to skip classes if word gets around it is actually possible to do so? How many of those will cheat to do so? And bow many of those who made it through will be able to face the next exam without cheating?
- bschne 4y agoI sympathize with this and have definitely been horribly wrong about basics before, but it‘s also crazy how many teachers don‘t manage to set up courses and asssignments such that they really force you to understand the basics.
- atoav 4y agoThis is sadly true. I have suffered under this as a student myself, so I try to not forgot how it felt and constantly check my material for unexplained aspects, that I just assume blindly.
- jchw 4y agoI was only in college for a brief stint, but I ran into this problem as well when I went to college. Although I hadn't been in the industry yet, I was a hobbyist for a long enough time for the intro to CS at my college to be simply pointless. After a couple weeks, I was able to convince my professor that I should be able to test out, and despite the fact that there was no procedure, I was able to just take the final exam, pass, and move up to the next course. That next course also seemed pretty basic, but I hit a brick wall, because I didn't have the required math credits to get into the next course up if I tested out of that one. And testing out of a math class, while certainly doable, was not as enticing as a prospect :) The truth is, while it's reasonable for an intro to CS course to be kind of basic, I think it was a good sign that either college, or at least the college I was going to for computer science, was not a good option at that point in my life. Thankfully, circumstance would knock me into the industry instead in short order. (Now I'm interested in college, but not for computer science.)
- swiftcoder 4y agoOn my first day in university the intro CS professor started his slide deck with "this is what a keyboard looks like", so I walked out of there, into the department office, demanded to see the chair, talked my way out of the first year courses, and demanded to take all of the required 2nd year courses in parallel that first semester. Not sure if the department chair was bemused, or just wanted to drop me in at the deep end, but he agreed to it, and I got out of there with a double-major undergrad and a masters in 5 years... Where there's a will there's usually a way, but you need to either know how to manipulate the powers that be, or have enough confidence to bypass them.
- quickthrower2 4y agoIf they don’t another option is to build a startup, or start on your phd research while ducking out of the the first year classes.