Earlier quoted context omitted.
Are they a respected degree in CS?
They are accredited and mostly pursued by already practicing software engineers who want to check the box for a degree.
Teach Yourself Computer Science
211–220 of 273 posts
Re: Teach Yourself Computer Science
#212> If you’re a self-taught engineer or bootcamp grad, you owe it to yourself to learn computer science. No, you don't. I know all these topics and I don't recommend anyone working in a corporate environment to learn any of this. It'll likely result in you resenting your job, your peers and the entire software industry. --- I gave my heart to know wisdom, and to know madness and folly: I perceived that this also is vex…
The biggest fish in the pond doesn't need to know there's an ocean next door.
Re: Teach Yourself Computer Science
#213Where would one go if they had money but minimal time to get a formal online education in CS? Syllabus, other students to discuss ideas with, etc?
Re: Teach Yourself Computer Science
#214Earlier quoted context omitted.
I’ve heard that Part 1 of the algorithms course is sufficient for new grad interviews. Can you verify?
I got an interview that involved part 2 (substring search), which I solved using KMP.
I still don’t understand why these software interviews do this. Especially when the work in question, is derivative, and mostly just reformulating other ideas and libraries.
It’s like, how often are you going to have to reinvent your own Red Black Binary Search Tree to solve some obscure business problem? Most of the time, the business doesn’t give a damn. Just throw your data into a database, and be done with it. Then use some queries to filter through your data, and get the data you need to solve the problem at hand.
And usually, by looking at someone’s code style, you know how good they really are. You can determine, if (1) they are at a hackerish level and their code has bugs and occasionally breaks, or (2) if their code is really solid software engineering level quality that’s airtight and can survive anything you throw at it.
Re: Teach Yourself Computer Science
#215Re: Teach Yourself Computer Science
#216Earlier quoted context omitted.
A beginner might have trouble assimilating this information - too few examples, not enough entry level drilling on data types, operators, flow control and functions. For example they might forget to put quotes around a string or not know how to use two for loops, one inside the other, even if they know how to use one in isolation. It's hard to grok how to compose things even if the student saw how to use them in isol…
When I started programming (with Python) I remember how the modulo operator was introduced, without any further information. I found it quite confusing, since I didn't know what modulo meant (that could be solved with googling) but more important, how it was useful. When you come from a CS perspective, it's completly clear on how you can use it and why it is essential for some computing tasks, but for a non-CS beginn…
Re: Teach Yourself Computer Science
#217Earlier quoted context omitted.
> the most important skill is just being able to solve real problems, soft skills and breaking problems into parts. As well as the ability to self learn and research. Seeing a very non-technical friend of mine being completely immersed in games like "Factorio" and "Satisfactory" where the entire game is essentially just putting constantly more complex and valuable resources together in automated ways is fascinating t…
Maybe LabView would be a good way to get Factorio players into programming. The model is very similar: components laid out on a 2d grid, connected by pipes that transmit values.
Re: Teach Yourself Computer Science
#218Earlier quoted context omitted.
I just want to feed my family... I’ll worry about enlightenment later.
Having an actually solid foundation when you're being paid 300K to be expert isn't "enlightenment". It's "appropriately qualified". Hacking the hiring process has a good effort vs reward ratio, but it's also high risk. The risk is that obvious gaps in the candidate's background surface after starting the position. Which usually doesn't turn out well: best case career stagnates and worst case the candidate ends up on…
I remember a similar conversation with a CTO of some cheap company that wanted to offer me 100K and arguing that he knew many risk takers who took on high paying jobs in bigger firms and failed. That was many years ago. Now my comp is approaching 1M, my job is super risky and demanding, but I don't care as in the worst case I quit with enough money to not work anymore. I know many vps and execs in smaller firms and their attitude is the same: they don't give a flying f..k so long as the pay/risk ratio is appropriate.
Re: Teach Yourself Computer Science
#219One thing I'm always amazed by when casually talking to people about what I do is how they don't think they can do it. Many people think that software engineering and programming are some inscrutable thing. Sometimes I try to tell them that it is nothing special, it doesn't take a mega genius or math expert to do it. That the most important skill is just being able to solve real problems, soft skills and breaking pro…
Do you really believe this? I'd be interested to know what you do for a living.
Programming requires the ability to grasp abstract concepts which most people simply do not possess. Talent is a thing. I'm terrible at composing music even though I enjoy playing it. I have no talent. Most people are terrible at programming.
I have to conclude that anyone who thinks this is very young and/or has never actually tried to teach someone how to program.
Re: Teach Yourself Computer Science
#220OK, great books, I haven't read any of them. Please, can someone share experience reading the recommended books? When did you do it?
Operating Systems: Three Easy Pieces: In 2013, I found this book because I was frustrated with the textbook assigned for my operating systems class (Silberchatz). OSTEP has incredibly clear and concise descriptions without skimping on necessary details. It's wonderfully written. I was so jazzed up about this book that I ended up sending a lot of edits / improvements, and the authors gave me a very kind shoutout in the acknowledgements section.
Computer Networking: A Top-Down Approach: In 2013, this was the assigned textbook for my computer networking class. I already owned Tanenbaum & Wetherall which is good, but preferred this book. It is a more approachable treatment of networking (without sacrificing any crucial topics), so better for a first course.
I've heard glowing reviews of The Algorithm Design Manual, Designing Data-Intensive Applications, and Structure and Interpretation of Computer Programs over the years, but I haven't personally gone through them. For the TeachYourselfCS categories that I know the textbook landscape, I find their selections spot-on and pretty refreshing.