I mentioned in my Hello World post that my goal is to learn how to develop apps for iOS devices (meaning the iPhone and iPad). To reach that goal I decided to check out the iTunes U courses for iOS and quickly landed on the CS193p course from Stanford University titled Developing Apps for iOS (Fall 2010). On loading up the course I see that the prerequisits are the CS106A, CS106B and CS107 which means I need to learn Java (CS106A), C++ (CS106B) and CS107 which covers several languages and the differences between them.
The CS106A course is called Programming Methodology and is an introduction to programming. Looking over the course I see that it was created in December 2011 and was recently updated a few months ago. Dr. Mehran Sahami is the main lecturer and he introduces you to programming at first by using a robot called Karel. The course is designed for beginners in mind as it requires no prior knowledge although recommends a lot of hard work and dedication if you want to make it through.
The CS106A has 28 lectures which are taught 3 times a week for 50 minutes each which means you should be able to get through the course within 2 – 3 months if you put a good amount of effort in.
CS106B builds on the foundation you will learn in CS106A. This particular course is called Programming Extractions and is taught by Dr. Julie Zelenski and takes around 10 weeks to complete. Like CS106A, this course was also uploaded late 2011 and was also updated just a few month ago.
The language used on this course is C++ which is described as being similar to both C and Java. It appears to share the same roots as the other languages which makes sense… I’ll find all that out when I begin this course.
There are 27 lectures on this course with a number of assignments to help you put your skills to the test. I’m looking forwards to learning on this particular course.
Just as CS106B was built on the foundation of CS106A, CS107 builds on top of what you have also learned in the previous two courses. This particular course is called Programming Paradigms and also takes about 10 weeks to complete. The course is taught by Jerry Cain and covers advanced features of both C and C++ languages and also briefly covers several other languages such as Python, Objective-C and C#.
When I manage to get through the next 30 weeks or so of the previously mentioned courses, this is where I will begin to learn how to create apps for iOS devices. The CS193P course has two options available which includes 2010 and 2011. I will be opting for the later course which is taught by Paul Hegarty as this includes later information concentrating on iOS 5 although an update last month will probably include some iOS 6 changes as well.
After finishing the above courses, I plan to branch off to other iOS courses although I haven’t decided which route to go yet. My main goal is to get up to speed with programming and then work through the courses.
All courses are about 10 weeks long each, so in total I’ll be spending the best part of 2013 studying and practicing.
If you want to follow my progress, sign up to the news letter which can be found in the right column at the top of the page.