back to article Girls, beer and C++: How to choose the right Comp-Sci degree for you

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 …

COMMENTS

This topic is closed for new posts.

Page:

      1. WatAWorld

        Re: No you choose your degree at 13

        Same in Canada. Start of second year uni you choose your specialty (age 18 to 20).

        But the choice of high school courses at age 15 will limit whether you can get into first year and what you can pick from at 19 or 20.

        But these days a lot of students here take their time graduating. A lot of false starts, changing majors, going back to take remedial courses in what they didn't take in high school. (Don't have university entrance math or english? You can fix that with a 3 month remedial course.)

    1. Nick Ryan Silver badge

      Re: No you choose your degree at 13

      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.

    2. Anonymous Coward
      Anonymous Coward

      Re: No you choose your degree at 13

      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.

      1. Uncle Slacky Silver badge
        Thumb Up

        Re: No you choose your degree at 13

        The best programmer I ever met started as a 16-year-old school-leaver on a YTS scheme - he's now MD of the company (Careervision - hiya Jase!).

      2. TkH11

        Re: No you choose your degree at 13

        "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."

        In which case, you haven't met many very good programmers then.

    3. Tom_

      Re: No you choose your degree at 13

      The most annoying thing for me at that age was that I had to choose at all. I can't remember exactly, but I think I had to choose ten subjects from about sixteen. I could easily have just done all sixteen and kept my options open and I bet that applies to a not-insignificant number teenagers.

      At A level I did Maths, Physics and Computer Studies. I'm glad I did CS because it included a mix of Pascal programming and the basics of how computers work. It was my first formal introduction memory, bit manipulation two's compiment, fixed and floating point and all that. I think it set a good foundation for further learning at uni and beyond.

      1. TkH11

        Re: No you choose your degree at 13

        "At A level I did Maths, Physics and Computer Studies. I'm glad I did CS because it included a mix of Pascal programming and the basics of how computers work. It was my first formal introduction memory, bit manipulation two's compiment, fixed and floating point and all that. I think it set a good foundation for further learning at uni and beyond."

        I did all of that at A level Computer Science in 1986. Didn't need to do a degree to do that.

  1. Frederic Bloggs
    Linux

    Pascal had a use (for me at least)

    "Algorithms + Data Structures" by Nikki Wirth was probably the most influential book on programming I ever read. It caused me to change from Algol to Pascal (and later avoid Pascal 68/Simula etc) as my high level language. Anything was better than Fortran and (spit) Basic. Mind you I was still writing a load of machine code, assembler and Plasyd at the same time. So when I came across unix and C in 1981 I was ready for the change. I have been writing in C ever since. I have never understood why people think it is so hard to use.

    Caveat: I started computing ten years before you.

    Good article.

    1. Peter Simpson 1
      Thumb Up

      Re: Pascal had a use (for me at least)

      I agree with your evaluation of Pascal being better than FORTRAN or BASIC, but only as a stepping stone to C, which I wish had been an option when I was at university. Pascal always felt limiting, in terms of data types and I/O options, C never does. It took me ten more years (I'm a hardware guy) to start using C and I wish it had been much less.

      _The C Programming Language_ and Steele's _C: A Reference Manual_ are always near to hand. Well written and densly packed with useful nuggets, both of them.

      1. Anonymous Coward
        Anonymous Coward

        Re: Pascal had a use (for me at least)

        I find if you can program one you can program in the other. Pascal, Basic, Delphi, C++, Java, C Sharpe. One uses curly braces the other begin and end. They all have branching, looping (IF, While) statements. All have procedures and functions. Some allow object creation methods. In the ones that don’t you have to implement it crudely yourself. If you have programmed Win32 API you will know what I mean.

        They all have techniques for handling arrays and strings in their own particular way. Some allow a cleaver way of handling errors using Exception and in the ones that don't you have to make use of error flags. Most have libraries to handle collections and sorting. The newer languages allow a decoupled method of programming using delegates and events. In the ones that don't you have to obtain multiple threads from the OS and implement a postbox system using semaphores and thread sleeping.

        Some allow Tempting techniques such as Generics others don't. Some allow Function pointers which allows short elegant code to be written which was vital when computers had a small amount or memory.

        Contrast these languages with something like Smalltalk which is a big paradigm shift. Even if you have programmed in the languages above writing Smalltalk would be quite difficult. Take for instance VHDL which is a parallel language and difficult for a C/Pascal programmer to master. Matlab which is a matrix manipulation language would also pose a challenge to a C++ programmer. SQL which is a declarative language and requires some getting used to.

        A good programmer can code in a variety of languages.

        1. zanshin

          Re: Pascal had a use (for me at least)

          As a learning language, I believe excess focus on Pascal, Delphi and even Java hobble you with respect to what's going on under the covers. That may not seem important to many people - too many in my opinion. But in my experience, the really excellent programmers are the ones that understand at least some of the low-level implementation details of how languages, and indeed computers overall, get done what you ask of them. Languages like Java work hard to hide that from you by design.

          Learning C and C++ force you as a matter of the language basics to learn about things like referencing memory more or less directly via pointers and low-level arrays. Naturally, using these tools can be risky and poor use leads to all manner of awful bugs. Indeed, that C/C++ can permit such horrific bugs is the main reason we have languages like Java, whose core design philosophy is to "protect" the programmer from these things. But by using languages like Pascal and Java as your sole teaching tools for a new programmer, the students don't learn nearly as much about what's actually being done by the resulting program than they would having written in, say, C/C++.

          I believe this deprives them of all manner of useful knowledge they can later bring to bear to debug deeply buried issues or improve application performance. Not because they're going to hack pointers into a Java program, but because they often have a better grasp of things like stack and heap maintenance, why things can go wrong with loading in foreign libraries (vi JNI and the like), and so on.

          The above can be covered of course by courses in assembly or compiler design, but not that many CS students I know take those if they can avoid it when their goal is to get marketable skills, as opposed to pursuing computer science directly. They usually focus on programming classes, which usually focus on higher-level languages used in business.

          Learning algorithms, design patterns and the like is essential, and I hardly think

          1. Danny 14

            Re: Pascal had a use (for me at least)

            Learning both isnt a bad idea. We started on C++ before moving to java (the good old days of making a mouse driver for DOS and programming parallel outputs to control oscilloscopes). I learnt most of my bad habits in C++ purely due to direct memory addressing etal. That was on an electronic engineering degree at UMIST (early 90's) with A levels in maths, physics, business studies and electronics.

            Gave up programming as a pure career as I didnt want to move to the city and stepped into a worse choice of sysadmining (with just as much programming really)

            1. TkH11

              Re: Pascal had a use (for me at least)

              UMIST, early 1990's. Did we meet?

        2. TkH11

          Re: Pascal had a use (for me at least)

          "I find if you can program one you can program in the other. Pascal, Basic, Delphi, C++, Java, C"

          Mostly true, but I did meet someone that had programmed in Cobol, and was trying to program in C.

          Poor guy didn't have a cats chance in hell. He really couldn't hack it.

    2. Suricou Raven

      Re: Pascal had a use (for me at least)

      I know that book. I came across it a few months back. It was actually very useful to me, due to being so outdated now - it covered a lot of tricks for performance optimisation that modern coders simply don't learn because they have no need. Things like the 'trap' matching record at the end of an array in linear search, so you can skip the n<max comparison in a for loop, or the old merge sort algorithm for tape storage that happens to do quite nicely if you want to sort your too-big-for-RAM array without sending heads dancing back and forth across the platter.

  2. Tom Wood

    Ten years...

    this October since I started my CS degree course at Bristol. Now I am in my third job and am very happy with my career; a lot of that is thanks to the degree I did even though I might not have thought it at the time.

    Looking back, uni days were awkward for all sorts of reasons (at that age, you think you're an adult, and in many ways you are, but in many other ways you're not). but I learned a lot and scraped a 1st class MEng degree. Sometimes life at uni was enjoyable, other times quite the opposite; I guess that is par for the course when you're that age.

    The degree and grade itself gets less useful as time goes on, but the things you learned at uni remain as useful as ever. The modules I disliked because they were hard/I couldn't understand them turned out to be some of the most useful, and I guess at a lesser university they'd have skipped them altogether. At the time I thought "there is no way any of this stuff will turn out to be relevant"; I thought all software engineering in the real world revolved around Java, PHP and web apps - but it turns out most of it is driven by C and C++ and people who know how to debug something at both the very lowest level and the very highest are highly in demand and I'm very glad I dragged myself to all those low-level lectures about computer architecture and compiler design.

    So yeah, doing a good degree is hard, but it will pay off. Don't shoot yourself in the foot through laziness.

  3. Gordon 10
    Mushroom

    Alternatively ditch comp sci all together

    And try something like Math's, Physics or Engineeering with a soft minor such as Economics. All "hard" skill degrees which when taken with a reasonable techie internship qualify you almost as well but leave wider job opportunities when the inevitable happens and your job is offshored or you are made redundant.

    Left a Comp Sci course on my first day, and 2 years later did a Physics. Worked in IT roles for 20 years and counting......

    Also you dont have to focus on languages to be a good techie. A techie BA who can actually communicate, influence and say no to the business is worth their weight in gold and should be cherished.

    1. batfastad
      Headmaster

      Re: Alternatively ditch comp sci all together

      "Math's"

      That is all.

      1. b0hem1us
        Alien

        Re: Alternatively ditch comp sci all together

        And physics! Never forget physics, at the end of the day the NAND gates just obey few simple rules of physics. Math is an abstraction layer on top of all that. I studied AeEng (95-2K) and when I minored in CS they told me it was useless for me, already knew most of the stuff... To put it bluntly, economist is a dumb sociologist/antropologist with a very limited view, chemistry is a non-existent science named after alchemy just to accomodate dumb physicist with limited view and CS, well... It is like teaching the English language to lit majors so they can actually write literary works. CS is just a tool that every engineer must know like a back of their hand if they ever wanna get something done in this lifetime. E.g. try solving the continuity equation by hand...

      2. Uncle Slacky Silver badge
        Headmaster

        Re: Alternatively ditch comp sci all together

        It makes sense, in a way, as the apostrophe could be said to replace the letters "ematic"...but it's a somewhat unconventional usage!

    2. David Hicks

      American Spotted

      Minor? Internship?

      Dear god no. University is where you go to study one area of academic interest, and study it in depth. And then you get a graduate job that pays you properly, rather than considering it some sort of honour to slave away for virtually nothing...

      I'll agree that communications skills are vital if you want to get very far.

    3. Androgynous Cupboard Silver badge

      Re: Alternatively ditch comp sci all together

      Got to disagree there. Maths and Engineering are essential skills, but when I hire someone in IT I want them to know IT, not to train them on the job. Ask a maths graduate with no IT experience to design a data structure to solve a problem and it won't happen. They might be able to do it, eventually, but they won't be able to describe it to you. Although sadly I've interviewer a few IT graduates with the same affliction.

      The value of an IT education, like any specialized education, is common point of reference.

    4. Werner McGoole
      Thumb Up

      Re: Alternatively ditch comp sci all together

      With a successful career, largely in software engineering, now behind me (I'm retired) I can say this is actually pretty good advice. I never had a day's formal instruction in any form of programming or comp. sci., but I did do a lot of Physics and Maths.

      Those subjects open a lot of doors if you're any good at them and the skills don't go out of date nearly as quickly as in IT. Given that many of your IT skills could lose their value on a time scale of just a few years, you're going to have to continually learn new stuff throughout a career.

      That sets you no higher than other numerate graduates who can also learn the same new stuff just as fast as you. Except that they have the advantage of another large set of skills that aren't going out of fashion.

      Think about it. A degree is an investment. You'd invest in a house, that would last, not in a car that'd need replacing in a few years.

      1. Tom Wood
        Thumb Down

        Re: Alternatively ditch comp sci all together

        "With a successful career, largely in software engineering, now behind me (I'm retired) I can say this is actually pretty good advice. I never had a day's formal instruction in any form of programming or comp. sci., but I did do a lot of Physics and Maths."

        With the greatest respect, you're either exceptional or your programs were probably lousy.

        I've interviewed and worked with a lot of mathematicians/physicists/electronics engineers who think they can write software. They can, but not well.

        You wouldn't say "I never had a day's formal instruction in any form of surgery...but I know a fair bit of anatomy and biology so I feel qualified to have a go".

      2. TkH11

        Re: Alternatively ditch comp sci all together

        "With a successful career, largely in software engineering, now behind me (I'm retired) I can say this is actually pretty good advice. I never had a day's formal instruction in any form of programming or comp. sci., but I did do a lot of Physics and Maths."

        I am going to agree with that. I studied Computer Science O level and A level and have a degree in Electronic Engineering. All the programming languages I know I have taught myself by picking up a book and doing practical exercises.

        The best people in IT are not those that have been taught, they are the people that teach themselves by being inquisitive, picking up books, doing practical things, working things out for themselves in their spare time.

        One of the first languages I learned was 6502 machine code, typing in hexadecimal op codes into a monitor program (no assembler) to write the op codes into RAM, running the code and looking at the processor registers and working out what just happened. There was a dissembler, what did JMP ($C010) mean?

        What did JMP $FA mean? Gradually, - in the first case - I realised that the PC (program counter) register contents ended up being what was being stored at memory address $C010, (it was an indirect memory jump!) It was by experimenting, observing, that's how I learned machine code.

        it doesn't matter so much what your degree is, the really good people work read around and experiment and learn for themselves.

  4. Anonymous Coward
    FAIL

    Tedium.

    I made the mistake of enrolling on a Computer Studies degree course at LJMU in 1989 having spent the previous few years mixing a love of microcomputer basic/assembler with some formal Pascal (Open Uni). I chose Computer Studies because I loved programming and wasn't (at the time) overly fond of anything that stank of teamwork (that's changed). Imagine my utter horror when the 3 year (plus one year industrial training) course turned out to be 40% programming and 60% business studies and bloody systems analysis! I spent as much time learning about the economics of banana production (seriously) and fucking double entry book-keeping as I did hands on with the university VAX system! As a result I lost all focus and interest by the final year and got a crap degree when I'd have possibly got a 1st if it was pure (ish) coding!

    QED: Be sure that the course you sign up for is what you actually desire.

    1. JulianB

      Re: Tedium.

      Perhaps it's just prejudice, but the word "Studies" in the title of a degree or other academic course makes it seem less worthwhile to me.

    2. Matt Bryant Silver badge
      Go

      Re: Tedium.

      ".....Imagine my utter horror when the 3 year (plus one year industrial training) course turned out to be 40% programming and 60% business studies....." I nearly fell into the same trap, only I had a good bit of advice from a teacher - ask to see the syllabus and then expect them to be able to talk through the content in detail. If they can't tell you at least what's in the first year in detail then back away. If they are unwilling to let you see what the current final years are studying then back away. Saved me from signing up for the wrong uni where the actual course content was not what was being advertised!

      1. Anonymous Coward
        Anonymous Coward

        Re: Tedium.

        Same happened to me, but not so bad. First two years were ok... third year they squeezed all the techie into one module, and put the rest of the course onto business studies. They had me studying personality testing and classification as a tool in hireing practice. I ended up in a breakdown once it became clear I was going to fail all modules except the technology one and left with an epic tantrum.

        Still managed to get a diploma out of it, so it wasn't a total loss.

    3. Anonymous Coward
      Anonymous Coward

      Re: Tedium.

      LJMU? Well, there's you're problem, right there.

    4. Andrew Moore

      Re: Tedium.

      Same thing happened to me. I signed up for a course looking forward to lots of programming only to find I was also required to do Business Studies (yawn) and ancient database techniques. And correcting the guy who was teaching us DBase.

  5. PyLETS
    Boffin

    Useful to teach all of these things

    C, C++, Python, Java or C#, software engineering development methodologies, databases, SQL, maths, data structures, object oriented design, AI, neural networks, operating systems, crypto, forensics, embedded systems, assembler, network routing algorithms, even machine architecture and machine code. Where I work ( clue: a newish University in the Midlands) we teach all of these things and merging our previoius Computing Science and Software Engineering schools strengthened both as well as the range and quality of our courses. Our stats show our graduates to be pretty much all employed. However, there's only room to include so many of these subjects on a 3 year undergraduate course if these are to be studied in any depth, so we can't in practice teach all of these subjects on all of our courses. So the selection of subjects depends upon whether our students want to study electronics or computer science, or games programming, or business IT, or networking and/or security or forensics based courses.

  6. cheveron

    or you could do a degree in meeja

    I did an A-level in comp sci back in the early 1990s. We were using Xenix on a network of 386s and as there was no Pascal compiler installed on the system our tutor reluctantly taught us C. We did our editing in vi. We did a little bit of assembly coding. I remember covering CISC CPU architecture, networks and databases (I think we had an Oracle 5 site license) in a fair amount of detail. With this knowledge of UNIX, a real-world programming language and relational databases I went on to do a degree in journalism.

  7. Peter Gathercole Silver badge

    "This weird new software was Unix"

    Hmm. 1984.

    You were a bit behind me.

    I was introduced to UNIX at Durham University between 1978 and 1981 (V6 and V7 on a PDP11/34e, - and yes, there was one girl on the course in my year), and got a job needing UNIX in 1982. I admit that it was at a college (Newcastle Poly.), but I am still using what I learned, 35 years later, as a techie (not jumped to management, teaching [dallied with this for a year], or horror of horrors recruitment! [dig intended, in a light-hearted way]). Very glad I chose what I did as a career, and I'm one of the few people in my sphere who actually like their work, even after such a long time.

    Strangely, I dug my copy of Lions UNIX V6 commentary out yesterday to check the way that Ancient UNIX did something that IBM, in their wisdom, choose not to document for AIX. Not sure whether it is still relevant, but it was a real nostalgia trip.

    Just hoping there will still be a need for deep UNIX skills for the next 13 years to get me to retirement age. I don't want or intend to retire until I have to!

    1. Sandra Greer

      Re: "This weird new software was Unix"

      I was working at that weird phone company -- actually at AT&T, and Bell Labs sent over a release of it to trial. This had to be around 1977 - 1980. I picked up the trial because nobody else had time to do it. It was a mind altering experience, especially as it was the first time I had tried to learn from nothing but sparse documentation (man pages!) I mostly used the shell, not C.

      I was mostly involved with mainframes, though, and spent the next 25 years or so in a mix of languages. What I learned from my couple of years in Unix was a great help throughout. Now that I am retired, Linux has taken over.

      1. Peter Gathercole Silver badge

        Re: "This weird new software was Unix" @Sandra

        As you might expect, AT&T used UNIX a lot.

        I actually worked for an outreach of AT&T that was doing work on the 5ESS telephone exchange, and not only was UNIX used in various parts of the exchange (the AM ran UNIX/RT on a duplexed 3B20D when I was working with it), but UNIX was also the development environment for all the code.

        In my time, they were also using Amdahl mainframes running R&D UNIX from AT&T Indian Hill as an emulation environment (EE) for the exchange, as believe it or not, the costs of emulating the exchange on a mainframe was less than having a full exchange as a test-bed.

        After I left, they switched to Sun 3 (because the SM used 680x0 processors) and Sun 4 kit for the main working environment. Just before I left, I was playing around with gluing all the systems together with AT&T RFS, which allowed you to do some really neat tricks.

        On the subject of Indian Hill (Chicago), pre-TCP/IP and SMTP, the UUCP hub IHLPA, which used to be a go-to for routing mail to systems that you did not have a direct path to was run from this site by AT&T. I don't know when it was decommissioned, but not that long ago (a couple of years) I came across a reference to it in a sendmail configuration that took me by surprise.

  8. Roger Greenwood
    Pint

    Curiosity . . .

    . . . is one of the best attributes to have for any technical subject/job.

    My advice to add to all the excellent ones above:- pick subjects you like and are interested in. If not you won't enjoy it, won't put the effort in and probably end up changing course/career later. May be obvious to me, but not to all.

    1. Anonymous Coward
      Anonymous Coward

      Re: Curiosity . . .

      Yup, pick a subject that interests you. Get a degree and consider it proof that you're not thick, but don't treat it as proof you're actually qualified to do a particular job. If you do complete a Comp Sci course, don't expect to just walk straight into a high paid job like many of the newly graduated folk I've interviewed do. Whatever course you do, if you want to get into programming then narrow your interests to specific areas and find the good books that cover it. You'll need algorithm books, and those rare beasts, good books on system design / architectural patterns. Code some projects in your spare time, and contribute to an open source project or two if you can find ones that interest you.

      1. Matt Bryant Silver badge
        Thumb Up

        Re: Chris Wareham Re: Curiosity . . .

        ".....but don't treat it as proof you're actually qualified to do a particular job....." I learnt more in my first six months of a real job than I did on the whole degree course. The good news is I haven't stopped learning since.

  9. Anonymous Coward
    Anonymous Coward

    Hmm

    started compsci here but after a year kinda lost interest in it mostly because it's geared to teach you the basics that if you previously were taking anything like that in high school(local equiv) you already knew and were basically bored of it. So still without a degree in anything, 6 years employed as a sysadmin since then at a SMB/E company making decisions on purchases, planing, deployments and so on. Have the respect of the CEO(at the head office) and of my manager and my boss. The only thing I still need to teach them is that you pay a sysadmin to sit on his arse to stare at nothing most of the time because you really only need him/her when something breaks.

  10. Anonymous Coward
    Anonymous Coward

    Re University Reputation

    Interesting observation - thanks. This comment is well off-target re matters of importance to IT, but is (in my untested opinion) on target about the importance - the vital necessity indeed - of our 'Universities' (hah!) (and even more, of our high schools) to equip our young ones with the competitive skills to earn for UK.

    In this regard, one of the 'Universities' I know of (Winchester School of Art, part of the University of Southampton) appears, to these (very old) eyes, to have a completely orthogonal objective. It appears to be in place only to extract money in obscene volumes from Chinese youth, returning to them poor quality instruction for a Master's (what a joke) degree, that could be covered, in about 3 intensive weeks, but at a higher quality, by an in-house course from a major UK plc. Any suggestion that the University should regard itself as a supplier (of skills) and hence be subject to the normal customer-dissatisfaction/product-replacement/money-back process, results in extreme reactionary responses from staff.

    I doubt that WSA is alone. The whole morality and effectiveness/competitiveness and objectives of the tertiary education industry in UK (important to our balance of payments) needs urgent, invasive and decisive review (but, please, not another 'nobody is to blame' Staffordshire-style enquiry).

    Posted anonymously for obvious reasons. The staff may have limited intellectual, industry and administrative skills, but I'm sure they can still heave a brick through my window!

  11. Magister

    Good article

    Up to age 18, I had been putting money away to pay for Uni (not for CS but a bio-med course); I had even visited a couple of places to see which I Iiked. Then Shit Happened big time; and I was working 70 plus hours a week to feed, clothe and house a family of 6. (No regrets; in no universe would I have taken a different route)

    Many years later, like many others, I found myself moving into IT because I had an interest and had played with PC hardware as a hobby. My management and project management experience over 20 plus years in a variety of sectors gave me a major boost. However, I was in the position to expand my academic knowledge and I chose to do a part-time Masters through the Open University.

    There are those that will denigrate the OU and they often ignore it on the grounds that it is not a "real" university; but the OU does provide some really good courses with a lot of value. I'd also highlight that these are very regularly updated so you get quite a lot more of the more up to date thinking.

    You have to be really committed to the studies though; when you've done a full week of 8-10 hour days, it can be hard to switch your mind over to studying. The drop out rate is high because many just can't manage their time or find that it is just too hard. But that just means that when you do get the award, it means that much more. If nothing else, it can provide you with newer ideas.

    I'd recommend it to anyone; and you don't have to drive yourself arse deep in debt just to get a piece of paper that most recruiters wouldn't know (or appreciate) from something knocked out on a copy of Photoshop.

  12. David Cantrell
    Childcatcher

    The best advice you can give a teenager about what university and what course to apply for is "Don't. Not yet". They'd be better off taking two or three years out to figure out what it is that they really want to do, and ignoring any pressure from their family to "go to uni", as if merely attending was an aim in itself. I, unfortunately didn't take those years out, and instead ended up doing half of a course I hated (before dropping out), having chosen it on the foolish grounds that I didn't want to do anything else that my A-levels had prepared me for.

    My own experience from when I've been recruiting geeks is to, in general, avoid people with CS degrees, unless they've also got plenty of real-world experience and so have had all the CS ideals and impracticalities beaten out of them by other employers and they've learned to compromise between purity and practicality. The best graduates to employ, I've found, have had degrees in the practical sciences (things like geology, not physics) or people with arts degrees - people with well-rounded educations and personalities, who will get on with their co-workers - who just have an interest in computar-maschinen.

    And if you want to guarantee an interview with me, you'll be a theology graduate with stuff on github. Theology, despite being a load of bollocks, is a great discipline. If you can do well at it, it shows that you can think clearly and critically within arbitrary constraints imposed from outside which don't necessarily make sense. In other words, it means that you can turn a customer's half-arsed spec into something that works.

    1. Ian 55
      Childcatcher

      Up to a point

      Taking a break is fine if you're doing something arty. But if you're going to do something involving proper maths, the only reason for taking a break is to have something involving more proper maths, not bum around Asia. Otherwise, you will have a horrible time getting back to speed.

      1. David Cantrell
        Childcatcher

        Re: Up to a point

        The sort of break I meant wasn't bumming around Asia, but getting a job, where you'll work with older people who you don't know. Doing gardening, or mending pot-holes, something like that.

  13. hammarbtyp
    Thumb Up

    Computers are not about the languages

    Good article and I would broadly agree with the statements.

    My advice would be to find a course with the broadest curriculum from high level to low level. It is not about the languages you learn but what you do with them. I would worry if the university only teach declarative languages and did not touch embedded. From what I see in CV's it appears many universities only seem to use Java nowadays and this is a big mistake.Just as important is learning how to work, manage and interact in teams(virtual as well as local). Also I would add a smattering of cyber security

    Also remember that universities are only the start and don't most universities are 3 to 4 years behind the industry standard. Industrial placements are valuable, but so is life long learning

  14. smudge
    Headmaster

    Essays! In a CS degree. Plural.

    In my comp sci course (St Andrews, late 70s) we did have to write essays, one a term. Looking at their website today, I can see a link to an "essay guidance" handbook, so presumably writing essays is still part of the course.

    I'm all for it. Not everyone needs to write essays in their professional life, but many us of need to write proposals, reports and other documentation. The ability to research and collate information, and then present it in a comprehensible and coherent manner, is vitally important, and writing essays certainly helped me understand how to do that.

    Too often in the industry I have had to work with illiterates who can't form a sentence or communicate in any language other than C++.

  15. James Hughes 1

    Not sure I agree with the article

    But might just be the route I took.

    Maths, physics, chemistry A levels first itme round - bit pants, so retook, but replaced chemistry with CS and got an A. This was in 84-85. Ended up at UEA on the CS course, and really enjoyed it. Also think mu A level CS stuiff was pretty interesting, coming from a BBC micro background.

  16. Nick Ryan Silver badge

    Maths

    Again, we see that all you need for Computing is Maths. And yet, almost without fail, the worst developers that I've come across have also been maths graduates.

    I've had Maths specialists spray me with spittle for hours on end, telling me that the "next generation" of computer languages will write themselves, there's no point in learning development and that every application can and should be mathematically described. Even the simplest of optimisation / performance demonstrations between a mathematically described process and one that's been thought about failed to sway most of these spittle spreaders. It was almost a religion to many of them.

    There are many things you need to be a good developer, a maths degree is far from the most important unless you're going to be specifically using maths in what you develop, in which case pray for the sanity of those that take over what you've developed if your maths is good but your coding skills are poor. Coding skills? Entirely separate from maths, are more about organisation and planning, logical awareness and experience and knowledge with a hearty dose of artistry thrown in than any degree course title.

    1. uncredited

      Re: Maths

      I've never understood that incredible hard-on people seem to have for Maths as some necessity for Computer Science. I've been working as a programmer for close to 7 years and have yet to see a single math problem requiring more than just basic algebra. Sure Maths can help with logical thinking but far more often what is needed is basic understanding of human behaviour.

Page:

This topic is closed for new posts.