Studying Computer Science at Home?
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)."
Check out MIT's OpenCourseWare. 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.
Your fiancee can get a Comp Sci degree through the Open University, 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).
Yours Sincerely, Michael.
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 programming. C++, Java, who knows... I can't really think of a good language to learn OOP on - however, I'm sure there are specialized learning languages for OOP just as there are for learning the basics. I can't think of anything really specific to cover in OOP like I could in BASIC and C... perhaps turning your linked lists into embedded "node" and "list" objects, and having varying private and public functions to add/remove/search/sort the list.
Move on to python or something else that is "strange" (maybe Ruby or C#, but I haven't got around to learning those languages so I can't really say anything on them). The basic education has ended, so pick a real project and get to work! There will be a lot of documentation reading ahead..."
A lot of people say self-taught programmers are terrible and end up writing terrible hacks of code. I feel my own self-education is fairly decent. YMMV...
Remember, the language reference is your first friend, and google is second. Only after you check those two do you ask someone for help.
Beware he who would deny you access to information, for in his heart he dreams himself your master. -Anonymous
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 like that. But it's always nice to have the docs close by.
Technology Consulting & Free Downloads
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.
EricShe completed high school, getting good qualifications in maths, but has no formal training in computer science, as yet.
In other words, more qualification than the average software "engineer"!
Seriously, it's great that you're thinking along those lines. It actually surprised me that there's somebody who wants to learn this stuff and isn't a geek already.
What's seriously missing in IT today (out of cynical digust, I stopped calling it computer "science" a long time ago, and I never ever call it "engineering", sorry folks) is foundation knowledge. Basic understanding of "what's been done before". General formal knowledge, rather than how to work Product XYZ or Modeling Tool QRS or Process ABC.
I really don't have good advice for your fiancee except: learn as much abstract formal stuff as you can, stuff like the relational model (PLEASE), Lambda calculus, anything that is an abstract version of what's being used "out there". Then you can move on to the concrete stuff that most people who are "self taught" know.
...or she could get her 2nd degree in astrophysics and run off with the first two-headed alien that hits on her at a party.
/Trillian?
It's either that or back to the dole queue on Monday...
signat-url: http://www2.potsdam.edu/dctm/prescor/signat-url.h
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 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.
http://www.amazon.com/exec/obidos/tg/detail/-/0131 103628/qid=1118423135/sr=8-1/ref=pd_csp_1/104-7117 110-4043110?v=glance&s=books&n=507846
That's because people like me with awesome foundation knowledge and a fuzzy practical skill set wind up working at Home Depot.
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 and software engineering do have useful things to teach all programmers, but you don't have to have a degree in these fields to write code.
Check out SCPD over at Stanford University.
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.
~~~~~ BigLig2? You mean there's another one of me?
http://www.osac.state.or.us/oda/unaccredited.html
d .h tml
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.
These are available for download, but consider sending them $75US for the complete set of 17 DVDs. A great deal.
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. Basic was my first programming language, on an IBM 360, Trash 80, and the Apple. But though I took C/C++, Fortran, and Pascal ages ago I got lost with "linked lists, then go further into circular lists and doubly-linked" unless they're about hashs just as are sorts and searchs.
Move into the land of Object Oriented programming. C++, Java,...I can't think of anything really specific to cover in OOP
How about UML and object think instead of procedure think.
Remember, the language reference is your first friend, and google is second. Only after you check those two do you ask someone for help.
Yeap, I prefer to rtfm before asking for help.
FalconShould there be a Law?
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.
FalconShould there be a Law?
I am currently attending UMUC and majoring in computer science, and their online courses are good.
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.
FalconShould there be a Law?
Out of mod points today, but excellent link by parent post.
The 4:00am question: I doubt it since she doesn't know how to program yet. But neither do I and I've written code for many many years now.
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 quicker her or you.
leafless tree: WTF?
clothes & closets: Again WTF? My closet is a mess. Why because I'm busy and have many many other things to do.
musical talent: Okay my music skills are bottom of the barrel, but many smart people do have good music skills, but many do not.
deep grasp: unless she studied it then nope.
collection of computers: nothing to do with being a good programmer.
newsgroups: probably not as she isn't into programming yet.
ask slashdot: many other ways to find answers to this question, like google.
In short don't be such a snob and narrow minded in your view of what a programmer is. You would be surprised if you saw the people I work with, and this ain't no back water its a major American university (We've got jocks (played football or basketball in College), Nerds (the typical - like your list), very Social (always knows everyone) and they are all very good.
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.
FalconShould there be a Law?
Okay forget all the rhetorical questions.
Is computer science her passion? yes/no
Life is too short to waste studying something that you're only mildly interested in.
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?
Free MacMini
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 better position to identify or assemble the plan that will both meet her needs and empower her to make substantial progress in real world (outside of school).
Nothing stimulates the mind like working on a problem that is so interesting that it borders on compulsion. Working on a project that one enjoys is a truly uplifting experience, while working on projects that are uninteresting can lead to depression and worse. When she can really visualize what she wants to be working on, it will become very clear what will be necessary to enable her to pursue her dreams.
Best of luck!
"Can there be a Klein bottle that is an efficient and effective beer pitcher?"
http://mitpress.mit.edu/sicp/full-text/book/book.h tml
assert(expired(knowledge));
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.
/. 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 having to know anything about bit-shifting or loop optimizations.
/.
Despite all of the
That said, I would direct her to learn about Data Structures, Object-oriented Analysis and Design. _Planning_ what to build will make MUCH more of a difference in developing software applications than coding style/fu ever will. Horribly planned development makes projects harder to write, harder to maintain, and, worse, harder to use. If a project is designed well, you can always go back and improve sections with better techniques (aha, instead of sorting these everytime for easier searching, I'll just hash them instead)... whatever.
The science part of comp sci should (hopefully) give you skills to improve design and power by applying abstract ideas to real code but honestly what most of CS will do is show you the questions you have to ask, how to ask them, whether they can be solved, and then how to try and solve them...
if she wants to make software, tell her to study design... any dumbass can code... and mouth-off on
dave
I looked at ACCIS 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.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
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.
Free will is just an illusion
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.
FalconShould there be a Law?
I work on a project in C all day for the university I attend, and poke around with FreeBSD and packet filter's internals a lot, and I don't even do things like that...
;)
That's a little overcommitted to the field IMHO
Error 407 - No creative sig found
I looked at U of M online while looking for a decent online electrical engineering masters degree.. What is up with the prices? From memory, it would cost me about $800 per credit hour for grad school. So, about $24,000 for a MSEE from there. That may not be unreasonable, but it seems to me that online degrees should not cost so much, because much of the course should be automated...
A witty saying proves you are wittier than the next guy.
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. A reasonably good book to get you started is "Learn Java in 21 Days" by SAMS.
(The rest of the choices should be chosen to mesh with your chosen language, perhaps java. These are listed in the order in which you should approach them, by the way.)
2. An algorithms text. Don't pick up any of the thin, softcover books which use the word "Algorithmics"; they're the equivalent of the "physics for poets" course liberal arts majors take in college. You want the equivalent of "Analytical Physics" here. Algorithms is the central course in computer science, the closest thing to "how to program" you'll ever see.
3. A data structures text. Yes, it's true that most modern languages provide you with data structures ready-made, but knowing their internals will help you choose the RIGHT data structure and when the day comes that you need to write one, you'll be able to.
4. A file structures text. These are getting harder to find, but they're valuable. You learn about how hard drives work, how the data is stored on them, etc, which helps you plan your file I/O better. Plus, you're usually introduced to some very good data processing algorithms.
5. An operating systems text, like the one I saw recently which describes BSD internals. Studying an existing O/S will take you leaps and bounds ahead of the people who just read theory.
6. A networking text, one that gets into TCP/IP especially. It's true you probably don't have to write sockets, but it's better to have at least tried it once or twice.
That's six books which together, add up to the spine of any computer science curriculum. With this particular set of knowledge, you'll be able to do just about anything.
Most people will suggest you study patterns also, but that's just light reading compared to this stuff, and you can do that anytime. Get through this, and patterns is a piece of cake.
Good luck!
Farewell! It's been a fine buncha years!
If you are looking for a Distance Education school, look no further than Athabasca University.
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 the Bachelor of Science in Computing and Information Systems Degree. This is a four-year degree with serious courses.
Essentially, once you register for a course, Athabasca University will mail you your textbooks, your lesson plan, and the contact information for your tutor who will provide advice and grade assignments. You work at your own pace over the six months you are given to complete the course. At the end, you go to a recognized university or college near you and write your final exam there, under the supervision of someone trusted by Athabasca U.
I personally have taken two courses there (one on object oriented programming, the other on relational databases) and they have both helped me immensely at work. I imagine a student more motivated than I could do a whole degree this way.
Have her take a look at How to Design Programs -- there is a complete introductory course which uses the DrScheme programming environment.
Get a real job instead.
Fuckin' CAPTCHA is fuckin' unreadable by humans, you slashdot assholes!
forget programming at first. Finish math first, through calculus. Don't open a single 'programming manual' until you can do ordinary differential equations. The bookshelves of places like barnes and nobles are full of crackpot non educated do it yourself hack books. The problem is, that the 'real' books, the good ones. are impossible to grasp without a math background, not because they are all math heavy, but because math is the primary language of algos and science in general. So instead of C and C++ and good object oriented design, you end up learning how to 'fill in properties and make stupid forms in vb' and then when you need real code, it will take you 20 times as long to do. I don't hire programmers without math skills, period. I don't even understand how people program without it. Well.. I do.. they program badly, and what they do they can't talk about or express corrently on a chalkboard.
Here's the order of skills you should have before starting
Basic Math (no, really, I have watched fairly bright coders who have forgotten how to do basic math by hand.)
Pre Alg - everything
Algebra - pay attention to slopes and y intercept, as well as the basic solving steps.
Geometry - if you want to do graphics
Trig - most of these formulas are well known, can skim over this, just know how to do things like cosine etc
Linear Alg - optional, but the basis for scientific computing in areas like sound and 3d
Calculus - lgnore at your peril..
now start on programming.
you can skim by as an average programmer without math, but you will never be accepted by 'educated programmers'.
programmers without math skills reading this, flame me all you want, Computer Scientists are *implementors* of algos, Mathmeticians are the *creaters*. Computers are the expression of 4000 years of math.
Work hard at math and no one will question your lack of a degree.
The current UMUC tuition per semester hour is $423 for undergraduates. It's more for graduates. Tuition would be less than this for Maryland residents or active-duty military.
Actually his question list is a very good indicator of whether or not she will make an amazing software engineer. It is an indication of having an aptitude for software engineering. And vi vs. emacs is anything but silly - heck in my office using the wrong brace indent style will get you stabbed in the parking lot.
:
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, etc.)
Can she walk past a VCR that is blinking 12:00 without fixing it?
Does she remember your phone number but forget your name?
At 9:00PM on a Friday night is she a)watching TV, b)outside, or c) on the computer?
You say 'she isn't into programming yet.'
If you are right, then she probably doesn't have what it takes to be an amazing SE. All it takes to be 'into programming' is a $200 used computer and some pirated software (os, compiler, used books.) I was sitting in front of the family TV with a C=64 hooked up to it for DAYS at a time, skipping meals and not seeing daylight just to spend time hacking on some code I got in BYTE magazine.
If I was going to recommend something for her, however, I would suggest she get Studio.NET or WebSphere Application Developer, get her hands on as much code as she can find, and simply re-type it in line by line and run it, see what it does. Not cut-and-paste, actually print the code out and re-type it line by line. Get a good base of example code to see what does what, why the computer does what it does, and all that jazz just to get a feel for how a computer 'thinks' and how she is going to talk to the computer. Eight hours a day, seven days a week for two months - Google the commands to see what all they do, and watch the code run in the debugger. Either she will realize she hates computers, or she will go on to be a pretty amazing software engineer.
Glonoinha the MebiByte Slayer
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 at an employer.
There are also many, many mediocre programmers available, so most employers have lots of people to choose from in the stack of resumes (very few good developers - but you only get good by actually working for a few years). Someone who isn't going to be able to meet with customers or show up at an office is not going to be at the top of the list. Bluntly, if her intent is to make a career out of it then there's going to be a lot of disappointment in the future, unless she has something a lot more specific planned than "being a software engineer".
So... what's the motivation for becoming a software engineer?
The details of how to learn to be a software engineer at home have been covered fairly well in other posts, but most of what you need to learn you learn by working with others in the field after you've done the academic side of things. But first she should ask whether it's the most constructive thing she could spend several years doing.
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.
I know this isn't answering the question, but I feel I must ask - being partly disabled myself.
Academic institutions are much better at accommodating disabled people than companies - and thats speaking from personal experience. She should be able to get some financial support if she requires any additional equipment. Additionally, you will only have to whisper contacting a solicitor if they do not provide adequate access.
Companies, on the other hand, although they are legally bound not to discriminate often do. I have worked in offices that were up 2 or 3 flights of stairs without access to a lift. Also, with the competition for jobs, can you really see a company employing someone who could attend the office on a regular basis? It's not right, but that is the way it is.
But to answer your question, The Open University, best by far.
Best of luck.
http://www.saxonpublishers.com/
IPTables enhancement Fail2Ban bans cracker-login's
pirated software? A linux distro is free and most come with a host of compilers. You can get free compilers for Windows platforms too, even Microsoft give away the .net compilers.
Basic math was pre ALgerbra? Go figure.
I did computer science at a university with a quadraplegic student, he went to all of the lectures and tutorials. I think that the computer science department must have made sure that his lectures were in lecture theatres that were accessible, but apart from that he was treated as a normal student. You could enquire about this at a university near you (if you live near one). I still remember the noise the pump made to assist his breathing, and he used to have to time his speech to match the machine breaths, but he participated like any other student and got his degree.
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 that in the past people in the computer industry had to hire people without CS degrees, because, for example, if in Alan Turing's time employers put a requirement for CS degrees then no one could fill such a job. But now that CS degrees have become common place and the people who are most likely to have the skills that the degree certifies would get a degree in the subject anyway, save the aging community in the field, but that is becoming less and less of an argument as they retire.
Hence, if, in 2005 you wish to start a 30-40 year career in the computer field, the CS route is the best way to maintain job security with the quality of competition from present and future generations (where quality demanded will grow as time continues and CS majors will beget more CS majors through market pressure).
Think about it in terms of game theory where you have a pigeon-holed based inflation. And in such a system, as the number of people available with a degree increases, so will the preception that the degree is required. Hence the "managers who will insist that only Computer Scientists are "real" programmers" segment of the population will grow until it becomes a standard.
The only thing against this prediction is that code monkeys should be cheaper. But by the time that pigeon-hole inflation comes into effect, their jobs will already be threatened, and computer scientists who have to eat will start competing for such jobs. Assuming this hasn't already happened, but I'm going to assume it has.
Am I open minded towards open source, or closed minded towards closed source?
To be fair, I run WSAD under SuSE Linux as my primary development environment so I assure you that it is entirely possible to run Linux and Pirated Software on the same machine.
... all software becomes F/OSS software.
The nice thing about running up the Jolly Roger is
Glonoinha the MebiByte Slayer
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 from people who were so sure that this college in Canada or that college in a cave in Arkansas was the right choice. Just beware of anyone who seems TOO willing to push a college down your throat.
Some online college rules in general. Be sure that it is accredited. I don't know what the accrediting body in the UK is that accredits all the traditional colleges, but find out. Then, any online college you attend should have that exact same accreditation. If not, don't bother. Any high school kid can throw up a website and sell degrees, but is anyone going to accept the degree? Probably not.
Secondly look at the courses the traditional colleges offer and compare those against the cirriculumn at the online colleges. If they aren't 80% the same, then your degree won't be usuable. No one wants a Computer Science degree holder who only took two computer related courses. Just like you wouldn't want a doctor who took one Anatomy class and the rest were your basic college courses. Make sure that the degree is going to actually teach you what employers are going to expect you to know. I would get a copy of the cirriculumn from a traditional university in the UK and compare it to any online college your consider.
Tell her to look around for a problem with no solution. She is disabled, so she must notice challenges in her daily life that she thinks could be solved with software. If she develops a passion to solve some problem, she WILL be able to learn everything she needs as she goes along, writing the program. When done, start a company and sell the software, or give it away and ask for donations, or consult with other companies developing software for the disabled.
As a side note, being a 'software engineer' as opposed to a programmer is all about design. The more time you spend designing software, the fewer bugs there are and the easier it is to enhance.
I was just pointing out there's no need to pirate, not that it cannot be done.
http://www.cs.uiuc.edu/online/
I have read good things about Department of Computer Science at University of Illinois at Urbana-Champaign when I was looking for online computer science.
I think you must enter with about 60 credits.
Category Theory is a subset of math, but do all mathematicians know it? Hell, I'll bet there are a lot that haven't even heard of it.
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. Hence, if a CS undergrad does not know how to program then it reflects poorly upon their character, but not the degree as a whole.
Am I open minded towards open source, or closed minded towards closed source?
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.
FalconShould there be a Law?
notext-yes,offtopic.sorry.
If opportunity came disguised as temptation, one knock would be enough.
3^2 * 67^1 * 977^1
U of MD (even the online courses) and UMUC are not the same school, though they're part of the same university system, their campuses are right next door to one another, and as a UMUC student myself I sometimes take classes on the UMD campus in College Park.
UMD offers EE degrees, UMUC does not.
-BK
Chemical Blog