I'm sure there were two girls on my degree course
But it may have been one. My recollection is rather hazy and beer-clouded, and I spend most of my time socialising at the local goth club instead of the union.
You choose your degree when you’re still a child, even though at 16 or 17 you may not feel like one. When I look back at some of my own teenage decisions, I shudder, and you will too when you think back to your younger years. But perhaps, armed with the advice below, you can avoid the common pitfalls and stumbling blocks on the …
But it may have been one. My recollection is rather hazy and beer-clouded, and I spend most of my time socialising at the local goth club instead of the union.
There were (comparatively) lots on mine - i.e. maybe 10% of the total.
Given that I was a stereotypical "into computers" student (and more the bad stereotypes than the good) it benefited me as much as the icon suggests.
(Glasgow, Software Engineering, 2:2)
I spend most of my time socialising at the local goth club instead of the union
Same here. The Slimelight, Electric Ballroom and the Wag in London, early to mid 1990s. Made up for the college I was at (SSEES) having a student union that lacked a bar.
>> The Slimelight, Electric Ballroom and the Wag in London, early to mid 1990s...
Ha! I started going to those in about '96 (though substitute Gossips for the Wag). It's just possible we met...
Fail icon because, well that's what happened to my Chem Eng. degree at IC due to a bit too much gothing. I ended up at uni in Southampton, frequenting "The Dungeon" and squeaking through with a 2:2 in compsci...
Ha, and me! What is it with goths and IT? In fact my biggest achievement at Leeds uni (93-96) while doing comp sci was running the goth society, rather than my lazy Desmond degree result. Which came about due to putting too much focus on goth related leisure activities, and drawing pictures instead of studying. Still, I ended up as a 3d artist in games after that and was one of the few artists who could actually communicate with the coders and write bits of code etc, so it worked out OK in the end.
RE The maths: It was quite a shock coming to uni with my A in a-level maths thinking I was good at it, and then being whacked hard in the brain with discrete maths. Never quite got the hang of it. Do they still teach that?
SSEES had a bar when I was there ('90-'93 - Social Science degree and proud of it) though it was only open 12-2 and 5-7. Though IIRC it did close for a while after the manager (a student) allegedly ran off with the takings and some of the stock. Don't remember any IT courses, but Jonathan Ross was registered as a SSEES student and actually took most (all?) of his classes at the LSE (that's where he says his degree was from) so I presume you did something similar.
Discrete modulo mathematics (if that's what you mean, limited integer domains that wrap around and their mathematical properties) was absent from my coure at Southampton (97-00). I've picked it up recently from my crypto studies though. It is really weird.
> The Slimelight, Electric Ballroom and the Wag in London, early to mid 1990s.
Ah that takes me back. And the next day, you'd have the "Slimelight Fever" which was a curious ailment, caused by breathing in the noxious fumes comprising of the various substances that clubbers happened to be smoking.
>> caused by breathing in the noxious fumes comprising of the various substances that clubbers happened to be smoking.
Probably mostly clove cigarettes :)
There was also slimelight ooze, a horrible mixture of sweat and whatever it was they'd painted to floor with. There would be red muck halfway up your boots by morning...
SSEES had a bar when I was there
Do you mean the central University of London Union (which had a very large bar) or the tatty building behind Senate House that was home to the SSEES union? If it's the latter then I never saw a bar there, but there again I only took a look once and never went back as the whole building seemed deserted.
Don't remember any IT courses, but Jonathan Ross was registered as a SSEES student and actually took most (all?) of his classes at the LSE (that's where he says his degree was from) so I presume you did something similar.
I was studying Finnish at SSEES with Hannele Branch, wife of Michael Branch who was the head of the college at the time. Had a great bunch of UCL students in the same class for my second year, as they were doing a combined Scandinavian languages course.
The Slimelight floor was covered in brick dust, which combined with the chemicals from when it had been a cable making factory probably explains the vileness. This was particularly bad on the upstairs dance floor, which had allegedly contained a pit used as a dip tank that was then filled in with rubble and concreted over. The place is still running as a goth and industrial club, although the top floor was closed and a new one opened on the ground floor. They've even managed to tart it up a bit and added bars. Your still allowed to take your own booze in and the toilets remain unisex, which must freak out first timers!
Most of the girls at my University were studying Management. In the management lectures, which sometimes ran just before the computing lectures, the ratio of girls to boys was like 10:3. You don’t have to be a rocket scientist to figure out why the girls go into Management. Managers get paid more for simply bossing people about.
True managers are experts in their field and have the skills to hire the right people. Furthermore they also have the ability to steer the project into the right direction using their experience and skill.
Most of the managers in IT firms today are PowerPoint presentation experts. Why would some girl want to be a stressed out beer belly nerd. PowerPoint is far more easier and rewarding in the pay packet.
At University I learned C/C++ and now can also program Java which is similar but also easier. Nowadays Java is taught at University which leaves a student with a big problem if he has to work with hardware at the low level and code in C/C++.
@ Chris Wareham
Yes, the 'tatty building' on Russell Square - there was a small bar in the basement. And the room next door with the pool table was always full of life - at least until 7pm when the bar shut and we moved on to SOAS round the corner. Shame it's all gone now - they've moved to some steel'n'glass complex up near UCL.
It's Friday, hence a message about beer. Time to go home and drink some.
@David, I was at ECS between 97-01, CompEng though, none of this "science" lark.... IIRC, last year they taught C++ (before switching to Java!), and still hacking away...
There was one on mine. She was a muslim girl and she got pulled from the course when her parents "found out" that she had been talking to non-muslim boys.
U of Manitoba and U of Toronto, probably 20% of the students were female back in the 1970s and 80s.
I have heard that the number of females has been dropping.
Where once IT was a highly valued esoteric subject, now executives see our division as something their teenage kid could do.
Our relative pay is declining. Our work is being outsourced to the third world.
Refer to my other post about considering engineering or business degrees with some electives in CS. Or consider going to into sales or sales support after graduation.
Dominic is right about focusing on theory, theory doesn't go obsolete.
Don't take a CS degree program that doesn't include math, statistics, logic, C and C++.
In CS, C and C++ are essential.
If you do engineering or business and can't do C as part of your degree, pick it up in an evening course after you graduate (not necessarily right away after you graduate, within 2-3 years).
If you do CS and end up in business based-IT, pick up some business courses in the evening after you graduate (not necessarily right away after you graduate, within 10 years).
"I spend most of my time socializing at the local goth club instead of the union"
Exactly. A lack of women in your class room and lab is irrelevant on a campus crawling with lonely girls.
Go to social events the faculty of nursing puts on. Or go to some guest speaker presentations the literature department puts on. Join a film club. Or sign up for some co-ed sports.
Roughly 2/3 of any North American university these days is female. It doesn't matter what your major or faculty is, you can meet plenty of girls at social events.
Discrete maths, yes they do still teach it. I was the opposite to you, I was shit at maths in school, but got an A in each of my discrete maths courses in comp sci. Oh the joys of CafeOBJ....
I remember being a bit miffed at the time that we got the C and C++ courses as our basic intro to programming and the very next intake year were going to be taught Java, the way of the future.
Looking back I'm pretty happy the way it turned out!
But so many CS degrees *are* pretty much exactly this.
It's an elephant in the room I have noticed, which has led directly to universities pumping out armies of mediocre programmers who are jacks of all trades but masters of none, rather than proper "Computer Scientists" that can solve real problems. For the record, I don't think I know anyone with a "Software Engineering" degree but have lost count of the "Computer Science" graduates who do that work daily. Where's the distinction in the workplace when it really matters?
The amount of times I've seen Top 10, well regarded universities who have CS graduates that gravitate towards software development after graduation because it's all they know and all they feel comfortable with [due to conditioning and 3-4 years of coursework revolving purely around programming] is truly staggering. It's like they're just not aware or don't have the motivation to take advantage of or explore such a wide open field. The same thing is now slowly happening with the InfoSec arena as well.
The state of academic CS in this country is, by and large, not that great. Flame and rebut away.
"And that is why you fail"
Science is not about solving real-world industrial problems. That's what engineering is for. That's why the demand is there for engineers in computing, not just scientists.
Yes, it's right to observe that courses that claim to be Computer Science but then teach mostly programming are not going to turn out great graduates as (a) they lied and (b) they're still not teaching engineering principles. At best they're a college course in a language that may well be on its way out. And yes, the Scientific staff may be resistant to teaching something they're not skilled in - but that's a sign to expand their remit, not barricade themselves in. Sadly though, this status quo will persist as long as the scientists control the departments and the industry still has an appetite for hiring mediocre programmers, giving them a pile of UML layouts to code, then kicking them out the instant they mention the word 'opportunities' to HR.
There are plenty of overlaps between science and engineering, but generally the focus is looking outward not inward. Science might teach the principles of the microchip, but (a) if you're going to work on hardware you should be on a different course, and (b) it barely touches on programming even if you get into assembly. And being able to demonstrate a language is 'Turing complete' doesn't remotely affect your programming of one as established as C++, as it's hardly your call anymore. Now where the theory of languages does help is in going from one to another, or for developing a scripting system of your own, but if you haven't knocked out code in at least three significantly different languages before you even get to Uni then what were you playing at?
Whereas engineering will take you more through breaking down problems, why you need a software lifecycle, when to apply it and give you some ideas about when to break away from it and make your own headway. If you think you learned all you need to know about that on your Computer Science degree, think again. It's like saying yes, I learned all about thermodynamics and motion, I can design an engine for you. Again, it's all very well to learn of strongly typed or provable languages for safety and security, but practically you're unlikely to get to choose the language so you need to know how to program robustly and defensively. And you might have learned about classes, compartmentalising and modularity. But you didn't neccessarily learn when and where it's appropriate, or how to apply it to a language that doesn't support it natively. And then there's that hushed phrase whispered occasionally by the weird guy without a heavy-metal reference anywhere about his clothing, the 'user experience'...
But that's how it's been for decades. And we still have no recognised programming qualifications.
Trouble is, in maybe 75% of North America engineering is a profession and you need an engineering degree to do it. That would include programming control systems, industrial, automotive, aeronautic and medical.
But OS design and compiler design you can do with a CS degree.
Thing is, how many compiles are need to be written in a year? Not many.
So there's gaming, and I don't know much about that. How often does a new gaming engine need to be created? How many person-hours? I have no idea.
And there are business systems -- analysis (business subjects definitely help), programming, supervision. During most of my working IT career, which goes back 35 years, there was tons of work. Now there are a lot of packages that just need customization. Of course someone needs to write those packages.
Really, *pure* CS is really just an academic subject. If you get PhD in CS you can do research into computability and give lectures at a uni. (Lectures in programming, a topic you have no practical experience in.)
A good CompSci degree will cover hardware and software but allow the student to specialize in the area they are more interested in. The University of Edinburgh do a Software Engineering degree; I'd hope that you could switch to/from CompSci so long as you've done the required modules.
And btw, new compilers are still needed and developed these days, especially with a lot of development on DSPs and GPUs. It is a bit of a specialist field, but many of the techniques involved are still very useful to know for almost all developers, for example using parsing and tokenising input.
Even in the 80s we were recommended not to bother with "computer science" O and A-levels - they only seemed to consist of binary arithmetic anyway. Maths/Further Maths is definitely the way to go. The Oxford SMP O-level syllabus was particularly good for this, as it put a lot of stress on matrix operations.
I considered doing Cybernetics at Reading (this was in pre-Kevin Warwick days) as the department had a nice mad-scientist vibe going on (but promised to be too much like hard work - long hours of practicals and open-book exams).
My elder daughter seems set on computer science, though in France. I was very happy to hear that C is still being taught.
Most of my programming was self-taught anyway (since ZX BASIC on the Speccy) with the exception of Fortran 77 at uni (standard for Physics degrees back then). I can still knock out the occasional Excel VBA macro, proving that one can write Fortran in any language...
> proving that one can write Fortran in any language
My 30 year career in IT contains an element of proof for this assertion!
No A-level courses beyond the traditional ones are any use whatsoever as preparation for any HE. English, Maths, Physics, Chemistry, Biology, History, Geography, Modern Languages and that's yer lot, save maybe Music and Art if and only if you want to go on to the same thing at university.
Psychology A-level? Economics? Computer Science? Design technology? All a waste of time as far as HE goes. And anything with the word "studies" in it is fit only for wiping your bum on, at any level.
Hmm, A-level Economics and Gov & Pol haven't done me any harm, but they were in addition to three proper ones.
Cybernetics at Reading in the Prof Fellgett (RIP) days certainly had a nice mad-scientist vibe going on and was indeed harder work than its CompSci. At the time, you could take anything into the exam room that fitted on the desk and wasn't plugged into the mains. The questions were correspondingly tough and you had to be good to get a 2.1, never mind a first. I wonder what they do now.
I did electrical engineering and picked up CS theory and programming with CS evening courses at U of Toronto.
Every language I ever used on the job I learned on my own from the manual. Some I later took a course in (370 Assember and COBOL). The languages I learned at uni, PASCAL, SNOBOL, LISP, C, I never got to work with. (One exception, PL/I. I learned that at school before I worked with it, but then I only worked with it for 12 months.)
Community college students, they learn the languages they'll use on day one after graduation. If languages go out of favour, they need to go back to school for years to learn the new ones, or find a new occupation.
But a university degree should mean you have enough theory to learn a computer language on your own.
I don't know what college you went to but I did Design Tech and Software Development (writing Pascal oddly enough) at Hyde Clarendon and that put me in pretty good stead for a great many future endeavours. Of course that was in the 90s, when A Levels still meant something and were actually hard. So hard that I got an E in both subjects.
The work I turned in for them would get me an A* today. It was good work, but the expectations were that much higher back then.
Be honest, your E grade would not get you an A* today. You were obviously badly advised at school and after 'O' levels you should have gone on to an apprenticeship in brick laying instead. In the early days of computing anyone who could say 'com-pu-ter' could bluff their way into a job because the older management had absolutely no idea what it was all about.
Now, even with such a high opinion of yourself, you'd struggle to get employment.
O levels were phased out in the early 80s - before I was even in senior school - and brick laying is a highly skilled profession that I doubt one in 20 of the people who post here could do to any degree of competence.
If you're going to mock, be smart about it.
What are they teaching kids in schools these days eh?
That means not just learning the syntax of Java or C++, but why languages work the way they do
In other words make sure to lay out a good foundation on which you can continue building. A very solid and valuable advice, even though newcomers may think this to be extremely clichéd (and in a way it is). Another thing I'm missing out on (or maybe I overlooked it): A degree isn't necessarily a "get into the market for free" ticket. I've seen many examples where someone with a high end degree simply knew shit about the basics:
"Why would you want to declare a variable?".
"A trick question eh? Well, you don't have to if you're using C# or avoid adding explicit in VB".
"No, I want to know why you'd want to declare one first?".
Stuff like that always reminds me that you might be better off going for a broad approach. The reason I went for this route is because I'm a systems/network engineer (or administrator?) which means that you'll be doing a lot of different things. From helping people out with simple Word problems right down to setting up a firewall design, that's the kind of diversity I really like.
But to me broader is always better.
That's me. I never finished my degree, but after about a month of being a lab assistant: feeding the printers; I became an admin on the university mainframe...which, I think, I proceeded to crash. I do remember disassembling and reassembling a FEP to pinpoint a hardware problem because I was bored and I knew that the FE wouldn't show up to work on it until the next day.
Of course, I also climbed into the cabinet (a cable raceway) and kept quiet for 3 hours so that I could scare the crap out of the night operator...fortunately they let me out because I couldn't reach the bottom door latch.
"I teach C++ and the course has lectures that include slides headed “Cruel and Unusual Pointers”, “Why the hell did it just do that?”, and “What do these syntax errors really mean?”. Some compilers will even abuse you with “useless code at line N”, and where just declaring a variable can convince you that the compiler is a malicious artificial intelligence." -- Nice. Although, causing the complier to crash can make up for this.
An interesting article. I particularly enjoyed the irony of your talk about second tier universities as your alma-mater is in that tier!
".....I particularly enjoyed the irony of your talk about second tier universities as your alma-mater is in that tier!" Queen Mary's is a bit of strange horse, it used to be one of the top choices for niche studies such as avionics and aeronautical engineering. I had a mate that helped build their supersonic windtunnel and he said they were some of the most interesting engineering people he'd ever met.
Having sifted CVs I can say the worst candidate I ever accepted had studied Comp Sci at the Computing Lab at the Uni of Oxford - absolute maths and physics genius, bulging brains but not a clue how to use them. He could talk you through a dozen different programming language structures and highlight the advantages and disadvantages of each, but strugglerd with do anything practical and productive like coding a website that actually looked good. After a year he left to train as an accountant. He was regularly outperformed by a kid we had that had left school with five GCSEs and a burning interest in how the Web worked.
"but strugglerd with do anything practical and productive like coding a website that actually looked good."
Put those kind of guys into backend development. Get the Web-aware dudes to build the frontend, and voila! Stable backend, good-looking website.
> but strugglerd with do anything practical and productive like coding a website that actually looked good.
Jesus, you asked a Computer Science graduate to design a website?
Isn't that marketing work?
And WTF has it got to do with Computer Science?
I've been successfully working in this field technically for <erm, lots> of years: you would not want to see any web site that I designed.
Apart from that, I pretty much agree. We, here, have interviewed many people for technical posts. They come with all sorts of paper qualifications. When you ask them to perform some very basic algorithmic task, they tend to fall apart.
"strugglerd with do anything practical and productive like coding a website that actually looked good"
You hired a computer scientist to do ARTWORK? And the results were bad? The problem is you.
".... worst candidate I ever accepted had studied Comp Sci at the Computing Lab at the Uni of Oxford - absolute maths and physics genius, bulging brains but not a clue how to use them...strugglerd with do anything practical and productive like coding a website that actually looked good. After a year he left to train as an accountant. He was regularly outperformed by a kid we had that had left school with five GCSEs and a burning interest in how the Web worked...."
What a waste of talent and brain capacity. Now you have turned a genius into an accountant. I wonder what you would have turned Alan Turing himself, into? Given him bad confidence by letting him do absolutely brain dead tasks such as websites. I feel sorry for the Oxford guy. I hope he will get his confidence back some time and start to do interesting work, far away from you. Who wants to do brain dead stuff, with a bad manager?
Genius! Don't think so. Someone with an over-inflated opinion of themselves got shown up as not capable of doing something actually useful. IT has lots of Geniuses like these, and loads of other "non-geniuses" running around after them fixing their super clever but not quite working properly code....
Do they demand maths A-Level? If they do, that's very much a good sign.
Do they demand maths A-Level and not care at all if you did anything labelled "Computing" or similar? Also a good sign.
Picking those subjects at 13 more or less determines what you will be doing for the rest of your life (mostly but not always).
The choice is falls between picking Music/Art or Science subjects, they do seem to be on the same list for some reason. Then starts the social divide at 13 between the arty kids and the geeky science kids.
Well, only if you deliberately choose all arts or all sciences.
Unless someone's holding a gun to your head, presumably there's nothing stopping you choosing three separate sciences, maths, English, and a couple of interesting humanities. History and friends. That's only six I've mentioned specifically, so room for more and it in no way restricts you to one path or the other.
Many of the best programmers (as opposed to computer scientists) I know are music, essay writing arts or (intriguingly) chemistry graduates. Arguably, some of the worst were maths graduates.
This has nothing to do with intelligence or knowledge. Let's face it squarely: at the end of the day a talented programmer can structure and design a reasonable system in his (sadly yes) head while you wait. He then has to spend the next three to six months writing it down. That's a bloody long (and very *precise*) essay/dissertation by anyone's standards. And he has to do that year in, year out, during his programming career.
Programming is craft, not science. It is more akin to carpentry with book authorship than abstract maths.
In Scotland, strictly speaking you don't choose your degree until after the second year of a four year honours course, so you could be 19 or 20. Of course, your choice is limited by what you did in the first two years, and that in turn by what exams you took in school. So, yes, what you decide in school DOES affect your choice of degree - just not as finally as it does in England.
When I got my choices at school as to what I studied, many of the combinations that I'd have liked to do were incompatible due to scheduling. It's wasn't just an arbitrary decision that I couldn't take both English and Computer Studies (as my computer course was known as) there were three streams and I in one of the choices I could choose either English, Computer Studies or Art. There was some sense to it, so the more science related people could choose science related topics, hence my "maths", "science/physics" and "computer studies" selection but I'd have liked to do English and Art but these were excluded.
So around the age of 13, is the time that many of these life long decisions are made.
Picking those subjects at 13 more or less determines what you will be doing for the rest of your life
Bollocks it does. I did the (then typical) mix of arts and sciences at GCSE, followed by arts subjects at VI Form and University. Then I became a computer programmer. The best computer programmers I've ever worked with, apart from one exception, have arts degrees or in one case had left university partway through a medical degree.
As a Chemistry graduate (and PhD) who works in computers, I salute you for that comment about Chemists. My (probably biased) insight into this is that science graduates are often presented with problems such as "we need to go 'here' and we have a bunch of tools, but none are guaranteed to work. Off you go and work out a few plausible routes, plan the costs, expected efficiencies of the synthesis". Also we're told, "just give it a go. You never know, it might work".
Since sometimes nuances such as a tiny fluctuation in temperature/atmospheric humidiy can cause what you want to happen (or something strange), you have to be thinking very outside the box. I had a reaction that was reported to work in DMF & dichloromethane, and apparently with great yield at room temperature. I could not get it to work as well, but heating it in a sealed container in pure water gave me a predicatable route to what I wanted with good quality stuff and not the partial compound I did not want.
it's all about saying "okay, the obvious isn't working" and then trying something a little random to find the problem. It's much more satisfying when that actually works.
Am I the world's best programmer? probably not.
can I find solutions or reasons that something is 'failing' and also clearly comunicate this to non-technical people? Yep
can I get useful tools built and get them work to what people need, as well as being efficient with resources? Yes.
are people happy with what I do? Yes
Those make me useful to my company, and, in my opinion useful for business work.
Indeed, I'm now at the stage of my programming career where I don't go anywhere near code.
I spend every day in Balsamiq, Word and XmlSpy designing applications, screens, APIs and architecture.
The docs I write then get spilt out amongst the the programmers, be they "front end, "back end" or "external" and they do the programming.
Graduated from Brunel University with Comp Sci in 2001.
Did 4 year sandwich degree so I could actually get a job
Took A level Maths, Physics and Music Tech.
Spent 4 years at uni breaking any computer I could find, drinking, clubbing, camping, bowling and living in the 24 hour computer room. Oh and we had lots of block-war water fights
"..at the end of the day a talented programmer can structure and design a reasonable system in his (sadly yes) head while you wait. He then has to spend the next three to six months writing it down. That's a bloody long (and very *precise*) essay/dissertation by anyone's standards. And he has to do that year in, year out, during his programming career."
A fantastic description of programming which had never occurred to me :)