When I hear people talk about taking online courses I hear the usual marketplaces mentioned. While these are great places to learn I find it a little odd that iTunes U is usually a place that people forget about. If you weren't aware iTunes U is the world's largest catalog of free education content.
- Choose from more than 1 million free lectures, videos, books, and other resources on thousands of subjects from leading educational and cultural institutions around the world.
- Share your favorite courses with friends using Twitter, Facebook, Mail, and Messages.
- iTunes U includes materials from Stanford, Yale, MIT, Oxford, McGill University, La Trobe University, University of Tokyo, Museo Nacional del Prado, Smithsonian Libraries, National Theatre, Library of Congress, and much more.
In this article, I am going to give you 6 courses that can help you grow as a Software Developer. While some of the courses on iTunes U are a little out of date I believe these courses can be of help to you right now.
Tools and APIs required to build applications for the iPhone and iPad platforms using the iOS SDK. User interface design for mobile devices and unique user interactions using multi-touch technologies. Object-oriented design using model-view-controller paradigm, memory management, Swift programming language. Other topics include object-oriented database API, animation, mobile device power management, multi-threading, networking and performance considerations.
This course provides a broad introduction to machine learning and statistical pattern recognition. The course also discusses recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing. Topics include supervised learning (generative/discriminative learning, parametric/non-parametric learning, neural networks, support vector machines); unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs; VC theory; large margins); reinforcement learning and adaptive control.
This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.
This course will show you the basics of Python and you will be able to create some basic programs using it. You will need Python, which can be downloaded from the Python website, and also easygui which can be downloaded from the easygui website!
An introduction to the fundamental features of the Java language. Topics include object-oriented programming, generics, collections, and I/O.
"Demanding, but definitely doable. Social, but educational. A focused topic, but broadly applicable skills. CS50 is the quintessential Harvard (and Yale!) course."