Bradfield founder here: thanks for the recommendation but it's really not true that "most of [the course material] comes from CS:APP". It's a great book—which is why I recommend it so strongly in teachyourselfcs.com—but we use it only as a supplementary resource, for one of the eight courses we teach.
HN user
ozanonay
https://csprimer.com
As the author of Teach Yourself CS I would definitely suggest against trying to fit this in a year! Maybe aim for CS:APP and 1-2 others, and if you have time for more that's a bonus. Most of these are books to work through, not "read".
This guide has been posted to HN a number of times by others, typically with a very positive response.
I recently made a major update, in particular: strongly recommending _Computer Systems: A Programmer's Perspective_ and _Designing Data-Intensive Applications_; recommending _Crafting Interpreters_ over the Dragon Book for those new to compilers; updating a number of broken links (due to shutdown of Lagunita); and, adding a few secondary recommendations
Hi there, I'm the author. Yes this list precisely constitutes the topics in computer science on which I believe a software engineer with an informal education should focus. It's based on my experience of having taught computer science to over 1,000 junior to mid-level engineers, mostly bootcamp grads, in person in small classes over the last 5 years.
I've been meaning to update it slightly, to recommend _Computer Systems: A Programmer's Perspective_ over P&H (although P&H is still excellent) as well as Martin Kleppmann's book _Designing Data-Intensive Applications_ for distributed systems.
Congratulations, this is great! I'm glad you'll be reaching an underserved group.
I hope, though, that you'll be honest with your students about what your program will deliver.[1] While it's currently still possible for many non-programmers to achieve upward mobility just by learning to code, there's a huge skill gap between those who can cobble together a few libraries to make a website, and those who understand theory/systems well enough to build something novel.
While compensation levels for both groups are currently still comparable, the steadily increasing supply of bootcamp grads and self-taught engineers could result in a pronounced bimodal distribution in a matter of years. Some subset of folk will have the motivation and resources to make the jump;[2] others may end up in end-user programming roles that pay poorly or aren't fulfilling.
Somebody entering your program should have a realistic view of what it takes to reach the parts of our industry that they hope to find themselves in. If they know that Modern Labor is step 0, and see themselves on a long road of learning and growth, they're likely to do very well!
[1] I wouldn't have worried about this, except that I've seen some bootcamps tell their students that they should consider themselves "senior" upon graduation, and that their skills are comparable or superior to graduates of top computer science programs.
[2] I run https://bradfieldcs.com and maintain https://teachyourselfcs.com, both of which aim to help such folk make the jump. As much as I try, many people aren't interested or driven enough to start, let alone persist for the years that it takes.
Berkeley's CS 162 is great, and recordings are available on internet archive. There are some decent undergraduate textbooks these days too: OSTEP is particularly accessible and free online, and the Tom Anderson _Operating Systems: Principles and Practice_ book is solid.
I teach a course on database systems, including one class on distributed databases (like Dynamo and Spanner) and another on dataflow engines (like MapReduce/Hadoop and Spark).
Students seem to find the Dynamo paper to be the single most enlightening resource. It does a great job of explaining Amazon's use case and how the solution fits the problem. I also reference the relevant Red Book chapter and some students value that context.
It's worth noting that students are very comfortable with relational DBMSs by this point, both in theory and in practice. It quickly becomes clear to them that NoSQL is better called "no transactions", as they know the costs and benefits of various isolation levels in a traditional RDBMS. If you don't yet have an undergraduate-level background in database systems I'd encourage you to seek that out either first or at least along the way to understanding NoSQL systems. My recommendations for how to do this as a self-learner are up on https://teachyourselfcs.com.
We only published it yesterday, but you may have seen something else, like a blog post or our self-teaching guide teachyourselfcs.com
We'll just chat about your goals and interests. Depending on your background, we may also talk through a technical problem.
Nothing... it'll be cheap (and fun) for us to run, and paid for out of our regular courses. We just think the community needs it.
Hey there! We've been doing this at Bradfield for a couple of years, and do get quite a few bootcamp grads (maybe 100 to date) typically 1-3 years into their careers. Which bootcamp did you attend? Ask around there and I'm sure somebody has good things to say about us :)
Hi! I'm one of the instructors at Bradfield: https://bradfieldcs.com . We teach computer science to strong programmers, typically those who were self taught, attended bootcamps or weren't quite satisfied with their conventional CS experience.
We teach in small classes, strictly in person in SF. I know this sucks for folk (like OP) who are outside SF, but honestly you can't teach this stuff to a high enough standard remotely. We do get plenty of interstate and international students who visit for a course or two.
We also maintain a self-teaching guide https://teachyourselfcs.com for those who don't need the full classroom experience.
Happy to answer any questions in person: oz@bradfieldcs.com
Hi! I'm one of the instructors, if you ping me at oz@bradfieldcs.com I can connect you with past students or answer any questions you have :)
Hi! I co-wrote the first one, and it is definitely not intended to be a CS canon. Those books are our suggested resources for folk teaching themselves computer science, and were evaluated on that basis alone. We included not-great books where they're still the best we've found for a particular topic. Equally we excluded dozens of amazing books that are outside the scope of the resource.
Hi! It was hard to draw the line. And then, it was an omission to not even make a suggestion in the FAQ. Now fixed, thanks :)
Anybody who deeply scrutinizes the FDA will find opportunities for reform. For instance, when the economists Daniel B. Klein and Alex Tabarrok applied their scrutiny, the result was http://www.fdareview.org/
What is surprising and exciting about the possibility of Balaji's appointment is not that he has identified opportunities for reform, it is that he may be appointed despite the fact that reform is his primary motivation!
He has no political motive, no personal motive, he does not "hate" the FDA (he is not the kind of person to be driven by hate)... he simply sees the FDA's mandate as an incredibly important one which it could do a better job of fulfilling. This should inspire optimism.
Via Health - San Francisco, CA (full time, local only)
Stealth, venture-backed digital health company combatting preventable disease through AI-leveraged human coaching.
Seeking full-stack, android and devops engineers among others.
More info: https://jobs.lever.co/via
Or email me: oz+hn@via.co
Via Health - San Francisco, CA (full time, local only)
Stealth, venture-backed digital health company combatting preventable disease through AI-leveraged human coaching.
Seeking full-stack, android and devops engineers among other roles.
More info: https://jobs.lever.co/via
Or email me: oz+hn@via.co
This is the most appealing thing about BJJ in my opinion. Not only does full-intensity training entail a better workout, one also improves more rapidly due to the constant realistic feedback. BJJ is to The Little Schemer as karate is to Learn Python The Hard Way.
Topguest - San Francisco, CA (on-site strongly preferred, will cover relocation for strong candidates)
We're a location-based offers provider for the travel industry. Early stage, but comfortably funded.
Looking for generalist engineers to work across web and mobile apps, third-party integrations and ops.
Professional experience with Ruby or Python will be highly regarded. Overwhelming desire to build + ship is critical. Autodidacts welcome.
ozan@topguest.com
Topguest, an LBS startup soon to be based in San Francisco.
We're a small but well-backed company, about to enter a rapid growth phase. If you think you could help us with engineering, biz dev or design, we'd love to hear from you right now (ozan@topguest.com)
If you live somewhere other than SF, we could potentially pick you up on our migratory drive from NY. Or give you a couch to crash on when we get there.
I never saw anything even approaching YC while I was in Syd. Two questions:
1) What's stopping you from moving to the US?
If you wanted to, you could be here on an effectively permanent basis in a matter of weeks (we have an unfair advantage in the form of the E3 visa, a version of the H1B for Australians). Get in touch if you'd like to chat about this.
2) Are you making the most of a community which isn't formalised/mature enough to support a YC equivalent?
There are some real kickass entrepreneurs in Sydney, who I'd say are more approachable and helpful than their equivalents in cities with a more mature startup community. Get in touch for some names, or just show up to Silicon Beach drinks and talk to as many people as you can.
I'm interested. Could probably also work out a room/projector/wifi/beer arrangement in Surry Hills.
I'm Australian. My salary is in worthless Australian dollars.
Also I said this to point out that the title was misleading, and it's now been fixed. Humour was evidently an inappropriate way to bring it up.
Please note that that's 537m worthless Australian dollars. The award was for USD388m.
Actually what I'm working towards is much like what jvincent is asking for:
"students need to be able to self-teach using online dynamic material (as opposed to static textbooks). Teachers would design courses from mashups and assist students individually in their progress"
Mine would be an interface for designing and delivering those "mashups".
I plan to release much of it on an MIT (or equivalent) license, so if you're a python/django coder you can contribute code to it. Otherwise, your feedback would be great, once I have something to show you - you can get in touch with me through the link in my profile.
There's an abundance of materials online, the issue is that they're not collated or aggregated in such a way that a technically uninspired teacher could effortlessly utilise them.
This is a problem that I and many others are working towards addressing.
"Textbooks" however, being books written to directly accompany a course, are probably not going to constitute the prevailing paradigm online - they are static and structured in a way that traditional printing required but modern technology finds burdensome.
Those who comprehend the absurdity of what is really a series of internet censorship proposals have been unable to publicly embarrass Stephen Conroy (our Minister for Broadband, Communications and the Digital Economy) to the extent required to kill this thing.
As such it remains largely outside of the public consciousness, and something between a bad joke and a nightmare for civil libertarians on the 'net. The possibility of there being a crime of hyperlinking in this country is closer to the "bad joke" side of that spectrum, but the more of these bad jokes we're subjected to the less humorous they become.
... Oh and also, there's supposed to be a freedom of political communication implied in our Constitution. Not sure what happened to that.
As an interesting side note, this sort of thing (selling off assets to pay employees prior to liquidation) is illegal in most circumstances in the UK and Australia (and likely in other Common Law jurisdictions) thanks to a Chancery case Parke v Daily News Ltd [1962] Ch 927.
In the case, all of the company's assets were sold and the balance paid to workers made redundant by the closure of the company's plant. The court found in favor of the plaintiff, a minor shareholder.
Put simply, Directors must act in the best interests of the company, even if doing so is to the detriment of employees.
Can't speak for California or other US jurisdictions, but it's certainly illegal here in Australia.
Perhaps because it's a delight to use and look at?
Occasionally, when something is designed better than any other comparable device, you have to pay to use it. In this case, you pay by following a few of their rules.