TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Online community for self-taught CS hobbyists?

33 pointsby Peach_bluealmost 3 years ago
Hello,<p>I want to follow the advice from https:&#x2F;&#x2F;teachyourselfcs.com and start his curriculum with &#x27;Structure and Interpretation of Computer Programs&#x27;. (It&#x27;s a site that recommends various resources to teach yourself everything you need to know to become a true software engineer. Or set yourself up to become one, rather. )<p>However, I already found myself with some questions and I was wondering if there was a community (or whether somebody wants to create one with me) for people who are on the same path.<p>I have little prior experience but I&#x27;m very curious about CS, programming and cybersecurity. So I&#x27;d like it to be a group that is comfortable with slow learning and basic questions. Or even figuring out how to re-learn high-school math in order to progress to CS-level math.<p>If anybody is interested I will post my e-mail, but maybe there is something similiar already out there.

8 comments

dswilkersonalmost 3 years ago
I was a TA for the introductory programming class at Berkeley, CS61a, where we used Structure and Interpretation of Computer Programs to teach Scheme, a statically-scoped dialect of LISP. Frankly, I do not recommend it. Scheme is just another programming language, it is not &quot;the one universal programming language to rule them all and in the darkness bind them&quot;.<p>I spent years in mathematics and CS theory and I am a published theoretician. I took two graduate classes from Karp himself and even solved one of Karp&#x27;s open theory problems because I thought it was a bonus homework problem in an undergraduate class. I am also a programming languages researcher and a serious C++ dev and am now teaching myself digital circuit design. I wrote an integer user-mode RISC-V 64 chip that worked the first time I got it expressed in verilog. That is, I know what I am doing in both theory and practice.<p>It sounds like you want to know the &quot;heavy, deep, and real&quot; computer science. Never forget this: the only theory worth learning is that which comes from real problems. The theoreticians will tell you otherwise, but do not listen to it. Always think about <i>reality first</i>, theory second. Therefore: first just learn how to code like you know how to breathe. Learn one editor and one language&#x2F;ecosystem really well. I use GNU emacs and I write most everything in C++.<p>The first language I recommend is RISC-V assembly language. Then learn C and configure gcc to emit the intermediate assembly interleaved with comments showing the C code that it came from. Practice writing C, predicting the assembly that will come out, and then seeing what actually comes out. Practice stepping through your programs using the debugger. Practice profiling them using gprof. Write lots of little programs that do something mundane and useful, write tests and documentation for them, and release them as open source. See if you can implement <i>one</i> program that someone else finds useful. One way to get started with an established open source project is offer to write tests for them. The best way to learn fancy algorithms is to implement them.
brudgersalmost 3 years ago
This was part of the original idea for MOOC’s.<p>But then budgets were reduced and they mostly became online correspondence courses without active cohorts.<p>My advice is to take an online course with an academic structure so there are explicit minimum expectations for participation and pace of progress.<p>It solves the matchmaking problem directly.<p>Indirectly it might offer you useful accountability…I mean here you’re solving a problem that feels like learning CS but isn’t.<p>Good luck.
reachableceoalmost 3 years ago
I presume you’ve tried &#x2F;r&#x2F;compsci or &#x2F;r&#x2F;programming ? Or other forums ? You’ve found them lacking in some way?<p>Many folks are collaborating online in large communities of any number of topics , especially computer related .<p>Have you looked into your local geographic area for meetups ? Or post to the sub Reddit for your local geo asking people to meet up to study ?
评论 #31975546 未加载
rrrodiaalmost 3 years ago
I&#x27;m interested! Have been looking at this myself, but wasn&#x27;t sure what form such a community &#x2F; activity should have. This can of course be overcome by going one level up, and make the form one of the initial discussion topics.
kwatsonafteralmost 3 years ago
Here&#x27;s some advice: if you&#x27;re really interested in learning, &quot;Computer Science&quot; than I&#x27;d actually steer away from online communities and the like-- you&#x27;re going to run into a lot of people that you might assume know things that give you ideas that you&#x27;ll eventually have to self-correct. There are relatively few academically competent, &quot;computer people&quot; in the world after the dissolution of science and technology programs in the post-war economic period. Watch Alan Kay talks. Read Computer Lib by Ted Nelson.<p>There&#x27;s a theory that through the 80&#x27;s and 90&#x27;s that, &quot;many of the elves left Middle Earth&quot; (ie. the first competent generation of PC-literate computer people have left the industry) Bill Atkinson went and became a photographer after developing HyperCard. There are other examples. Learn, &quot;Humanism&quot; first. Computer literacy will follow if it is your destiny.
评论 #31969742 未加载
评论 #31969482 未加载
评论 #31969811 未加载
retrocryptidalmost 3 years ago
I&#x27;m also re-reading sicp. Maybe a usenet group called rec.sicp?
评论 #31969325 未加载
larmstrongalmost 3 years ago
What exactly do you have in mind in terms of a community? Are you looking to develop a platform or use existing platforms?
__rito__almost 3 years ago
I am also interested in doing this. Why don&#x27;t we start a Discord or Slack and organize from there?