ossu / computer-science

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

RFC: [OSSU Meta] Provide a "First Year Experience" that's equivalent across all OSSU programs #1060

Open bradleygrant opened 2 years ago

bradleygrant commented 2 years ago

Problem: OSSU is growing, developing, and maintaining several degree programs that all require the same basic skills; the courses required to build these skills should be packaged into an "OSSU First Year Experience" that's identical across OSSU programs.

Duration: Comments open thru 13 August 2022

Background: OSSU currently features degree programs in computer science, data science, mathematics, and bioinformatics. Potential additional programs in engineering and physics have been discussed but not formally proposed at the current time. Each of these current or potential programs represents a STEM-heavy field with common or near-common prerequisite and first-year requirements.

Very often, engineering and polytechnic schools require freshmen / first-year students to take a "First Year Experience" program prior to declaring a major. (Sometimes this is called "Undecided Sciences", "Undecided Engineering", "Freshman Engineering" or similar.) Such a program includes the introductory courses common to every STEM major at the university, and typically include:

OSSU serves to gain by emulating this model. By selecting a standard set of courses that everybody takes no matter which degree program they pursue, OSSU learners receive the following benefits:

OSSU course maintainers and creators also stand to benefit. Very much of a curriculum's development work involves selecting the introductory courses; selecting a sufficiently general set of introductory courses means that curriculum developers can concentrate on the middle and end of the program, which is frequently more difficult. There will also be fewer total courses to maintain, and the maintenance will have to be done only once for all programs.

Proposal: from OSSU import first_year_experience

Alternatives: Keep the status quo.

aayushsinha0706 commented 2 years ago

I am giving myself a freshman education in MIT way

That requires one chemistry course - 5.111 Principles of chemical science two physics courses - 8.01 and 8.02 (although I replaced it with Yales Fundamentals of Physics 1 and 2) two math courses - calc 1 and calc 2 one biology course - 7.01 Introductory biology two cs courses - 6.01x and 6.02x one humanities requirement

But OSSU doesn't have to go to MIT way

I am in support of this change but with few tweaks.

  1. I am not in the support of integrating it any majors (Bioinformatics, Math, CS...). Rather a separate repository ossu/freshman or freshman.ossu.dev will be better giving students a choice if they straight want to go into focused major track (CS, Math etc) or explore majors through first year experience.

  2. Math for CS is more like a sophomore course and requires much more mathematical maturity. Expressed by students earlier calculus pre-requisite is not enough for math for cs

  3. OSSU should represent every major in their first year experience. Above recommendations incline more towards Computer Science

How should a first year experience look like

  1. one programming course
  2. one calc course
  3. a cs course
  4. a data science course
  5. a proof based math course
  6. a bioinformatics course
  7. a humanities type course

1, Python for everybody

  1. calc 1a, 1b, 1c
  2. Intro to Computing with Python (MIT 6.00.1x)
  3. Introduction to computational thinking and data science(MIT 6.00.2x)
  4. Introduction to mathematical thinking
  5. choose one of following 7.01x introduction to biology or 5.111sc principles of chemical science
  6. Ethics for engineers
waciumawanjohi commented 2 years ago

I like the idea of standardizing the courses recommended for certain topics. (E.g. the PR in bioinformatics to recommend the same Calc course as recommended in other curricula). That would centralize common conversations across curricula and ultimately lead to full student benefits with lower contributor work.

This proposal goes further, though. I would translate the recommendation for a "First Year Experience" as being equivalent to adding the general education requirements that OSSU has previously eschewed. I think that we've avoided these for two reasons, supply and demand. On the demand side, a large swath of OSSU students don't need the gen-ed reqs (having previously taken them) or don't want them. On the supply side, there are far fewer high quality writing MOOCs and even fewer seminar MOOCs available for learners.

I wonder if we should split this proposal into 2 prongs.

  1. Create a new Gen-Ed Curriculum. This would be pretty similar to the First Year Curriculum idea proposed. It would either identify resources for college level writing and social sciences or call out that suitable resources have not yet been identified.
  2. Standardize and centralize the set of recommended courses for common topics.

In this scenario the CS curriculum wouldn't import first_year_experience so much as import standard_recs AND Gen-Ed curriculum would import standard_recs. And every curriculum would note that it doesn't cover gen-ed requirements, but would refer to the curriculum that does.

bradleygrant commented 2 years ago

To be clear, I do not propose we recommend gen eds. I was simply remarking that colleges that offer a first year experience often include a couple of freshman-level gen eds in that first year experience. At OSSU, we should backfill with stuff that we already recommend as part of our program -- like the Ethics course.

I want the focus of this discussion to remain on standardizing courses that we use across several of/all of the various major programs.

waciumawanjohi commented 2 years ago

To be clear, I do not propose we recommend gen eds.

That is fair. I'm just less sure that backfilling material from the CS curriculum will be appropriate for the other curricula. It's not clear to me that ethics courses for a CS program will apply well to a Math curriculum. Or that Math for CS will apply to a physics curriculum.

I think if we commit to a First Year Experience, we should write it from first principles.

I want the focus of this discussion to remain on standardizing courses that we use across several of/all of the various major programs.

I'm totally on board with that.

r0hitm commented 2 years ago

Maybe we should just take out all the intro and prereq courses that are common to all curriculums. For example, Prereq Math, Calc 1,2,3, python for everybody, MITx6.0001. I feel ethics is more of gen-ed course.

Also just a reminder, we don't have a physics curriculum (repo) outside of discord's pinned messages of physics channel.