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

Request: Alternative courses for existing ones, to allow students to pick the tutor or teaching-way #1102

Closed
ramNavni opened this issue Nov 26, 2022 · 4 comments

Comments

@ramNavni
Copy link

Problem:
May we get an alternative course for each existing course/topic? In case we will want to learn the same topic in a different way or from a different tutor?

Background:
Specifically:
"Is there another course that can replace "How to code - Simple Data", and "How to code - Complex Data"?
Else, what are the topics covered? I'll try to search for lessons on every topic
Personally, I just can't stand the "BSL" language... and the way the Simple Data course is being taught. I've gone through several courses (which do not cover program design) before I found out about OSSU, yet I feel the BSL language, the teacher, and the way it's being taught aren't for me.

Proposal:
May we get an alternative course for each existing course/topic? In case we will want to learn the same topic in a different way or from a different tutor?

It doesn't have to be for every course present in OSSU, but for some (if they cover the same topic in the same quality).

@ramNavni ramNavni changed the title RFC: Request: Alternative courses for existing ones, to allow students to pick the tutor or teaching-way Nov 26, 2022
@aayushsinha0706
Copy link
Member

A lot of student felt this way but they later realised the HTC are golden courses. Also for How to design programs I don't think there is any strong alternatives. Although textbooks like SICP and Composing programs have the same goals to teach but in a different manner but are tough for general students and require more maturity and that is why HTDP book and HTC course is suggested

@waciumawanjohi
Copy link
Member

3 responses, very much in line with what Aayush says above:

  1. It is very difficult to come to agreement on the suitability of one course and to support a course for each topic. Doubling that would be a big outlay in effort, for minimal benefit to students.
  2. Past experience demonstrates that recommending multiple alternative courses to cover a single topic leads to a large volume of requests to help students decide which course to take. OSSU is an effort to reduce that decision paralysis for students, to clarify the group of courses that are most important to take out of the thousands on offer. Students are better served with a clear recommendation. OSSU also provides pointers to other resources for those times that students want to find their own alternative: this question and answer in our FAQ, this pointer to alternate curricula, and this list of well regarded courses that haven't been included in our curriculum.
  3. With regards to HTC in particular, I would say the majority of students are skeptical about HTC when they start the course and the majority of students are fans by the time they finish. So much so that our discord server has not one but two custom emoji of the instructor's face. Stick with it, it's a good course.

@riceeatingmachine
Copy link
Contributor

Personally, I just can't stand the "BSL" language... and the way the Simple Data course is being taught. I've gone through several courses (which do not cover program design) before I found out about OSSU, yet I feel the BSL language, the teacher, and the way it's being taught aren't for me.

For what it's worth, I felt the exact same way. It was only later into the curriculum I realized why those courses are valuable the way they are taught. Give it time and trust the process.

I am not against having alternative paths though. Just seems like it will be a logistical nightmare to maintain.

@bradleygrant
Copy link
Member

bradleygrant commented Apr 2, 2023

It's a rite of passage for nearly every undergraduate in nearly every undergraduate university to complain about one or more of the courses the university requires. These complaints usually stem from wanting to get value for the incredible amount of money they're paying (sometimes it's because the course is perceived as needlessly difficult or not supportive of student-life balance).

However, for these particular courses there's significant consensus among computer science programs that the courses teach valuable concepts. Courses using this material can be found at UBC, UWaterloo, Northeastern, and others, and have been used in the past at MIT and Georgia Tech.

A common complaint of the courses is that they use a language not commonly used in industry. This choice is on purpose: it's meant to highlight the fact that these design methods can be applied in any language you choose. If you learn how to do this in Python [or Java, or C++, or JS, or Scala, or Go, or favorite-language-273], then many people will come out of the course thinking "Oh I learned how to do this in Python [...], but I don't know how to do this in anything else."

Using a non-industry-standard language also frees you from having to write industry-standard code (all the considerations of PEP-8 style, 2 vs 4 whitespaces for an indent, Pythonic idioms, etc.). This allows you to focus only on the actual problem at hand -- which is what they're trying to teach -- and avoids all the other distractions that can creep in.

TL;DR: It's just parentheses. Take it anyway. You'll be okay.

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

5 participants