ossu / computer-science

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

Thoughts on reorganization of the curriculum #616

Closed st-den closed 4 years ago

st-den commented 4 years ago

Intro

I know you have made an effort in the past to make this project more friendly, interactive and community-driven. That's the reason I created this issue, because I think OSSU is one of the most friendliest and coolest places to learn CS on Earth. It is a wonderful source of knowledge, assembled by the community. (Well, mostly by few people.)

You may heard people say 'universities are dying' and may even felt it yourself. At least, it is like that for me. I believe this is the reason I discovered OSSU in the first place few years ago, searching for hope in the open source community. That's why I think, at least for now, it may be a powerful alternative, which brings students together, effectively motivates them and produces competitive results against a conservative system.

Problem/Current State

This repo in it's current state, albeit really cool and well-thought, is 50+ courses and few books (not counting extras) with an estimate of 2 years to complete, devoting 3 hours every day. Maybe it's just me, but I find it quite depressing for a beginner, a person looking forward to show the world his/her first website/game/app/script. Only at the very end of this journey OSSU quickly recommends to do a project.

Moreover, cohorts/forum/chat/subreddit seem not to be very popular for a 50k stars page. Meanwhile, some half-baked Udemy course gets hundreds of upvotes and comments on Reddit and it happens every day in many programming subs. Small Discord channels are being created.

The thing is, people like little wins, fun projects. Especially now, in the age of computer games and YouTube. People like usefulness, practicality. Especially now, when you can enhance your life with code and when a nice portfolio can land you a job. Also, people like to create, and to create together.

I believe you better have a goal in mind while learning something, otherwise you'll almost certainly fail. Therefore I think the learning process should focus on projects. Heavily. Currently we have a small page, which was updated 1.5 years ago, which contains something like 3 projects and a link to some list of projects.

We already know the statistics of MOOCs success rate. And we know the cons of a classical university system.

Naturally, there are not many success stories from OSSU students. Because it almost entirely is just an unguided list of courses, albeit a good one. Also, if you google OSSU online, you'll find people saying it's too big. It really is. They are afraid before even starting.

Proposal

I admire the work every contributor has done here, and I think we should do more, do something about it. So people could share a link and say: 'this is THE place'. So the chat and subreddit could be active, so projects could be done together. This place can be changed for better, it can be a cutting edge highly motivating interactive guide, ahead of everything else.

Every student is interested in it. So let's start from polling Reddit? We can find out what students need, and we can listen to the people who already have a job in CS. Finally, we certainly need more people, more opinions, so spreading the word will also help with this.

Please, share your thoughts about it. Does it make sense for you?

riceeatingmachine commented 4 years ago

This repo in it's current state, albeit really cool and well-thought, is 50+ courses and few books (not counting extras) with an estimate of 2 years to complete, devoting 3 hours every day. Maybe it's just me, but I find it quite depressing for a beginner, a person looking forward to show the world his/her first website/game/app/script

The OSSU is more of a full time university like education than a coding bootcamp.

A person looking forward to show the world his/her first website/game/app/script

Those are programming assignments for programming courses. Much of computer computer science is systems, mathematics, databases, etc.

I don't think the OSSU should take the "have fun" route. It destroys the rigor of the curriculum, because depth is always traded off in the name of accessibility.

There are many other courses and bootcamps people can do if they want a quicker education with projects.

waciumawanjohi commented 4 years ago

I support fun! And I understand that the curriculum is daunting. There's a reason that it is. Because OSSU strives to teach students the equivalent of an undergraduate education in Computer Science.

That's very different from a bootcamp. The learner that is looking to get a fast introduction to a web framework and immediately look for work has a different goal from the student who studies computer architecture, algorithmic complexity, logical proofs and the many other topics of CS. Both students have worthy goals and should have programs that support them. OSSU is focused on the computer science learner.

The curriculum does have little wins. The courses ask students to submit code regularly. By week 3 of Introduction to Computer Science and Programming Using Python students are programming a game of Hangman. The following week they program another game.

Finally, on the curriculum being too big. I take this criticism seriously. A major driver for my RFC here https://github.com/ossu/computer-science/issues/609 is that we should cut out bloat from the program if we are recommending too many courses. A reduction in math courses is likely soon.