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)."
MIT OpenCourseWare (Score:5, Informative)
The Wizard Book! (Score:4, Informative)
Open University (Score:5, Informative)
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).
Re:Open University (Score:2)
Its hard to maintain the discipline for OU, but worth it.
Self Teaching? (Score:1)
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)
Re:Self Teaching? (Score:2)
Re: (Score:2, Insightful)
Re:Self Teaching? (Score:2)
test-donotread (Score:1)
Re:Self Teaching? (Score:1)
Higher education is not about learning a skill [or at least it shouldn't be] but about expanding and enhancing
Re:Self Teaching? (Score:2)
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).
Re:Self Teaching? (Score:1)
THE Ultimate Maths Training . . . (Score:2, Informative)
Self Teaching programming (Score:2)
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
Programming != Computer Science (Score:5, Informative)
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.
Re:Programming != Computer Science (Score:1)
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
Programming (Subset of) Computer Science (Score:1)
Furthermore, I'm a CS major, but I haven't studied all the topics within the discipline, nor do I plan on it.
Take something like architecture, or cryptography. It is possible to earn a CS PhD in these from earlier studies in Engineering and Math (respectively), and not have a clue how to program.
But, for an undergraduate degree, knowledge of programming is required. Henc
Re:Self Teaching? (Score:1)
Re:Self Teaching? (Score:2)
Why?
Re:Self Teaching? (Score:1)
Re:Self Teaching? (Score:1)
Re:Self Teaching? (Score:2)
never a CS student (Score:1)
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
Re:never a CS student (Score:2, Informative)
Re:never a CS student (Score:2)
The poster is asking about learning computer science.
Re:never a CS student (Score:1, Flamebait)
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.
Re:never a CS student (Score:2)
Where does it say such a thing, or how have you come to that conclusion?
Hint: it doesn't, and you're wrong.
Re:never a CS student (Score:2)
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
Re:never a CS student (Score:2)
Re:never a CS student (Score:2)
Except that wasn't my point at all.
Re:never a CS student (Score:2)
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
learning (Score:2)
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.
FalconRe:learning (Score:2)
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
Re:learning (Score:2)
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.
FalconRe:learning (Score:1)
I swear I'm going to finish that damned Rosen's Discrete Mathematics book one of these days...
Some links (Score:2)
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
Re:what, you have to study something to work in IT (Score:1)
No brainer - Open University (Score:3, Interesting)
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]
Re:No brainer - Open University (Score:1)
Re:No brainer - Open University (Score:2)
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
C Programming Language (Score:2)
Yea, from what I recall of it some 15+ years ago Kernighan and Ritchie wrote a great book. It was what we used as our textbook back then when I took C.
FalconRe:C Programming Language (Score:2)
perl, smalltalk, and low level languages (Score:2)
I might have more of a purist view of the subject since I have a mathematics background, but I think that learning a (procedural) subset of a language like Perl for the procedural side of things and something like Lisp or SmallTalk for the lambda-calculus side is more appropriate than a full blown low level language for a first language.
Though I don't recall much of it I've had perl but would also like to learn smalltalk and assembly. PHP is another language I'd like to learn.
Falcon
Re:perl, smalltalk, and low level languages (Score:2)
Don't learn PHP if you don't have to. (Score:2)
Well, learn it for the sake of knowing what _not_ to do. PHP is Hell!
Why do you say this? What do you think is bad about it? Is it hard to learn? I ask because I don't know. The college I was attending started offering it a couple of years ago, that was when I thought of taking it.
FalconAdmissions and financial aid (Score:3, Informative)
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
She's also disabled (Score:2)
If she can't go to college, how's she going to work?
Telecommuting. When I finally start working that's what I want to do as much as I can. Besides it didn't say she couldn't go to college it said it would be hard for her to go. There might not be a college offering a Comp Sci degree near her or if there is one it may not be as accessible as she needs.
FalconNitpick at home (Score:2)
Re:Nitpick at home (Score:1)
Re:Nitpick at home (Score:2)
Computer Scientist Inflation Cycle (Score:1)
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
Re:Computer Scientist Inflation Cycle (Score:2)
Re:Computer Scientist Inflation Cycle (Score:1)
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
Re:Computer Scientist Inflation Cycle (Score:1)
http://it.slashdot.org/article.pl?sid=05/04/23/143 4224&tid=146&tid=218 [slashdot.org]
So, according to the article, current rates appear to be about the same as 1978. And, ignoring the two major enrollment increases (peaking in 1982 and 1999) the levels about constant. And I would say that overall, it amounts to at least the 2x estimation I made. The interesting thing is that enrollment appears to be declining, so it appears that it might be possible that it might go lower,
SCPD (Score:3, Informative)
Re:SCPD (Score:1)
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)
Here is a link to places NOT to study at (Score:3, Informative)
URL:http://www.osac.state.or.us/oda/unaccredite
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.
ArsDigita University archive (Score:3, Insightful)
These are available for download, but consider sending them $75US for the complete set of 17 DVDs. A great deal.
University of Maryland University College (UMUC) (Score:2, Informative)
I am currently attending UMUC and majoring in computer science, and their online courses are good.
Re:University of Maryland University College (UMUC (Score:1)
Re:University of Maryland University College (UMUC (Score:1)
Re:University of Maryland University College (UMUC (Score:2)
UMD offers EE degrees, UMUC does not.
Similar vein (Score:2)
Re:Similar vein (Score:2)
One other thing to consider (Score:2)
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
Software engineering... (Score:2, Insightful)
Despite all of the
ACCIS (Score:2)
Looks like they've branched into certifications as well as degrees since.
Advice from a professional programmer (Score:2)
1. Pick a language and get a good, introductory text on it. I like Java, myself.
Athabasca University (Score:2)
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
Online Course Material (Score:2, Informative)
Re:A Waste of Time - Get a Real Job (Score:3, Informative)
That you are such a prick,
or that you are right.
There honestly isn't a future in computer science for a home schooled person.
I did, a few days ago, suggest that if someone wanted more than anything in the world to get their break into tech they could go into some company and offer to document code (ie, write the in-code line level, proc level and file level documentation describing what each routine did) - for free for the first month if necessary. It will get you in the door,
Re:A Waste of Time - Get a Real Job (Score:2)
You can go a long way in IT without learning much of what they teach in college, if some company gives you a chance, like the opportunity you got (getting in during the
Why? (Score:2)
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
Falsifying research data? (Score:1, Offtopic)
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.
Re:Falsifying research data? (Score:1)
I thought.. (Score:1)
Some advice from someone in a similar situation (Score:1)
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
Re:minor question (Score:2, Insightful)
The A HA: Again I doubt it since she doesn't know how yet.
vi vs emacs: Just silly has nothing to do with programming.
typing fast: okay for one you have no idea what her disability is. she may not physically be able to type fast. no biggie - programming has very little to do with how fast you type - ask a typist to code your next project for you - see who gets done q
Re:minor question (Score:2)
Is computer science her passion? yes/no
Life is too short to waste studying something that you're only mildly interested in.
Re:minor question (Score:2)
Other strong indicators
Does she own any dice that have more or less than six sides on them? Does she have a cloth bag full of dice, with a pull-string to keep the bag closed (Crown Royal, et
Re:minor question (Score:1)
Re:minor question (Score:2)
The nice thing about running up the Jolly Roger [goldbrickersgifts.com] is
Re:minor question (Score:1)
Re:minor question (Score:2)
That's a little overcommitted to the field IMHO