Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Education

Studying Computer Science at Home? 111

Jack asks: "My fianceé would like to study computer science at home, with a view to becoming a software engineer. She is disabled, so it is hard for her to attend a course at an actual college or university. She completed high school, getting good qualifications in maths, but has no formal training in computer science, as yet. Can anyone recommend good home study courses for her? (We are in the UK)."
This discussion has been archived. No new comments can be posted.

Studying Computer Science at Home?

Comments Filter:
  • MIT OpenCourseWare (Score:5, Informative)

    by QuantumFTL ( 197300 ) * on Friday June 10, 2005 @12:52PM (#12781051)
    Check out MIT's OpenCourseWare [mit.edu]. Many of MIT's classes materials all available freely online. If you are looking to learn computer science, it's hard to find a better curriculum.
  • Open University (Score:5, Informative)

    by sydb ( 176695 ) <[michael] [at] [wd21.co.uk]> on Friday June 10, 2005 @12:52PM (#12781059)
    Your fiancee can get a Comp Sci degree through the Open University [open.ac.uk], and she can mix and match courses to suit her particular interests and strengths.

    My experience is with their maths courses and a Digital Communications course. The materials are very good as is their study support. It can be hard work though as you have to discipline yourself to study, you can't just go with the flow like I did at school and "scrape" good grades by virtue of having sat in the classroom and paid some attention.

    My only gripe is with their Windows-centrism. For maths courses you have to use MathCAD which I have found does not run under WINE very easily or well, and a lot of their multimedia courseware in the digital comms course was Windows based (though IIRC WINE handled it quite well).
    • I agree with open university. My degree was computer science, and currently doing a phd in optics. I'm also doing a physics degree through OU.
      Its hard to maintain the discipline for OU, but worth it.
  • Start with some sort of learning BASIC. There's plenty of proprietary BASICs out there for just this purpose. Study the basic use of variables, loops, input, output, etc.

    Move onto C, do basic memory management like linked lists, then go further into circular lists and doubly-linked. Still in C, move forward and write some functions for sorting and searching your linked lists. Start with a bubble sort and a binary search, explore further if you feel nessisary.

    Move into the land of Object Oriented prog

    • Re:Self Teaching? (Score:3, Informative)

      by (A)*(B)!0_- ( 888552 )
      You're missing all of the mathematical background that makes up Computer Science. What you've proposed is Computer Programming.
      • I think when most people want to major in Computer Science they really just want Computer Programming...i know I was in this ship in college, it was either Computer Science or "Business Computing" which is like Excel macros and maybe Visual Basic. I hated math, and i have not used a lick of my Calculus in my programming job.
        • Re: (Score:2, Insightful)

          Comment removed based on user account deletion
          • Well I guess my point is that some people (like me) don't have a choice, there just was no degree in computer programming. My CS degree was a real "hard core" CS degree, but I certainly didn't need nor want the whole "Computer Science" end of it, as much as i just wanted the programming. But furthermore, say you want a job at (insert random application software company here). They almost always require a degree in Computer Science, not just Information Systems or DeVry programming or whatever. Despite t
            • notext-yes,offtopic.sorry.
            • I would guess that you're not a very good programmer. Of course, this is the Internet so you can make any claim you want but your attitude towards the fundamentals is quite telling. If you don't think understanding how to estimate running time and why being able to integrate is important to what you do, then you lack the tools needed to understand why what you're doing is not as good as it could be.

              Higher education is not about learning a skill [or at least it shouldn't be] but about expanding and enhancing

        • I feel for you, I had the exact opposite problem. I wanted to go into Computer Science proper, but ended up having to settle for a DeVry CIS program.
          Of course, through independent study (using a lot of MIT Open Course Ware, etc) I'm giving myself a solid background in CS, and DeVry, if nothing else, does at least teach you how to get along in the business world (We actually have, for required courses, just as many business/management/accounting courses as programming courses).
        • I majored in Information Systems which is the intersection of business and computers. There was no excel macros. It was RDMS's, networking, Visual Basic was there(a lot of businesses have existing code in it) but there was also COBOL(glad I never got a job doing that), ASP, PASCAL, and Java for programming languages. Information Systems in a good program will teach you all the important high level programming tecniques and OOP. It is not concerned with math other than basic calc and mid level statitics.
    • Start with some sort of learning BASIC. There's plenty of proprietary BASICs out there for just this purpose. Study the basic use of variables, loops, input, output, etc.

      Move onto C, do basic memory management like linked lists, then go further into circular lists and doubly-linked. Still in C, move forward and write some functions for sorting and searching your linked lists. Start with a bubble sort and a binary search, explore further if you feel nessisary.

      I get the first part, starting with Basic

    • by Codename_V ( 813328 ) on Friday June 10, 2005 @05:32PM (#12784442)
      There's a big difference between just learning programming and learning computer science.

      If computer science is what she's really after then here's a rather typical computer science ciriculum along with some poplular books that I can think of:
      calculus
      discrete math
      linear algebra
      numerical methods (optional)
      programming intro (C/C++, Java, Scheme, Ocaml)
      assembly language (x86, mips)
      data structures
      althorithms (rivest book)
      theory of computation
      digital electronics
      computer architecture (patterson book)
      embedded systems (optional)
      theory of programming languages (python, perl, ocaml, prolog, lisp)
      compiler design
      operating systems (tannenbaum book)
      artificial intelligence (optional)
      software engineering (optional)
      system administration (optional)
      computer graphics (optional)

      And I maybe left out a few more of the optional type of classes you can find at various universities. Anyway, just search the web for each of the above subjects and you'll find loads of information. When I was working on my degree, I found actual course websites to be particularly useful a lot of the time, as they'd have lectures, homeworks, exams, and projects, all with solutions a lot of the times.

      Now software engineering is sort of a branch of computer science unto itself. So if that's the ultimate goal I'd suggest learning all of the above rather thoroughly and then moving on to specialize in software engineering.

      Anyway, that's my two cents, for whatever it's worth. Wish your fiance good luck for me.
      • The best programmers I know have the ability to talk to a customer and then produce something that does what the customer wants. Many developers lack ability to turn needs into software. The nerd/geek stereotype as someone unable to communicate exists for a reason. That defines the opportunity.

        I would suggest you try and concentrate on more practical and inter-personal skills than the curriculum above because you would most likely enjoy it more, and you are likely to be able to deliver software of value t
    • If she wants to be a software engineer why would Python be your advanced lang. Software engineers should be c, c++, and asembler possibly. Scripting lanauges are for information systems type apps and web apps.
  • so I can't give you the full run-down of books, but Design Patterns and Code Complete are two greats. I can tell you the way I've been learning languages.

    I know this can be really hard to start with. But once you get beyond hello world, you are going to need to find info quick. Get good with the docs while you are still learning. The first two links are available for full download to your local computer. I don't know if the SO needs a screen reader or anything li

    • by user2048 ( 198694 )
      computer science != programming
    • Sounds like a great way to become a programmer.

      The poster is asking about learning computer science.
    • You have no clue what CS is. And to be blunt, the submitter's fiancee apparently has none either.

      However, if CS is really, really what she wants, I suggest starting with some physics, number theory, discrete mathematics, boolean logic, and functional calculus. Why she wants to study these things outside of a formal framework and accredited degree program is beyond me, though.

      • Why she wants to study these things outside of a formal framework and accredited degree program is beyond me, though.

        Where does it say such a thing, or how have you come to that conclusion?

        Hint: it doesn't, and you're wrong.
        • Where does it say such a thing, or how have you come to that conclusion?

          It says she wants to engage in a program of home study.

          My point is that if her goal is to become a software engineer, CS is a waste of time. The only reasons a person would study it is because A) they have a passion for the topic regardless of any practical considerations, or B) they wish to advance into higher academia. A person who selects CS as a course of study to prepare for a career in software engineering is misguided.

          Th

          • My point is that "a formal framework and accredited degree program" and "home study" are not mutually exclusive. You can't argue against this successfully, because I have an example of a real-world, respected, degree-awarding home-study institution - the UK's Open University.
            • My point is that "a formal framework and accredited degree program" and "home study" are not mutually exclusive. You can't argue against this successfully

              Except that wasn't my point at all.

              • You: Why she wants to study these things outside of a formal framework and accredited degree program is beyond me, though.

                Me: What makes you think that's the case? Hint: it's not.

                You: It says she wants to engage in a program of home study.

                Me: But your previous statement doesn't follow from that one. I have here an example of a home study programme which is also a formal framework and an accredited degree programme.

                You: That wasn't my point

                Me: you made two points. That was one of them. Perhaps you
      • However, if CS is really, really what she wants, I suggest starting with some physics, number theory, discrete mathematics, boolean logic, and functional calculus. Why she wants to study these things outside of a formal framework and accredited degree program is beyond me, though.

        Why? Because some people learn better in a nontraditionly setting.

        Falcon
        • Why? Because some people learn better in a nontraditionly setting.

          I think you're missing the point. What REASON does a person have to study computer science? Certainly not to become a software engineer -- if that's the goal, then your effort is best directed toward that end rather than wading through the academic, intellectual muck of Computer Science. The only other reason a person might study CS is to get into academia, and that's IMPOSSIBLE with informal study. Let's see you get accepted to a graduate

          • Guess it was my understanding, er misunderstanding, then. I was thinking of traditional or formal learning versus self study, and not specifically CS versus CE or programming.

            Falcon
          • Regardless of what she's actually looking for, there are people who study CS just for fun.

            I swear I'm going to finish that damned Rosen's Discrete Mathematics book one of these days...
  • A quick search on "computer science distance education" and you can find a plethora of links, such as this one:

    You can also check out Canada's Athabaska University [athabascau.ca].

    Eric

  • by sparks ( 7204 ) <acrawford.laetabilis@com> on Friday June 10, 2005 @01:02PM (#12781141) Homepage
    The OU [open.ac.uk] is probably the best (not to mention the cheapest) distance-learning higher education institution on the planet. The academic standard is very high, the price is very reasonable, and the material is of excellent quality.

    Since leaving the UK I don't have access to the OU any more, and I sorely miss it.

    They put a lot of work into making you feel part of a class - so you're not studying alone - with online conferences, a personal tutor, and real-life tutorials and meet-ups if you can get to them. They have a specific BSc (Hons) Information and Communication Technologies [open.ac.uk] degree which is the match of any IT degree in the UK.

    Finally, depending on her particular situation, she may not have to pay anything at all. [open.ac.uk]

    • I have to agree strongly with this - I did the OU Smalltalk (phrogs) course, and it was the finest introduction to OO I could have had. I changed careers from being a civil servant to being a Java programmer, and I knew more than most company-trained people.
    • There's also a course here [londonexternal.ac.uk], which is actually in Computing and Information Systems, so perhaps less relevant. Don't ask me about the value of this particular course, as I have no idea.

      Certainly these guys offer way less support than the OU, but I have the suspicion that they are cheaper - as far as I can see it (and have heard) they take the position that they give you a book list, chuck occasional assignments at you, then allow you in to the exams. They are probably therefore best suited to the annoying
  • by dstone ( 191334 ) on Friday June 10, 2005 @01:18PM (#12781325) Homepage
    My fianceé would like to study computer science at home, with a view to becoming a software engineer. She is disabled, so it is hard for her to attend a course at an actual college or university. She completed high school, getting good qualifications in maths

    Sounds easy enough. Get her to start applying to universities for Distance/Open/Tele/Remote degree programs.

    Admission:
    * her good grades will help
    * being disabled sure won't hurt her any, and might even help if quota systems are in place

    Financially:
    * her disability gives her more opportunities to apply for scholarships and bursaries
    * ditto for being female and studying Computer Science (many private bursaries have been created to encourage females in this area)
    * when she gains entrance, there will likely be someone at the institution she can talk to about applying for private or government financial grants
  • I have to point out that Science and Engineering are two different things -- and that you don't have to be a computer scientist or a software engineer to have a career in programming. Computer science [wikipedia.org] and software engineering [wikipedia.org] do have useful things to teach all programmers, but you don't have to have a degree in these fields to write code.
    • The downside is that a lot of companies won't give your CV a second glance without that magic piece of paper that says you graduated. Or at least it seems to be harder and harder to get your foot in the door without it.
      • Tell me about it. But for a simple programming job, any kind of degree with some programming coursework will do. You don't really need a CS or SE degree for most jobs. Though there are some managers who will insist that only Computer Scientists are "real" programmers.
        • Logically, having a CS degree proves that you are capable with many elements of computing, while the absence of one does not prove that you are not.

          The only problem is that if you don't have the degree, how can you prove that you are on the same level? Obviously there are avenues, such as job experience, but even then, it is lacking an non-partial authority.

          Any CS-major can attest that programming can be hacked, but that making it properly is the hard part that the degree is useful for.

          And my opinion is
          • You make some good points. But two details: (a) not everybody can afford to get the best academic credentials in their profession; (b) I've met a few people who've managed to get CS degrees (one of them a PhD!) without acquiring any serious understanding of real-world computing.
            • Sadly, I must agree with you on both points.

              But, again, using Alan Turing as an example, we are talking about someone who didn't use what we could consider essential elements of computing (specifically Networking and OSes), yet, no one would doubt that he is a great computer scientist. (I used the word "is" because I will say that the knowledge he had as a computer scientist still exists)

              To make a more modern point, I've had a professor who could build an OS, but damned if he could use windows well.

              I th
  • SCPD (Score:3, Informative)

    by wan-fu ( 746576 ) on Friday June 10, 2005 @01:53PM (#12781750)
    Check out SCPD [stanford.edu] over at Stanford University.
    • That won't work!

      First of all, it's almost all graduate level. There's just 3 undergraduate courses in CS. It sounds like she's not ready for a graduate program. Yet.

      Second of all, you must work for a company that belongs to their Honors Coperative Program (HCP), which chances are, she does not.

      It's also very expensive, but that's beside the point.

      Brett
  • Don't forget... (Score:3, Interesting)

    by biglig2 ( 89374 ) on Friday June 10, 2005 @01:55PM (#12781784) Homepage Journal
    to get her to pick an open source project she likes and start working on it! Just do documentation if she can't code yet, but get into it.
  • by Mycroft_514 ( 701676 ) on Friday June 10, 2005 @02:05PM (#12781881) Journal
    http://www.osac.state.or.us/oda/unaccredited.html [state.or.us]

    URL:http://www.osac.state.or.us/oda/unaccredited .h tml

    This is the offical list by the state of Oregon, which lists acceptable schools at the top in one list, and scam schools on the larger list at the bottom. We have a scam school a couple of miles form here. Their credits are no good anywhere else.
  • by Dammital ( 220641 ) on Friday June 10, 2005 @02:07PM (#12781907)
    The lectures and materials of Philip Greenspun's ArsDigita University are available at the alumni website [aduni.org].

    These are available for download, but consider sending them $75US for the complete set of 17 DVDs. A great deal.

  • The University of Maryland University College (UMUC) has more than 90000 students, making it the largest public university in the US and one of the largest providers of online courses in the world. You can get one of several computer science degrees or certificates online, from anywhere. They have a London Office [umuc.edu] and seven UMUC centers in the United Kingdom.

    I am currently attending UMUC and majoring in computer science, and their online courses are good.

  • Along a similar vein, my brother-in-law recently asked me to join him in a business venture, with a view of me providing the networking skills. The problem with this is, while I can set up a home network, my knowledge of REAL networking is lacking. I don't have a solid foundation of the basics or using linux as a server. From what I can tell, I am probably going to have to custom-build a router for reverse LSNAT. Could anyone point me in the right direction for getting started?
  • Most computer science courses are designed at the lower levels to weed out the undesirable students. In the process students are usually forced to learn things that they will never use.

    I would suggest that she think more along the lines of what she wants to do as a software engineer. There are a wide range of possibilities, and all the schooling in the world will do little more than get one's foot in the door.

    By determining what actual work she wants to do with the degree she will be in (IMHO) a much bet

  • Well, regardless of the fact that being a good programmer will help you in your CS pursuits, if she wants to develop software I would suggest not worrying about the language as much.

    Despite all of the /. rhetoric, bombast, and bad-mouthing about coders who can't write/construct threaded GUI apps in assembly using nothing but a one-shot CLI typescript entry (editors are for wimps), there are plenty of high-level languages that allow people to build extremely useful and powerful software tools without havin
  • I looked at ACCIS [accis.edu] when they were the American Institute for Computer Science. Seemed legit, and they're still around several years later.

    Looks like they've branched into certifications as well as degrees since.
  • It's a good idea to take a home-study course, but you'll find that some of the material can tend to be on the light side (i.e. not enough technical "meat"). If I were you guys, I'd supplement my correspondence studies by picking up texts on the following subjects at Amazon (or borders, or whatever). This material amounts to a good, solid foundation in computer science and will turn her into a better programmer. Here's the list:

    1. Pick a language and get a good, introductory text on it. I like Java, myself.
  • If you are looking for a Distance Education school, look no further than Athabasca University [athabascau.ca].

    This used to be a farmer's university, which gave rural Albertans in Canada a way to plough the fields during the day and study for school at night. From the get go, it was set up to be for Distance Education.

    This core principle of the university has not changed, although it now takes students from all over the world, and it has many different degrees.

    The one that would be best for your fianceé would be t
  • Have her take a look at How to Design Programs [htdp.org] -- there is a complete introductory course which uses the DrScheme programming environment.
  • by SSpade ( 549608 )

    If she wanted to develop software as a passion she'd already be doing it. The obsessive programmers amongst us can't stop doing it, and while they can learn a lot from a decent CS degree they'd be programming without one.

    If her intent is to do so as a career... well, most of being a professional developer is communication, meetings, analyzing requirements, more meetings, more communication. It's not a job that is well-suited to 100% telecommuting, nor to telecommuting at all for the first six months or so

  • 0.3% falsifying research data, can someone explain to me how anything on that list can be considered something other than falsifying research data? Shouldn't this be the total of the other options rather than a seperate choice?

    I find it rather interesting that only that the 15+% that said they changed research under pressure from a funding source do not consider that to be falsification.
  • Basic math was pre ALgerbra? Go figure.
  • I am not physically disabled, but I am financially unable to quit work to attend college full time and the courses I need aren't available at night. So I am stuck with the online option which isn't really bad.

    First thing, be aware of recruiters. I don't think you will have a problem here at this site, but if you go to some popular newsgroups for advice be ready to hear all about Mountain Air University or some other unheard of colleges. When I used to ask for advice, I would get some off the wall responses

E = MC ** 2 +- 3db

Working...