ossu / computer-science

🎓 Path to a free self-taught education in Computer Science!
MIT License
168.77k stars 21.35k forks source link

Split curriculum into core and optional modules #153

Closed timblair closed 8 years ago

timblair commented 8 years ago

Based on the durations listed by each course, and that a student is encouraged to "complete one course at a time," it's going to take nearly 7 years for a student to complete the whole curriculum (without taking into account any additional project-based work). This doesn't seem realistic to me.

Is it worth splitting splitting the curriculum in to "core" and "optional" modules?

The core modules would cover the basics of any CompSci education, including basic concepts, required maths, algorithms, etc, whereas the optional modules would be more like electives. Each optional module may have pre-requisites, which may be core module or other optional modules; this is how many brick-and-mortar university courses are arranged.

This would give the student the chance to follow a path that interests them, while not requiring them to complete 7 years' study. Given how quickly technology moves on, the other advantage is that the content of the optional modules may change much more rapidly than that of the core concepts.

mseyne commented 8 years ago

I agree with you, even if I believe than 7 years apply if you doing one course at the time, 7/15 hour per weeks (which would happen to people who have a day job anyway). I imagine than you can achieve it in less time than that.

Nonetheless, I agree with the fact than we really need to decide on a core curriculum and separate it from what is optional to help the devs. I think, we should build a core curriculum of 2/4 years to not frighten peoples with a too big mountain to climb. And let a space for modularity.

redstrike commented 8 years ago

+1: I didn't count that all of that courses will cost me 7 years to learn. With the previous self-taught knowledge and working experiences, I could fast-forward the main lecture of HarvardX's CS50. But I wonder what happens after CS50 of Harvard? Do I need to spend 38 weeks (~10 months) to "master" the topic "Introduction to Computer Science"?

I know some modules are cool to learn, but as a person who is having an interesting day job to do every day and don't really interested in those modules. I think it will be better if I could know which courses are "core" and "optional". I would focus on core courses first, then try optional courses later.

OSS Uni is a great idea, so it needs an innovative and well-customized curriculum for its mission. Don't just depend on the old curriculum structure of the universities and mix the MOOC courses together.

vnen commented 8 years ago

:+1: Since this is an Open Source course, I believe it's not cool to disregard my previously acquired knowledge and require to start it from the beginning. I'm taking CS50 and while I found the approach very interesting, it isn't really making me learn anything new.

ericdouglas commented 8 years ago

Each student have the power to choose which courses he/she wants to take.

If there are more than 1 course in one topic, it's logical that there is a reason to this. Each Intro to CS course will teach different things, for example.

I really don't see any problem in spend 10 years studying this curriculum, because after do this, I will know infinitely more about such subjects.

And this will occur incrementally. After each course you already will be better, so there are no reason to not follow this curriculum in the way that it is today.

If you don't want to study some topic, just pass to the next section. Is that simple!

Almost all courses here have a Recommended Background or Prerequisites section. So, just see if you have the necessary background and go ahead! :smile:

redstrike commented 8 years ago

I wonder why the guides in the post below are more comprehensive than OSS CS's README? I believe that the information should be clearly and helpful, instead of just throwing a list of courses to students and ask them to study all of those courses for the next 10 years.

Obtaining a Thorough CS Background Online http://spin.atomicobject.com/2015/05/15/obtaining-thorough-cs-background-online/

ericdouglas commented 8 years ago

@redstrike

How much time do you will spend doing all the courses pointed in that article? In that article, you have 4 courses about Calculus One, and is up to you choose which one you want to do. This situation occurs for other courses.

You're not doing a fair comparison. The two references have different goals.

Our curriculum covers more than a usual CS course. We try to cover also topics about Software Engineering and Software Development.

Those 3 fields combined will produce a solid base for a software engineer/developer.

ericdouglas commented 8 years ago

Just one last consideration to refute all the arguments about the myth of the "seven years curriculum".

You will study in our curriculum something around 10 ~ 15 hours per week.

How much time do you spend in a traditional CS graduation? Something around 40 ~ 80 hours per week, if you pretend to do it properly.

There is no magic. It's the law of the equivalent exchange. If you spend more time doing this curriculum, you'll finish it quickly.

Spend 4x more time here and you'll finish this curriculum in 2 years.

It looks really good to me :smile:

@timblair answering your initial question:

all courses are optional, because if you don't want to learn Math, you'll just ignore the label core in such courses.

This is a recommended path, but there is no perfect path. We'll never have one. Each person has a preference.

For that reason, is up to each student choose the courses that they want to do, but our curriculum will be the same because we're looking here for the big picture.

If someone want to choose between different things, first he/she should study the basics about those things.

Thank you for start this discussion!

mseyne commented 8 years ago

I will use this discussion for the FAQ I am working on. Because, I am sure it will come back :smile:

ericdouglas commented 8 years ago

@mseyne great! I'll improve our README after with more about it, too. :smile: