- cross-posted to:
- linux@lemmy.ml
- cross-posted to:
- linux@lemmy.ml
“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
I think those are all Europeans rubbing their free or free to us colleges in our face :(
Individual financial cost has nothing to do with my comment
I sense that as you learn more about CS, it could change your opinion about coursework
Many courses are free and books can be purchased outside of university
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.
100%. I think most university degrees are for the social aspect, which is not to be ignored
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.
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.
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
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?
I learned most of these stuff (stuff as oblique as Martin Lohf’s System F, which most modern polymorphic types are derived from) on my own. I have ‘Handbook of Satisfiability’ put aside so I can learn how SAT/SMT solvers work. I need them for my electronics circuit simulator. Keep in mind that there are other NPSPACE and NPTIME solvers, for example, BDD solvers (Binary Decision Diagrams). BDD solvers are much easier if you wanna give it a try! People who say “you don’t need college” are seriously missing out on key stuff that helps them understand their day-to-day tasks. Like, in my self-studies, I learned about some neat, oblique stuff. For example, I learned about dataflow languages and Lucid. I learned about Church-Rosser’s confluence. I learned about Curry-Howard Isomorphism. I learned about so many cool stuff! I’m going back to college because college is cheap here, but I’m a 3rdie, college is cheap but even the cheapest college from the US or Europe is much better than “Payam Nur University” is it not? (That’s the college I’m going to, it’s state-funded studies for prisoners!) Also, Americans will have a much easier time getting into an European university. You guys could try that. College is almost-free for me but you guys have access to much better technological foundations in Silicon Valley. Here, you have to include your own batteries. For example, to fund my college (not the tuition, but I have to live right, and my uncle is having a hard time supporting a dozen people, sanctions are getting rough) I’m going to open up a ‘keyboard workshop’. Like I make mechanical keyboards and send it to people.
So if you don’t wish/can’t study in college, there’s always self-study. This book began my journey, just like many others:
Introduction to the Theory of Computation, 3rd edition -- Michael Sipser
You also need to read papers. So here’s your first homework: Find this book on Google Scholar. You’d be needing it _a lot _!
It’s sort of a ‘meme’. Dip in. Self-learning is not ‘second bests’ of college students! Especially some shithole like mine. Imagine this, your computer is like a calculator. Use it to learn computation!
Thanks.
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.
deleted by creator
Nothing about networking?
Interesting, but means little without accreditation.
EDIT: Also, why’s it all Java?
EDIT2: Addressing the downvotes: If you really think that any employer these days is going to be happy with “Learned from a list on Github” on your resume then you’re sorely mistaken. It doesn’t matter if the courses match an accredited program. The accreditation is what matters because no accreditation = no diploma. Employers like diplomas.
Some people still think it’s 2002
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.
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.
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.
Cool, but where’s the accreditation? At least Coursera has a bit of accreditation. Accreditation is very important. I quit my last college after 3 semesters because it was basically a meme college. It was very close to our home though. I’m going back after 5 years, not to the meme college, but to a much more accredited college. The special thing about this college is that it’s a state college (‘state’ referring to the country, I am not from US), and it’s got good rankings (+1000 but I never aimed for much!) but it’s very, very cheap because for non-lab classes, it’s basically “here’s a bunch of books, study them, and come back for tests”! I know this ‘seems’ like a meme college, but it’s truly not. It’s very accredited. That is why OP’s course might just help me. I have been studying like mad for the past 3 months. So I starred this. All this being said can e summed up in a single ‘thank you’. And an advice to others, go [back] to college. It’s the only way to get a job these days. The days of “self-taught wiz-kid” are over. Don’t worry if you are in your mid-20s, or early-30s like I am. Or even mid-30s or even if you are at death’s door. College is great.
And an advice to others, go [back] to college. It’s the only way to get a job these days. The days of “self-taught wiz-kid” are over.
Wut lol, definitely not. At least in tech/programming careers and it has been starting to spread to other industries (slowly, but spreading none the less). A solid project portfolio, well written resume and maybe a few applicable well chosen certifications can get you far.
I’m decently high up with the ability to hire and fire and I can tell you I def choose the self-taught person with a solid portfolio full of cool personal projects and self taught over someone just fresh out of college with the college-standard portfolio just about every time
Would love to know what kind of cool personal projects you’ve seen! I’m trying to get my first job in web dev and feel like i have a hard time coming up with stuff to do for my portfolio.
I have a nice idea for you webdev people. Write ‘Event Block’ for Youtube. Like Sponsor Block, but for stuff like flash bangs.
What do you mean by flashbangs?
I’m talking about ‘light flashes’. I myself do not mind flashes, but this add-on can be used to block any event that could be user-unfriendly. There are ways to monetize it too! You can make a ‘Certified’ badge and have Youtubers buy an account and ‘Sanitize’ their Events. Otherwise, it could be a joint effort by everyone. People can vote whether this event is marked correctly. You get the gist! I would do this myself but I mostly do systems programming and language development. I honestly do not know where to begin, and I am not interested anyways! I think if you are a webdev looking for ideas, this is a solid one.
Yes, but what about both? Would that not carry you further? My portfolio has never landed me a job and I keep adding more and more stuff to it. Like atm I am working on a simple tree-walked interpreter for a Lua-like language with partial evaluation and hopefully meta-tracing. I still don’t think that would be enough, however, if I had a degree and even half of this portfolio, I would be set! Right?
Here’s what I have so far btw: https://pastebin.com/wRATk4G4 it’s all in D.
I would like to know your assessment as someone with firing/hiring power. Keep in mind that I have never done ‘aggressive applying’. I think I have applied for a job less than 10 times. I used to get jobs from my friends and I earned a good amount of money from it. But then my friends stopped having jobs to give me lol.
I don’t even know what I’m doing, or why I’m doing things. Check out all the repositories that I have not listed in my README.md file. I just hope going to college would give me some sort of confidence? I’m not sure. I just feel less ‘sure’ about myself without a degree.
Besides there’s the social element. I know I said the college is ‘self-study’ but labs are not. And I still get to ‘network’ with guys and gals who attend the same class on some messaging app don’t I. I’ve just been so lonely during the past 3 years since my brother kicked it.
I know I should not have had prescribed it to everyone. I mean people have brains. If you have hit a slump in your life, try college. That’s all I can say.
Keep in mind I’m more of a “Jack of all trades” sysadmin/IT/devops role
Your portfolio seems pretty solid, but it’s all very… technical utilities and such. What I like to see is a passion/fun project. For example, do you like gaming? Build a game! But not just any game, a game on a topic and style that you like. That sort of thing. Passion projects have a way of bringing out your best skills whether you realize it or not.
Also some parts of your readme.md kinda seem…unsure. id cut out that entire aliases blurb and just stick with one professional alias. Or your actual name if you’re not worried about it
Also the “employed(?)” thing, it’s too ambiguous, just pick the closest fit for it. Is it just something he hits you up every once in a while for something and offers a one time payment? I’d put something like “regularly freelances for” or something like that.
Keep in mind that I have never done ‘aggressive applying’. I think I have applied for a job less than 10 times. I used to get jobs from my friends and I earned a good amount of money from it. But then my friends stopped having jobs to give me lol.
This is probably your biggest problem. I got my current role 3 years ago and even then I sent over 200 applications across <2 months, and had just 10 interviews.
It’s so much worse now after all the layoffs and AI bs. Might seem daunting to do all those applications, but you’re a developer, automate it!
Also, you’re in the EU, even if you pay for college it’s still basically free compared to us in the states.
Here college runs 20k/yr at best without scholarships and upwards of >50k, so you don’t “just” go-to college here unless your career actually needs it (ie. Doctor), you’re rich and can afford it, got lucky with some scholarships or join the military to get free schooling
Thanks a lot my good man. Your post gives me the courage to write this text adventure I’ve been wanting to write in Pascal. I found this old book about text adventures in Pascal, but I was thinking if it’d be too ‘unprofessional’ to have a game there. Now I know it’s better if I write the game, in Pascal! It’s such an old, quaint language.
Thanks again!
it was basically a meme college.
So your alma matter is also the Bovine University?
Yeah, such tripe!
This is a really neat idea but I would like to see all the Java replaced with C/C++ or Rust.
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?