To: ####### Subject: Re: CS Attrition Study - A request from Andrea McKenzie (fwd) Date: Fri, 28 Jul 2000 18:47:27 -0400 From: Robin Lee Powell BTW, you may find it useful to have a copy of my exam report to verify/supplement some of what I say in here. Let me know what I need to do to give you permission to get at it, or I can just send a copy in with the consent from. Also, I very much hope that you won't take any angry or rude comments within personally. I'm writing for a much wider audience than just you (I'm going to be posting this on my web page). Consider this e-mail to be directed at the math faculty as a whole. Finally, _PLEASE_ keep me informed as to any results of this project. >INSTRUCTIONS: PLEASE ANSWER EACH QUESTION AS FULLY AS POSSIBLE. FEEL FREE TO USE >ANECDOTES OR EXAMPLES FROM YOUR OWN EXPERIENCE. > >PLEASE DON’T ANSWER QUESTIONS THAT AREN’T APPLICABLE TO YOU. REMEMBER THAT YOU ^^ ^^ You have smart quotes turned on in M$ Word, apparently. I very strongly suggest you turn them off. >ARE FREE TO _NOT_ ANSWER ANY QUESTIONS THAT YOU FIND STRESSFUL. > >PROGRAM INFORMATION > >When did you first enter the Faculty of Math? (month and year) September, 1994. >Co-op or regular? Co-op. >If you’re still at UW, what program are you currently registered in? General B. Math. One course left, which I plan to do by correspondence eventually. >If you’ve graduated, what program did you graduate from? > >If you were registered in CS, but left, what was your last term in CS? (eg 1B, >2A, etc.) 4A. >BACKGROUND AND EXPECTATIONS > >1. How did you get interested in computers? It's actually really hard for me to remember a time I _wasn't_ interested in computers, and completely impossible to remember a time I wasn't interested in complex electronic and mechanical devices. My first real interest in computers came at Appleby College, in grade 4. We had to take a computer class on, IIRC, Apple IIe machines. The course was on Logo, basically. I absolutely loved it. Some of the most fun I've ever had was had tweaking my program, Web, which I wrote while the professor was busy rambling on about whatever it was that I had already figured out that day. :) It was also really nice to be _SO_ good at something; I had never felt really competent at something before. I was, without question, the best programmer in the class. Granted, this was 4th grade, but it's the experiences we have when we're young that shape us the most. >2. Why did you choose computer science? For as long as I, or anyone else in my life, can remember, I wanted to be 'a scientist', by which I basically meant that I wanted to understand things no-one else did. I had discovered in the mean time that I didn't much enjoy 'science' as it was taught in school. In retrospect, I think that's about the mind-numbing peurility of the 'experiments' we had to do. A lot of the issue, actually, is one that caused problems for me in theoretical mathematics as well: repeating experiments to demonstrate results that have been known for centuries bores me. Just tell me what the reselt was so we can move on to something new, OK? I think that's a lot of what give me joy with computers: so much of it is new. With other branches of science, you have to study for years before you can do anything original and useful. That, and that I'm really good at it. Perhaps not compared to a lot of people at U(W), but certainly in general. I think if I had known then what I know now about theoretical physics, I might have considered that, but then, I want to make money too. :) >3. What were your expectations of computer science when you entered the program? Wow. Umm, something _completely_ different from what I actually experienced, but it's hard to even remember what that was. I expected a lot of choice. I had been constantly annoyed with the lack of choice in High School. I wanted to take some psych courses, some philosophy courses, some theoretical physics courses, maybe some latin, etc, etc. I expected to continue to be one of the best. I suppose I'm hardly unique in that, but when I got accepted at U(W), it was an amazing validation of myself. I had been so used to being one of the best in high school, it never occured to me that that would change. I want to admit that this expectation basically caused me to almost fail out my first term. In high school, I could skip class and still ace the tests. Ooops. :) I expected to be given enough written information with my courses to be able to skip classes. Any number of them. This was almost universally not the case, and I am disgusted by that to this day. The overall quality of the textual materials given with my courses was atrocious. Many of the 'course notes' were just copies of slides which didn't contain enough information because examples were filled in by the professor in real time. I expected teachers that had some idea of how to teach, rather than just being forced to to keep (or gain) tenure. I expected the vast majority of my 'real' courses (i.e. the ones actually leading to my degree per se) to be courses involving computers. Let me repeat that, it bears emphasis: I expected the vast majority of my degree-garnering courses _TO_ _ACTUALLY_ _BE_ _COMPUTER_ _SCIENCE_ _COURSES_. Do I sound bitter? Good. I certainly expected all of my _challenging_ courses to be CS courses, because of course I would get to pick all the other ones, right? I mean, this is a CS degree, why the heck would they dictate what courses I take outside of CS? Apart from simple "You must have 10 non-CS courses" kind of guidelines. >4. Did your CS courses fulfill your expectations? Why or why not? Ahem. Some of my _CS_ courses fulfilled my expectations, but question three isn't just asking about my CS courses, it sounds like it's asking about my experience in the CS program overall. So that's how I'm going to answer this one too. In general, I guess I just expected it to be less like high school. I expected some training in computer languages, I suppose. I expected not to be forced to use 'teaching languages' like Modula-3. I suppose I even expected to get to pick what languages I used in assignments. I should note here that my POV on computer languages has changed drastically since I left U(W). Why? Because I went and studied it on my own. I've had more interesting and enjoyable experiences studying CS since I left U(W) then I ever had while I was there, with a few notable exceptions. For example, my AI course. My AI course was one of... ummm... two CS courses that met my pre-U(W) expectations, the other being Operating Systems. The were actually about computing instead of math. I did amazingly at both of them. This may not be be reflected in my marks, but let me tell you about my AI course and you'll see what I mean. I got, I think, a 75%-ish in AI. I loved that course. I never went to class. I mean that literally. Not once. Ever. The reason? I was working full-time in Waterloo at the time. I went to the tests, and handed in the assignments by e-mail. It was very enjoyabel, and I learned a lot. The textbook _actually_had_all_the_information_. The final assigment was worth some stupid amount of my mark ( >20%, IIRC). I did it basically singlehandedly. Yes, technically I was in a group with two other students, but I promise you that their contribution to the assignment was miniscule. _THAT_ is what I expected a CS course to be like: interesting, with a complete course textbook, and assignments that involved _much_ more creativity than coding. I expected a _whole_ lot more creativity and a _whole_ lot less quantity to be required in my course assignments. I expected to be marked on how creatively I solved problems, not how much code I could bang out in the confines of guidelines so strict that it's a wonder that it was even possible to check for plagirism: I'm surprised all our assignments weren't byte identical. I didn't expect _so_many_people_. I thought I had been admitted into _the_best_ school in the country for CS, and I thought that meant that the classes would be nice and small because it was so exclusive. I didn't expect so much math. I won't bother repeating that for emphasis, because text e-mail doesn't give me enough lattitude to express that sufficiently. Just imagine me screaming it over and over again while trying not to burst into tears, and you'll get the idea. My leaving CS was due solely to one course: CS 370. I still have to bite back tears when talking about that course. I knew right away that I was in serious trouble when they started talking about calculus again. You have to understand, I _just_barely_ scraped by the calculus and linear algebra courses. My grades will bear this out: the _best_ I got in the core math courses was a 60%, and they just went down term after term. The last of them was a 50%, which I'm sure was fudged up. So, once I thought I was done with calculus, I forgot all of it. Or at least as much as I could. Occasionally in my reading, I come across something that looks like advanced math, and no matter how much it interests me, I can't make myself validate the equations myself, my fear of math is that strong to this day. By the time I took CS 370, I hadn't done any calculus in over a year, IIRC. Not only did CS 370 include a lot of math, it was quite possibly the worst taught course I ever had the mispleasure of taking. The general consensus among the students that I talked to was that the course simply wasn't teaching the things that we were being tested on. The written material we were given was just a total joke, barely even worth buying. The assigments _had_nothing_to_do_ with the type of material on the tests. Worse still, we were being required to think about _actual_numbers_, which none of our other math courses had required. I was fortunate, I had a friend who was in the course with me, but also had an engineering degree (he went into CS just to get a job). He had already done this kind of math before, so it was easy for him. When he came out of the exam, he was _livid_. This is an extremely mild mannered guy. I have never seen him so angry. The reasons were that the exam had had _nothing_ to do with what was taught in the course, let alone the assignments, and that basically he felt that either you already had learned the material somewhere else, or you were dead. I studied with him. I studied really, really hard. I had never studied that hard for anything in my entire life. I'd say that close to 75% of my studying time that term was for that course. I'm sure you can guess what that did to the rest of my grades (I had a full course load). I got a 35%. A fucking _thirty_five_ percent. In the course overall. Now, I'll grant you, my marks in the rest of the course were atrocious (I think I got a 12% in the midterm), but I _worked_ my ass off on that course. I also didn't go to class very much. Why? I couldn't understand a word of it. Both of the teachers (I tried both) were pathetic beyond description, and besides, I had simply reached my limit. The math was just too hard. Period. If the course was taught exactly the way it was taught to me, I could re-take it a dozen times, and I'd still fail. I'm not stupid. Or at least, not _that_ stupid. I can't begin to describe the frustration involved in being pushed up against a wall like that when you _know_ you're good enough for the degree you're trying to get. >5. How did you find the workload in your CS courses? Insane. 5x every other course, on average, easily. And it wasn't problem solving either, really, it was just banging out code. Lots and lots of code. I had to, more than once, make choices between 'Do I do this CS assignment, or the assignments for these other 3 courses due the same week?'. >6. Did the workload change across terms? It got worse until 3B/4A, when I actually encountered courses that involved creativity and were vaguely interesting (Databases, Operating Systems, AI). Of course, it's not like I ever took one of the Big Three (Realtime, Compilers, Graphics). >7. How did the workload in your CS courses compare to your Math >courses, especially in first and/or second year? The workload on my CS courses was much higher, in terms of sheer amount of stuff I had to do. Which was a problem, because since I could barely understand my math courses, I had to devote a lot of time to them, which meant I couldn't finish my CS assignments. I had to make way too many decisions as to which I was going to let slip. >8. What did you hope to do with a CS degree? Well, at first I wanted to be a programmer, but then after actual job experience I realized I'd rather be a sysadmin. >9. How do you think the CS program helped you? Well, thanks to co-op I actually _am_ a sysadmin, making $70K US in California. :) >10. How do you think the CS program did NOT help you? Unless some sweeping, retroactive changes are made, I will never have a CS degree from U(W). That knowledge, that I just wasn't good enough, will always be there, along with the bitterness that it wasn't really my fault. I was so proud to be accepted by U(W). It hurts me to the core to be thinking that my life would have been much easier had I just gone to U(T) instead. >11. If you could change the CS program, how would you? If I could wave a magic wand? Oh, that's easy. Make it a seperate faculty. I'm sure you can work out the implacations on your own, but in particular, an absolute minimum of required mathematics. Note that I'm perfectly aware that there's a strong crossover between CS and Math, so a joint degree ("Computational Mathematics", or something) makes perfect sense to me. It could have all the stuff that's currently part of the CS degree that doesn't actually involve computers, or at least most of it (clearly, for example, big-O notation is useful). This isn't just for the CS people. I met a woman once in the intro CS class (can't remember what it's called), the last one that was required for non-CS mathies. When I talked to her a bit, I found out that she was trying to pass, _for_the_third_time_. Once she got to talking about it, it sounded like she was almost in tears from frustration at having to take a course that was so incredibly hard for her. A course that was so easy for me that I found sitting in that class to be almost unbearably boring. That's just not fair. To either group. It needs to stop. >IF YOU ARE OR WERE A CO-OP STUDENT, PLEASE ANSWER THIS SET OF QUESTIONS. >IF YOU HAVE NOT BEEN A CO-OP STUDENT, PLEASE SKIP THIS SECTION AND CONTINUE WITH >THE NEXT SECTION. > >12. Why did you choose co-op? Money. :) >13. What type of co-op placements did you expect to be able to get? I didn't really have any expectations. >14. Did the placements you got meet your expectations? Why or why not? Oh, easily, but that's because I taught myself C before I ever came to Waterloo. Talking to those that hadn't was really depressing, because they had _such_ a hard time getting placements. >15. Did your co-op placements influence your expectations of computer science? It made my think that maybe you should at least have the _option_ of taking CS courses that actually taught you something that would allow you to get a placement _and_ counted as CS degree courses. Sheesh. >IF YOU WERE REGISTERED IN CS AND LEFT, PLEASE ANSWER THIS SET OF QUESTIONS. >IF YOU ARE STILL REGISTERED IN CS OR HAVE GRADUATED FROM IT, PLEASE SKIP THIS >SECTION AND CONTINUE WITH THE NEXT SECTION. > >16. What factors influenced your decision to leave CS? CS 370. More generally, the math. End of list. >17. What could the Faculty have done to make you stay? See above. It's not that complicated. >18. If you left because of low marks, do you feel your marks reflected your >progress? What could the Faculty have done to help you? Let me put it this way: average all of my CS courses after 1B. Average all of my math courses after 1B. Compare. Better yet, define courses with more math than CS (such as CS 370) as 'math' courses, and compare the new averages. I think that answers your question. Given the current structure of the CS regime, the only thing the faculty could have done would be to let me not take CS 370 and still get my degree. Byron Weber Becker told me there was exactly 0 chance of that happening, and since he's been wonderful to me over the years as an advisor (and is an excellent teacher), I didn't bother petitioning. >IF YOU ARE CURRENTLY REGISTERED IN CS OR HAVE GRADUATED FROM CS, PLEASE ANSWER >THIS SET OF QUESTIONS. >IF YOU ARE NOT CURRENTLY REGISTERED IN CS, PLEASE SKIP THIS SECTION AND CONTINUE >WITH THE NEXT SECTION. > >20. What factors influenced your decision to stay in CS? > >21. Why do you think you are successful in CS? > >22. Do you think the Faculty needs to change the CS program? Why or why not? Oh, sorry, I wasn't supposed to answer this section. :) >23. If you feel changes are necessary, what changes would you suggest? > >QUESTIONS FOR ALL STUDENTS TO ANSWER > >24. Describe some of the people who acted as role models for you in Math and >Computer Science when you were growing up. Ummm... My friend Jordan Baker. My first computer teacher in 4th grade. That's pretty much it. There weren't really any famous computing figures when I was growing up. :) >25. Describe the people who act as role models for you in Math and CS today (if >any). Ian Goldberg. Bruce Scheier. Alfred Menezes (whom I had the opportunity to take a course on Cryptography with at Waterloo; he's a _GREAT_ teacher). The QNX team as a whole. I'm sure there are others, but that'll do for now. >26. How would you describe a typical computer science student? Asian, male. :) Actually, that's just the typical U(W) computer science student. I have no idea how I would describe a typical CS student overall, because U(W) is so different from CS everywhere else (as I understand it). But it would probably have very little to do with scholarly pursuits and be mostly things like "likes anime", "likes chinese food", that sort of thing. >27. Do you fit your description? Why or why not? Umm, pretty much, yeah. >28. Do you think being male or female makes a difference to a student’s >experience in CS? Huge. The gender imbalance is nuts, and male CS geeks aren't exactly known for being low sex drive types. To each other, at least; our press has been rather different. Then again, Revenge Of The Nerds got it right. :) I can't imagine that it'd be easy, on a social level, to be a female in CS unless one was very sexually unselective. On an academic level, I have no idea. >29. If there are issues, comments or questions that haven’t been covered, but >that you feel are important, please address them here. Use as much space as you >like. -- http://www.csclub.uwaterloo.ca/~rlpowell/ BTW, I'm male, honest. ... stripped of our uniqueness as human beings by Darwin, exposed to our own inadequacies by Freud, ... Power -- "the ability to bring about our desires" -- is all that we have left. --- Michael Korda, _Power!_