Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Buffsteria

macrumors regular
Original poster
Jun 9, 2012
227
0
I realise just how broad and vague this sounds but...here it goes...my teenage son wants to know if there's a "complete computer science course" that he can study from, using his 2007 17" iMac. There, I told him I'd post the question and I posted it.

I'd google it, but I'm guessing that if it has come to this, he's tried it.
 
I'm not entirely certain what he means, but he could take like an online class from a local community college. It'll probably end up being like $350 or so.
 
How old is he? (Teenager = 13-19...pretty big spectrum).

A lot of community colleges will let anyone sit in the class - they just won't get credit or grades (I guess). They might let a 16 year old do it, but probably not a 13 year old.

If he wants to program, then just buy a beginners book in Python (or other language, but python is pretty easy to learn) and let him work through the exercises.

Computer science is a pretty broad term - any specific areas he wants to learn/study?

What computer he has is pretty irrelevant in most cases.
 
He's 15, he wants to be a computer science major later on and he wanted to start learning early.

I just asked him, he wanted something along the lines of the "Standard Deviants" DVDs...so a video course! Interesting, I wonder if they even make video courses for that.
 
Standard Deviants or Standard Deviation? Never heard of the first, the second is something they discussed in my statistics classes.
 
The computer doesn't matter obviously. But it's better to be on a mac than a windows system. Make sure your son installs Xcode and then macports.

In terms of courses there is this one:

https://www.coursera.org/course/cs101 but it's not scheduled atm. It will probably be run later this year. Keep an eye out. It look like a good one to start with.
 
You could start with Java... but that depends on the course that hes going to join, whether it will teach Java or C++ or C#.

OR you can let him get a headstart on theory stuff, which would be the best option IMO.
 
C++ is mandatory for most computer science majors. If he wants a head start for school he should learn C++. Believe it or not most labs have windows for the beginner C++ classes but you can compile it easily through programs on the mac as well.
 
First two years down of my CS degree, I took two C++ classes and am now transferring to the University of Washington. I found out that only Java counts for degree requirements, so now I'm taking that. Personally, I like writing code in C++ a lot more than Java, and it especially comes in handy while learning Objective-C.
Just my 2¢
:cool:
 
From my experience learning works much better if there’s instant feedback. That’s the way games work to get hour’s of attention from the players.

The typical Xcode way during iPhone development (code - compile - run / code - compile - run / …) is already close to this.
But to be honest, Objective-C/Xcode has a steep learning curve at the beginning. Basically you are better off if you know the C language—which is quite boring to learn—before your learn Objective-C. Or you will be forced to look up things in the C documentation while learning Objective-C because certain knowledge is commonly expected. So I doubt that this will be the best choice for a beginner. Because you don’t want to frustrate a beginner with several sources of documentation and learning dry basics before getting to the interesting topics about iPhone programming.


You might want to have a look at Processing (http://processing.org). It's a language targeted towards visualization. The typical users are programmers and artists. Since a lot of artists don’t have a deep technical knowledge about programming many good tutorials which teach the basics have been written. There are several very good books, too. I recommend “Learning Processing” from Daniel Shiffman.
And the best thing: Processing is built on Java, so you learn the basics of Java programming without even noticing it. :)
 
Last edited:
Check with your local community college and see if they offer any online course he may be able to take.

15 isn't too you, so long as he is bright enough.

I believe most community colleges have programs where teenagers still in say High School can take tests to qualify as credit students at the college.

I know my son did that, he took a few tests and qualified to be a credit student. When he was in High School he took his High School classes in the morning and his last two High School class periods were spent at the college.

If he can do that, then when he graduates from High School he will already have some college credits to his name as well.

Also is possible make sure the community college credits he earns are transferrable to another school, they should be but its always good to check.
 
I saw a reference to coursera CS101 that I've been taking and decided to post some comments. The class is for the very beginners, it's mostly general talk (the good one though:)) , no coding. I found CS 101 (building search engine) on udacity more suitable for me as I was looking for programming lessons and practical skills. Edx is also offering some computer classes. In fact, these days there are so many free online classes from the top schools that I wished there was an aggregate list of MOOCs. Does anybody know a good one?
 
Your son should be able to install MIT Scheme on the iMac, then follow the lessons in Structure and Interpretation of Computer Programs (SICP).

This was the first-year computer science textbook at Massachusetts Institute of Technology for years before it was replaced by a Python text (which many old timers frown upon).

MIT Scheme/Lisp is not a popular modern computer language. However, the primary point of this textbook is to teach basic concepts, logic, analyzing and solving problems, etc. SICP was finally sunsetted by MIT in 2008.

Programming languages come and go. Basic concepts last for decades.

Your son does not need to tackle C#, C++, C, Python, Java, Objective-C, Xcode, whatever right now. If he does, there's a strong chance that he will not see the forest for the trees.

Also, keep him away as long as possible from IDEs like Xcode, Visual Studio and their ilk. He should learn how to program in emacs.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.