this post was submitted on 16 Aug 2024
3 points (100.0% liked)

Linux

5230 readers
139 users here now

A community for everything relating to the linux operating system

Also check out [email protected]

Original icon base courtesy of [email protected] and The GIMP

founded 1 year ago
MODERATORS
all 34 comments
sorted by: hot top controversial new old
[–] [email protected] 0 points 3 months ago* (last edited 3 months ago) (1 children)

Whi getting through college, I was always bummed that we have to learn a lot of stuff that seemed super irelevant to my future carreer, while also being annoying. Stuff like prolog, Phyro, Lisp, Assembly, or bunch of obscure math.

It was only years later when I finally realized why it was important - the school wasn't for teaching me to be the C#/Java programmer, but it taught me to be A programmer. I can pick up and start successfully writing anything I need, in any language, relatively quickly and without issues, nonmatter whether it's functional, objective, or wharever style of language, because I've very probably already had to deal with, learn, understand and pass exams in language that is similar to it, since college made me learn a language from almost every style or flavor of languages there are.

I was surprised when I first saw colleagues struggle with picking up languages other than the ones they work in, and that was when I finally realized why and how sneakily did the college make me a universal programmer without me noticing it. And that's something that's harder to get when self-taught, because you don't get exams and it's easier to miss the point and just skip courses on lisp, prolog or lambda calculus, because it seems irrelevant, but the different point of view and approach used when writing in those languahes is what will teach you the most.

[–] [email protected] 0 points 3 months ago

Yup, people often mistake being a software developer for learning a language or a platform. Nope knowing and understanding the underlying systems and ideas / structures you will be working with is often far more important. The code pretty much stays the same. They syntax and features just differ a little

[–] [email protected] 0 points 3 months ago

I am piggybacking a comment that I can't find anymore, but let me state again their concerns:

  • No logic? No automata theory? Language processors?
  • What about math that isn't usually part of every course in engineering but is in CS, like discrete math?

It's all over the place.

[–] [email protected] 0 points 3 months ago

UC Berkeley’s intro CS course material are all publicly accessible:

CS61A.org CS61B.org CS61C.org

[–] [email protected] 0 points 3 months ago

Nothing about networking?

[–] [email protected] 0 points 3 months ago* (last edited 3 months ago)

I'm going to toot my own horn here, because I hate these lists, because it does not show you a clear order in which to learn things.

https://thaumatorium.com/articles/mit-courses/mit.drawio.svg

This svg is a dependency graph of most, if not all, Programming/Math related courses from MIT, which means the leftmost courses are dependencies for those to the right. The lines are the dependencies. They are color coded for your convenience.

I made this because I tried to follow a course I was missing dependencies for, where I found out most courses have dependencies and this provides a nice overview of what you'd need to learn to get to the point you want to reach.

[–] [email protected] 0 points 3 months ago (1 children)

I never did a CS degree but recently I've been doing some things that make me wish I had. But it isn't any of this stuff which seems mostly programming things that you can easily learn outside academia.

The stuff I would like to understand which I haven't yet been able to learn on my own is the hard computer sciency stuff: lambda calculus, type inference (how do you read that weird judgement syntax?), how SAT/SMT solvers work, dependent typing systems... Does anyone have any good resources for those sorts of things?

[–] [email protected] 0 points 3 months ago (1 children)

This is a really neat idea but I would like to see all the Java replaced with C/C++ or Rust.

[–] [email protected] 0 points 3 months ago

The ReadMe suggests these courses are administered and taught by Universities. I'm genuinely curious if you know of any Computer Science courses taught at any of these reputable universities that utilizes Rust or C?

[–] [email protected] 0 points 3 months ago (3 children)

"College is needed" comments are so weird in a field that can be done on an island with a solar battery. CS isn't medicine or engineering, and the field is so young that requiring a "formal education" most likely will have negative effects of teaching poor practices that are not up to date

[–] [email protected] 0 points 2 months ago (1 children)

I sense that as you learn more about CS, it could change your opinion about coursework

[–] [email protected] 0 points 2 months ago

Many courses are free and books can be purchased outside of university

[–] [email protected] 0 points 3 months ago (1 children)

I want to add that getting a degree likely will create a social network and provide experience of working in a team. These days that may be replaced by contributing to open source and going to free conferences (although these seem rare 😢).

So even though I am pro getting at least one first year of CS degree (because it's the most useful one because teaches to think rather than specifics), I agree that it can be fully replaced by a well though out self-education, and from purely CS standpoint self-education might even be of a better quality.

But yeah, I must disclose that I am a European rubbing free education, and I studied in university not college. So my opinion may be influenced by that and I don't know if first year in college would've been as useful as it was in university.

[–] [email protected] 0 points 2 months ago

100%. I think most university degrees are for the social aspect, which is not to be ignored

[–] [email protected] 0 points 3 months ago (1 children)

I think those are all Europeans rubbing their free or free to us colleges in our face :(

[–] [email protected] 0 points 3 months ago* (last edited 3 months ago)

Individual financial cost has nothing to do with my comment

[–] [email protected] 0 points 3 months ago* (last edited 3 months ago) (2 children)

Interesting, but means little without accreditation.

EDIT: Also, why it all Java?

[–] [email protected] 0 points 3 months ago (2 children)

The ReadMe states these are all courses taught at reputable universities. Do you know of any courses taught at these universities that utilizes Rust or C/C++? Not asking to criticize or anything, I'm legitimately curious because I too would like to see more focus on these languages over Java.

[–] [email protected] 0 points 3 months ago

I second @hellofriend, I learnt C++ as practical courses in the University.

I could somewhat understand teaching Java as professional education (although it creates positive feedback loop that doesn't do much good), but not exclusively teaching Java as part of CS degree.

[–] [email protected] 0 points 3 months ago

Idk about American universities, but C++ was taught at Memorial University of Newfoundland when I attended 8 years ago. Granted it was a robotics class so maybe it's different. Either way, makes more sense to me to learn C/C++ since most things are programmed in that.

[–] [email protected] 0 points 3 months ago

Some people still think it's 2002