The following is a guest post by Jack Nolan and originally appeared on his blog. Jack is currently a student a The Flatiron School. You can learn more about him here, or follow him on twitter here.
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.
Cons:
-
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
-
completely academic
-
no real world analogies
-
-
leads to a ‘get an A’ mentality rather than a ‘learn this shit’ mentality
-
Bureaucracy
-
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
-
Cost
-
average cost of four year degree: $21,657
-
this number increases every year
-
takes four years of your life
-
Focused on theory
-
great foundations
-
does not truly prepare you to develop
Pros:
-
Degree
-
an accredited university provides formal proof of completion
-
required by some organisations
-
most provide an excellent foundation in theory
-
College experience
-
a large community leads to networking opportunites
-
achieve a working knowledge in a variety of subjects
To conclude:
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.