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.

A Functional Introduction To Computer Science

188 pointsby debanjan16almost 2 years ago

10 comments

cubefoxalmost 2 years ago
This is a very mathematically inspired introduction, as they say in the initial chapter.<p>What I would like to see is a <i>logical</i> introduction to computer science, or at least theoretical computer science.<p>Start with combinational logic [1], i.e. with Boolean circuits. They are both conceptually simple and relatively close to physical transistors, unlike any functional &#x2F; mathematical approach. Then move on to sequential logic[2] which allows the introduction of memory&#x2F;states, e.g. via flip-flops. From this, more complex circuits and even a primitive GOTO language would be introduced. What I would be interested in is how these circuits relate to the traditional models of computation, i.e. finite state machines, pushdown automatons and Turing machines. Not very cleanly, I suspect.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Combinational_logic" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Combinational_logic</a><p>[2] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Sequential_logic" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Sequential_logic</a>
评论 #36561886 未加载
评论 #36560416 未加载
评论 #36561559 未加载
评论 #36560660 未加载
评论 #36562903 未加载
wk_endalmost 2 years ago
Don&#x27;t miss Part II [0], which (not to discount the quality of Part I) is much less elementary and much more interesting.<p>[0] <a href="https:&#x2F;&#x2F;cs.uwaterloo.ca&#x2F;~plragde&#x2F;flane&#x2F;FICS2&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;cs.uwaterloo.ca&#x2F;~plragde&#x2F;flane&#x2F;FICS2&#x2F;</a>
tralarpaalmost 2 years ago
Oh, they are using Racket. I really love that language. I think it&#x27;s also great that they explain how to work with structures, instead of going the &quot;everything is a list&quot; aproach (the latter is, in my opinion, better suited for advanced students).<p>Unfortunately, I haven&#x27;t managed yet to integrate Racket into my daily work. The last time I tried to use it, the resulting (manually optimized) compiled code was as slow as an unoptimized python solution and 10x slower than a manually optimized Java version.
评论 #36560267 未加载
评论 #36560113 未加载
asicspalmost 2 years ago
See also &quot;Teach yourself Computer Science functionally&quot;<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=36312603">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=36312603</a> <i>(315 points | 18 days ago | 99 comments)</i>
genericuser256almost 2 years ago
This was a really fantastic course, good intro to the principles of recursion and fundamentals of CS
kingkongjaffaalmost 2 years ago
How to Design Programs is also an intro to programming using Racket as the teaching language <a href="https:&#x2F;&#x2F;htdp.org&#x2F;2023-5-12&#x2F;Book&#x2F;index.html" rel="nofollow noreferrer">https:&#x2F;&#x2F;htdp.org&#x2F;2023-5-12&#x2F;Book&#x2F;index.html</a>
s-zengalmost 2 years ago
Ragde is an excellent CS prof. I really enjoyed the functional approach Waterloo takes in first year CS, especially in the optional more advanced version of the course where they go a lot deeper into the math connections and interpreters
评论 #36561500 未加载
ameliusalmost 2 years ago
Can this be considered a modern version of SICP?<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Structure_and_Interpretation_of_Computer_Programs" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Structure_and_Interpretation_o...</a>
评论 #36561299 未加载
josefrichteralmost 2 years ago
Oh God, wish I had this when I first started.
yungporkoalmost 2 years ago
this seems like a great resource, thanks for posting.