Senin, 06 Oktober 2014

Online Learning: An Intensive Bachelor's Level Computer Science Program Curriculum, Part II

Last month, we published a piece providing a basic template for a bachelor’s level computer science curriculum composed entirely from college or university courses that are freely available online. To date, this has been the most popular post on the blog, and we received a ton of great feedback, both positive and negative, in the comments and from around the web.

The original post was based on a learning plan that I had worked out for myself after I jumped into the study of programming and computer science just over a year ago on something of a whim. As I’ve mentioned before, I do not have any formal background in computer science beyond the handful of courses from this list that I have worked through myself. However, I do have years of experience in teaching and in curriculum design for natural and foreign language acquisition at the college level, and consulted the computer science curricula from a number of universities around the country when putting the plan together.

The idea was not to provide a substitute for an actual college or university education (that would typically also require a large amount of alcohol at the very least, which, unfortunately, is not freely available online), but rather to aggregate resources that have been made freely available online from disparate institutions and organize them into the sort of logical structure one would likely find in a general bachelor’s level computer science program.

On the basis of the feedback from that post, we’ve put together a new list of course offerings that covers a lot more ground. In the process, I’ve also loosened up a number of implicit strictures on resources for inclusion in the present listing. For example, some of these courses require registration at a particular website and/or may not yet be available in full (ex. Coursera), a couple others are actually compiled from other resources freely available online (ex. Saylor). But all of them are still free.

Whereas the first post was intended to provide a general overview of the field along with a generic curriculum and necessary resources suitable for an absolute beginner (containing 27 courses altogether), the present listing is much more extensive and intensive in scope representing 72 courses from 30 different institutions. While we have added a number of new introductory level courses, there is a lot more that may be of interest to intermediate level folks and perhaps even some who are highly advanced and are considering a refresher course or two.

The course listing is broken down into three major divisions: Introductory Courses, Core Courses and Intermediate/Advanced Courses.  Individual courses are then listed by category within each division. 

Last but not least, thanks to everyone who provided feedback and offered suggestions on how to improve the original listing. Special thanks to Pablo Torre who provided a ton of links in the comments to the first post, many of which are included here. 


Introductory Courses 

Intro to Computer Science:
Mathematics:
Programming:
Theory of Computation:
Data Structures and Algorithms:

Core Courses 

Theory:
Algorithms and Data Structures:
Mathematics:
Operating Systems:
Computer Programming:
Software Engineering:
Computer Architecture:
Data Management:
Networking and Data Communications:
Cryptography and Security:
Artificial Intelligence:

Intermediate and Advanced Courses

Algorithms and Data Structures:
Systems:
Programming:
Software Engineering:
Mobile App Development:
Web Development:
Databases and Data Management:
Security:
Cryptography:
Artificial Intelligence and Machine Learning:
Natural Language Processing:
Digital Media:
Networking and Communications:
Statistics and Probability:
Leave any suggestions for improvements or additions in the comments!

Source:http://blog.agupieware.com/2014/06/online-learning-intensive-bachelors.html

Tidak ada komentar:

Posting Komentar