8 ms·
Online Learning: A Bachelor's Level Computer Science Program Curriculum
- jonsen 12y agoIf you are going to educate yourself broadly over the subject of software engineering it might be helpful to take a look at what a committee of professionals think the software engineering body of knowledge comprises: http://www.computer.org/portal/web/swebok http://www.computer.org/portal/web/swebok
- dborg 12y agoThe goal of the post seems to be a curriculum for Computer Science, the chapters 13 and 14 in the list seem to cover most of this. Though I would approach the matter quite differently depending on if I wanted to learn all the CS in a certain degree or all the CS needed/useful for practical Software Engineering.
- capex 12y agoWhat's included in the 'needed/useful for practical software engineering' list?
- mcguire 12y agoIf you're interested, a while back I took a list at the "Consolidated Reference List" for the SWEBOK: "This is the first half of a none-too-serious annotated bibliography of the references that the IEEE Computer Society has identified as the most important sources for its Software Engineering Body of Knowledge (SWEBOK)." * http://maniagnosis.crsr.net/2011/11/consolidated-reference-list-for-ieee.html http://maniagnosis.crsr.net/2011/11/consolidated-reference-l... * http://maniagnosis.crsr.net/2011/11/consolidated-reference-list-for.html http://maniagnosis.crsr.net/2011/11/consolidated-reference-l... My general conclusion is that, if you have an engineer who is intimately familiar with all of these references (and nothing else) then you shouldn't really expect much work out of them.
- brudgers 12y agoIt's woefully missing the mathematics curriculum that all the reference institutions [and any accredited US program] require. Four semesters includ8ng threeof calculus appears typical. CS programs in the US also require the two semester physics sequence where calculus must be applied. Like any technical degree, understanding the maths is one area where the educated differentiate themselves from mere graduates. All those hours spent thinking mathematically and procedurally are useful. Comfort with ciphering is essential.
- argonaut 12y agoThat's because 1) calculus is taught in high schools and is generally taught in college regardless of whether you major in CS (so for example someone wanting to self-teach CS after college will have taken calculus). And, calculus is not particularly useful for most CS grads, except for specific areas (theoretical aspects of probability, machine learning, graphics). Many great CS programs also don't require physics. From my observations, physics requirements in curriculum tend to tacked on solely due to CS being in the engineering school. To be honest, physics beyond a general overview is not really useful for most CS grads, even those doing complex CS-heavy work. Discrete math, logic, proofs, and probability are all immensely useful in CS. However, they tend to be of a completely different flavor of teaching compared to calculus courses.
- dragonwriter 12y ago> That's because calculus is taught in high schools and is generally taught in college regardless of whether you major in CS (so for example someone wanting to self-teach CS after college will have taken calculus). The depth usually required for a CS degree is not usually required in high schools (and often not available there), nor is it usually a requirement for non-STEM degrees, and people wanting to self-teach CS after college will very often be non-STEM majors.
- brudgers 12y agoI'm not saying calculus is something that every computer science graduate uses in their daily professional life. But you're not going to meet a [US] computer science graduate who does not have it or a computer scientist who cannot perform it. And anything that says "here's what a computer science degree is" does a disservice by not mentioning it. My criticism is based on the same assumption that underpins your argument, that the people looking at this list already have a sufficient background in mathematics, or more generally that people looking at the article have general STEM training. Yet, just looking around HN, you'll see that many of those asking "Should I get a CS degree?" are people who just fell into programming, and in the larger world you have people moving into the field as a career change Think about all those bootcamps that market to liberal arts and business majors. These are people with degrees that correlate with a weakness in mathematics and science. A weakness which often shows up earlier in education and results in such people avoiding Calculus in high school and college. As I take online courses, the limiting factor [after time] is the amount of mathematics I have at my finger tips. It is perhaps a common problem as even Einstein is said to have wished he had studied more mathematics. In the end, if computer science education is basically vocational, then perhaps it makes sense to replace Calculus I and II with Rails I and II. But that's not really what 'Computer Science education' usually means. That's IT and CIS.
- evadne 12y agoMy own opinion regarding on-line academic programs: Accreditation or GTFO.
- krat0sprakhar 12y agoCan you elaborate how a lack of accreditation lowers the effectiveness of any academic program? A lot of real-world learning that is useful is not via a "accredited" source.
- mcguire 12y agoAt the time I went there, at least, UTCS at Austin wasn't accredited, although it was one of the top CS departments in the country. The general consensus was that accreditation was such a low bar it wasn't worth pursuing and that it would put requirements in place that would limit future flexibility. We were leading, not following, dammit! On the other hand, accreditation is a pretty low bar and many of the courses that are not have, like this list, overwhelmingly massive chasms of missing fundamentals along with a heavy focus on things that are "trendy" and "relevant" and will thus be completely useless next year.
- dgritsko 12y agoWhat do you think of Georgia Tech's "$7,000 Master's Degree"? http://www.omscs.gatech.edu/ http://www.omscs.gatech.edu/
- aptwebapps 12y agoDoes anyone offer a Bachelor's equivalent of this? Last time I looked, most online offerings were more like Information Science and the like. I don't recall a full BS CS online.
- douglasisshiny 12y agoThere are several. The two that come to mind: University of Maryland, University College (UMUC) [1] and Oregon State's Post-bachelors program [2]. If you search /r/cscareerquestions, you'll find some posts about each. I am currently finishing up semester two of seven at UMUC's program. It's okay. Why am I in it? It's free for me. I'm not sure what GT's masters program delivers, but UMUC's online program hasn't changed since it's inception (the 90s, I think). There are no online lectures and little guidance from professors. I read a text book, do exercises, submit assignments, take tests. I do like the structure and pace (two classes a semester), and I'll have a bachelors in computer science. 1. http://www.umuc.edu/academic-programs/bachelors-degrees/computer-science-major.cfm http://www.umuc.edu/academic-programs/bachelors-degrees/comp... 2. http://eecs.oregonstate.edu/online-cs-students http://eecs.oregonstate.edu/online-cs-students
- jacques_chester 12y agoA reasonably well-rounded alternative would be the Ars Digita "University" program. It was meant to be a 1-year intensive course. http://aduni.org/courses/ http://aduni.org/courses/ I might also note that it'd be nice if we pinched some stuff from our neighbour professions. In chemistry you take lab class, in some engineering disciplines there's metalworking or assembly. It would probably handy to have at least one "shop class", being a mix of tools (here's an editor, here's version control, here's testing) and craft (here's your copy of Code Complete). Also ... where are the databases? A lot of damage is done in this industry by not understanding the concept of structured storage and querying. If you're going to take discrete maths (including graphs, sets and predicate logic), you'd be missing out if you don't get to apply it.
- loganfrederick 12y agoSome of the links in the article are to course videos from Ars Digita.
- adamf 12y agoI wrote up a CS bachelor's curriculum in 2012 using only Coursera courses, and had the same problem with the lack of fundamental math courses (http://www.thesimplelogic.com/2012/09/24/you-say-you-want-an-education/ http://www.thesimplelogic.com/2012/09/24/you-say-you-want-an...). I do think there will be a full CS curriculum from one of the MOOC providers soon, but I don't think such a curriculum will produce many "graduates" unless it is paired with in-person instruction of some kind.
- ChuckMcM 12y agoThis is an excellent list. I've been coming at it a slightly different way and trying to figure out what the three semeseters of "computer science" would look like in at the high school level. The thought being that some amount of understanding of computers has become essential to everyday life.
- nisa 12y agoI really like this list here: http://matt.might.net/articles/what-cs-majors-should-know/ http://matt.might.net/articles/what-cs-majors-should-know/