It used to be, that a paid coursera course meant that you would only need to be pay for a certificate, and can audit for free. Now auditing means that you cannot get your assignment graded, so only courses that choose to be free allow grading. We have some courses that are paid. How does this affect the goal to be a completely free resource?
Do they start offering human assignment grading or still machine grading? Will you provide an example (course with link)? I have never encounter this kind of situation before.
@You are allowed to look at the assignment or graded quiz, but not allowed to submit and get a grade. A recent one that I just came across in the extras section is the probability course. Some courses do offer answers, or testing suites, but not all of them do, so a lot of times you are unable to know whether or not you got a question correct.
@Heasummn I think that's probably the reason why that course is inside the _extras section_. I believe the courses inside the main curriculum perhaps are more than sufficient. The extras section is purely for supplements purpose.
Maybe we can add an extra column to label whether a course is 100% free of charge or need to pay for the full experience.
Personal opinion, feel free to discuss this issue further.
I think we should strive to promote courses that allow for free and open access to all the materials, so that a student can chose to complete the course for free. I think it will depend on the course whether or not having access to the "premium content" is actually that important for learning the material or not...so we might need to review each courses a bit more carefully?
With our project-based approach, the only thing that really matters is the possibility to have access to all the learning resources of the courses.
I don't see this limitation about grading as a big concern.
It is really fair that only students that pay the course will have their assignment graded.
Our focus here in OSSU is to create real projects, and for this purpose, assignments are not relevant for us.
If a course has some kind of limitation based on money to access its content, this course will be removed from our list.
I do not think those entry level courses can apply project-based approach (also for those mathematics courses) and which make the grading system fairly critical to the learning process.
As I mentioned in https://github.com/open-source-society/computer-science/issues/284. I cannot check the solution for the Quiz and Final Exam, which I believe make the learning process less efficiency.
The baseline for the project-base approach is that the course itself should be project driven, for example, MIT 6.00.1x is not a project driven course, but Harvard CS50 is.
Once again, it is personal opinion, feel free to discuss this issue further.
I am planning to complete the entire curriculum in one year time (It's 10th day for the challenge). I record my daily learning note at http://challenge.frontseat.io/en.html and I think if I can complete the challenge, it might inspire others to complete it as well.
@li-xinyang I really appreciate your point of view and your contribution for that discussion, but:
"The baseline for the project-base approach is that the course itself should be project driven..."
This is not true! We can create thousands of projects for any course. This is one example.
In the be creative section we said that student can also create an article to verify if he/she is able to apply the acquired knowledge, for example.
It may be harder for some courses for sure because this proposal is a paradigm shift, and for that reason, we need to make an extra effort and spend more energy in order to adapt to this "new" approach.
Good luck in your one year challenge! :smile: :four_leaf_clover:
@ericdouglas
Indeed, I can apply every single point of knowledge to a simple mini project, like the one you linked above.
convert decimal into binary which maybe is 1 of 1000 things we can learn from the first course and it is also not possible to create 1000 super mini projects for a single course.
However, use one project to cover everything taught in one particular course is hard, and that is the reason why I think a project-base approach should be based on a project driven course because the course itself is designed to use a learning-by-doing method.
So far I am still exploring the way of learning these materials efficiently, and I will try everything I can to make sure I master everything a CS student needs.
I will record my entire learning experience and share with you periodically, which may help other students who are also trying to use this curriculum with little guidance.
Of course, I will think about your suggestion and try to come up or "design" a project which may cover most of the things learned from a course.
Once again, thank you so much for providing these excellent self-learning paths for everyone.
@li-xinyang
I agree with your opinions.
It is really tough to find a "perfect" system because each of us have a particular way of learning.
We suggest a path, but every student should refine the program to your necessities, abilities, and possibilities.
Yes, share your progress! It will be extremely valuable for all of us!
I see @ericdouglas's point.The knowledge gained from courses can be applied in ways other than just creating a program, as many courses are more theory than programming. I feel that we should add some sort of marker if a course is only "audit-able" for free. I really do enjoy being able to check myself and know that I'm doing things correctly as the assignments and quizzes in courses allow us to do. But I see how this feature isn't completely necessary to accomplish the goal of the OSS.
@li-xinyang I really like your website and congratulate you on your goal! keep it up!
I think that the goal of each project is not to implement _all_ of the material for a course, but to simply demonstrate that you learned and are able to internalize a some portion of it (while also integrating it with things you already know).
For example, you could not really come up with one project that uses all of the basic data structures learned in an intro course (linked list, stack, hash map, suffix array, etc.), but if you create a project that implements just _one_ of them in a useful way this would demonstrate that you can do the same for the others. It is difficult to judge what the proper scope or scale of these projects should be, but I see them as taking one or a few important concepts from the course and putting them into use.
So, in theory any course (even the introductory ones) could be the basis for a final project, but this is easier said than done. I wonder if we should switch from "one project per course" to "one project per topic"? Anyone have thoughts on this? This would make it more reasonable to have slightly larger projects.
With respect to the math courses, I'm too am not entirely sure how to create a project for the calculus courses, but I think it is still possible. You would clearly need to use some programming to implement them. Maybe a simple physics engines is an example? There are probably better ideas out there...
@Heasummn : One idea is you could use the OSS-CS community as a way to check your answers. You need to make sure not to share answers publicly, but you can find fellow students in a number of ways (using our gitter channel, or the webapp that @SergeyKhval is working on, or the course discussion board) to find other students who took or are taking the same course. You can then share answers privately with these other students to check you answers.
I think having another column with whether its "all-free" or "partly-free" might make sense. I also would like to see a column for if its "continuously available" (you can start at any time), or "date-based" (you enroll in a session which starts on a specific day). This could be helpful too, and I think we should prefer "continuously-available" over "date-based" courses.
@Heasummn I reviewed all courses in the main curriculum and I think they are not equal to the one that you listed here. All courses are free without limitations (you just don't get a certificate).
Although I like your suggestion about adding another column stating if the course is "all-free", it seems like we'll add a lot of information for the sake of just one course, one exception. For that reason, it'll not be a relevant information, IMHO.
@crmackay
"I think that the goal of each project is not to implement all of the material for a course, but to simply demonstrate that you learned and are able to internalize a some portion of it (while also integrating it with things you already know).
For example, you could not really come up with one project that uses all of the basic data structures learned in an intro course (linked list, stack, hash map, suffix array, etc.), but if you create a project that implements just one of them in a useful way this would demonstrate that you can do the same for the others."
Yes, you perfectly described what I was trying to explain! :smile:
"With respect to the math courses, I'm too am not entirely sure how to create a project for the calculus courses..."
We can create programs for calculating integrals, derivatives, draw graphs for functions, and so on. We can also get some inspiration here.
"I also would like to see a column for if its "continuously available" (you can start at any time), or "date-based" (you enroll in a session which starts on a specific day). This could be helpful too, and I think we should prefer "continuously-available" over "date-based" courses."
This is a good idea. Maybe a column called "Availability", with two possible options that you suggested: continuously-available and date-based courses`.
@ericdouglas @Heasummn @crmackay @li-xinyang I would like to say something about the roadmap of free MOOCs they are no more provided by any of the major MOOCs providers like (edx.org, Coursera.org, Udacity) except cybrary.it is completely free to learn and achieve certificate although Udemy yet have some free courses you can read this article Free MOOCs Forget about it. In edX you can have your answers graded and you can see whether or not your answer is correct but in Coursera. Besides these you have one other MOOCs provider who are yet free MVA. And the MIT opencourseware is always free but the same thing happens here you have to grade your own. So I believe if you want to learn for free you have to be creative. Forgive me if I am saying anything wrong. Thanks.
Most helpful comment
@ericdouglas
Indeed, I can apply every single point of knowledge to a simple mini project, like the one you linked above.
convert decimal into binary which maybe is 1 of 1000 things we can learn from the first course and it is also not possible to create 1000 super mini projects for a single course.
However, use one project to cover everything taught in one particular course is hard, and that is the reason why I think a project-base approach should be based on a project driven course because the course itself is designed to use a learning-by-doing method.
So far I am still exploring the way of learning these materials efficiently, and I will try everything I can to make sure I master everything a CS student needs.
I will record my entire learning experience and share with you periodically, which may help other students who are also trying to use this curriculum with little guidance.
Of course, I will think about your suggestion and try to come up or "design" a project which may cover most of the things learned from a course.
Once again, thank you so much for providing these excellent self-learning paths for everyone.