Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplifying Curriculum #751

Closed
ghost opened this issue Jul 19, 2020 · 7 comments
Closed

Simplifying Curriculum #751

ghost opened this issue Jul 19, 2020 · 7 comments

Comments

@ghost
Copy link

ghost commented Jul 19, 2020

No description provided.

@waciumawanjohi
Copy link
Member

The contributing section points to our curricular guidelines. One thing to note is that the CS2013 splits CS courses into 17 knowledge areas! This approach would move us further from that model.

The links to the 4 different schools similarly shows a variety of ways to categorize courses. The proposed system above matches the Princeton approach. This is somewhat similar to Harvard, which has the broad buckets of Basic mathematics, Basic software, Theory, Technical electives. Stanford uses Prereqs, Programming, Core and Electives.
MIT does not use such buckets.

Right now we essentially have the buckets:
programming
math
systems
theory
applications
security
tools

The Extras match this, with the exception of two classes in extras that are called: Online Learning - Great Courses. These are simply not part of the CS curriculum at all and are included because students found them valuable in preparing them for online learning.

I infer 3 goals from your proposal:
The structure of Extras should match the curriculum.
The curriculum should be easy to update.
The sections should be easy to understand.

It's not clear to me how these goals aren't fulfilled by the current sections. Can you discuss a place where you feel they are not?

@waciumawanjohi
Copy link
Member

To be clear, Wikipedia uses 4 buckets:

  • Theoretical computer science
  • Computer systems
  • Computer applications
  • Software engineering

I'm interested to hear your response about goals. Did the 3 goals I listed above accurately summarize your goals?

Note: You point out that math can be inside theory along with algorithms. But in the grouping above discrete structures (which is essentially the union of algorithms and structures and discrete math) is in systems.

@AbdesamedBendjeddou
Copy link

I agree that your suggestion:
-May make the curriculum easier to understand.
-More flexible and easier to update and adding or removing courses.
-The guideline sections can be nested in it, so we wouldn't move away from the current approach of the guideline as @waciumawanjohi wanted to avoid.
-The last suggestion when you added the extra courses just beneath the main courses will make the courses more visible and accessible, allowing students an easier comparison and switch between courses.

However, I suggest:

  • keeping the intro section as it is, so newcomers have an easier time knowing where to start.
  • your suggestion when you have put the advanced courses in the same table as the core courses better be avoided since it will create a little confusion (students may think that they should advance per table rather than core than advanced).

in my version of the OSSU curriculum, I used the same sectioning used in "teachyourselfcs" because I kind of merged the two of them and probably I will update it to use this one

@ghost ghost changed the title Simplifying Tracks Adding a Course Library Jul 20, 2020
@ghost ghost changed the title Adding a Course Library Adding a Library Jul 22, 2020
@ghost ghost changed the title Adding a Library Adding a LIBRARY.MD Jul 22, 2020
@ghost ghost changed the title Adding a LIBRARY.MD Adding LIBRARY.MD Jul 22, 2020
@ghost ghost changed the title Adding LIBRARY.MD Simplifying tracks for v9 Jul 23, 2020
@waciumawanjohi
Copy link
Member

It's been over a month since the last comment on this issue.
This issue raises a number of different suggestions:

  • Change how duration/effort are reported. (This actually inspired this RFC: RFC: Stop reporting duration and effort #773)
  • Change how we report topics covered, to report the Knowledge Areas from our curricular guidelines. (I support this!)
  • List the Knowledge Area next to each course.
  • Change how math is organized, removing multiple courses.
  • Add How to Learn to the main curriculum.
  • Add the school and platform of a course.
  • Add an entry for "Additional/Optional Support" for courses.
  • Change the grouping of courses

It's been difficult to have discussions about each of these. Both because they are all bundled together and because comments were edited multiple times after contributors had voted or commented on them.

Lots of interesting ideas. By breaking these out into separate proposals contributors will have the opportunity to discuss the merits of each. In particular, any proposal for a substantive change (like adding or removing courses) should go through an RFC.

@krishnakumarg1984
Copy link

@waciumawanjohi I wish to understand how a major version bump happens here in OSSU? There have been many PRs to the curriculum over the past few months, but the rev is in v8?

Meanwhile, in the wiki, I see some drafts of V9, and in quite a few issues, I see many many more drafts of V9 and variants. How do we go from version to version? When is V9 scheduled to be released?

@waciumawanjohi
Copy link
Member

From https://github.com/ossu/computer-science/blob/master/CHANGELOG.md

Note: The curriculum is currently undergoing review for v9. This consists largely of checking our recommendations against our curricular guidelines, adding missing topics and cutting redundant or out of scope courses. As Requests for Comment in this effort are completed, changes are made immediately to the curriculum. When the overall review is complete we will notate the version bump to v9.

See also here:
#674

As to the wiki, 18 months ago hanjiexi put a variety of ideas on paper about directions OSSU could go. A number of those have become RFCs and have been incorporated in the curriculum. A number will become future RFCs. There is no current plan for a wholesale alteration, but instead for incremental improvements by RFCs. The wiki no longer makes any reference to the term "v9".

As for the title of this issue, the individual who posted the issue used the term v9.

@krishnakumarg1984
Copy link

Will all the closed RFCs be pondered over whenever such a major update will happen?

@ghost ghost changed the title Simplifying tracks Simplifying Curriculum Sep 18, 2020
@ghost ghost mentioned this issue Sep 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants