At one time or another I have experienced all major ways of learning computer science: self study, university classes, and the group-oriented classroom. This gives me an unique ability to examine the pros and cons of each style. Since this is a large subject I have broken it into three blog posts.
Lecture Hall aka University
No one is a stranger to the classic college formula these days: lecture on monday, test on friday. While University teaching works to educate a large number of students in a (relatively) short time, it does have a few drawbacks.
Large class sizes
hard to reach professors
little to no sense of ‘comradery’
slows down the class
hard for professors to give meaningful feedback
Emphasis on tests
no real world analogies
leads to a ‘get an A’ mentality rather than a ‘learn this shit’ mentality
hard for professors to change class content
professors tend to burn out from dealing with bureaucracy
leads to stagnation
forms, hoops, and permissions for every decision
average cost of four year degree: $21,657
this number increases every year
takes four years of your life
Focused on theory
does not truly prepare you to develop
an accredited university provides formal proof of completion
required by some organisations
most provide an excellent foundation in theory
a large community leads to networking opportunites
achieve a working knowledge in a variety of subjects
Overall I dislike the current way that computer science is taught in universities. In the current environment it is almost impossible for professors to teach full time and keep up with the changing field of CS. This forces a greater emphasis on theory leading to graduates that can explain the O(n) of an algorithm they outlined, but have no idea how to launch a web server or an application.
Parts 2 & 3 of this series by Jack Nolan will be published in the coming weeks.