[HN Gopher] How to Think Like a Computer Scientist: Interactive ...
       ___________________________________________________________________
        
       How to Think Like a Computer Scientist: Interactive Edition
        
       Author : l8rlump
       Score  : 149 points
       Date   : 2024-05-31 03:58 UTC (19 hours ago)
        
 (HTM) web link (levjj.github.io)
 (TXT) w3m dump (levjj.github.io)
        
       | pnut wrote:
       | The table of contents makes me feel like the book title should be
       | "How to use a computer like a scientist" - computer science
       | already has a meaning which is quite different.
        
         | azangru wrote:
         | > The table of contents makes me feel like the book title
         | should be "How to use a computer like a scientist"
         | 
         | I can understand the reluctance about computer science; but
         | what about the table of contents made you think scientists?
        
         | netdevnet wrote:
         | And science also has a meaning which has nothing to do with
         | programming. What makes you think that most scientists use
         | computers in this way?
        
         | yencabulator wrote:
         | More like "Introduction to Python Programming".
        
       | asicsp wrote:
       | Seems like just copied from runestone site:
       | https://runestone.academy/ns/books/published/thinkcspy/index...
       | 
       | See also: https://allendowney.github.io/ThinkPython/
        
         | emayljames wrote:
         | "About this Project
         | 
         | This interactive book is a product of the Runestone Interactive
         | Project at Luther College, led by Brad Miller and David Ranum.
         | There have been many contributors to the project"
        
       | v3ss0n wrote:
       | Very old and outdate, and plagiarize
        
         | mstkllah wrote:
         | What is it plagiarized from?
        
       | netdevnet wrote:
       | Totally unrelated but did anyone check the author's CV? He has
       | had multiple intern dev roles even though he had at least 5 years
       | of previous dev experience
        
         | Jtsummers wrote:
         | Per his CV he was getting a masters and a PhD at the time.
         | Graduate students often take internships, it's a way of getting
         | funding, extra experience, or just to earn some money while not
         | committing to a full-time position.
         | 
         | Also, I don't think he's the author of this, his name is not in
         | the list of authors. This seems to be a mirror, perhaps with
         | some customization for his class. Probably from his time
         | teaching the intro to Python course (also on his CV) at UCSC.
        
       | Brosper wrote:
       | What is this? I think people just upvote it because it looks old
       | and must be something good.
        
       | le-mark wrote:
       | Slightly off topic, but does anyone have experience using the
       | book this is based on to teach or learn programming? If so what
       | was your experience like? What was good or bad about it for
       | example?
        
         | kingkongjaffa wrote:
         | Its really more of an entry level Python book than really
         | teaching you how to think like a computer scientist imo.
        
           | wk_end wrote:
           | It doesn't really teach CS or anything, but I'd say it does
           | teach "how to think about programming like a computer
           | scientist". Few entry-level "practical programming" textbooks
           | are going to address - even at a cursory level - formal
           | languages, recursion, mutability and immutability, issues
           | surrounding aliasing, HtDP-esque design recipes, composition,
           | and so on.
           | 
           | Even if it's not the best (to paraphrase Churchill: let the
           | clever ones have SICP as an honour and HtDP as a treat), it's
           | probably how I'd introduce the "average" student to CS.
        
         | davidthewatson wrote:
         | Yes.
         | 
         | I have read the book in at least two programming languages.
         | 
         | I'm a huge fan of Downey for lowering the entry bar to solid
         | logic and reason around computer science, particularly when
         | introducing Python to novice learners outside traditional
         | collegiate computer science programs.
         | 
         | For this reason, I've recommended the book to friends who teach
         | or have kids.
         | 
         | What's great about Downey is that he brings together concise
         | and clear writing with unimpeachable correctness, a quality
         | that was missing from my computer science education, where the
         | curriculum was set in stone and was decades old and written by
         | someone without Downey's gifts.
         | 
         | The fact that this jupyter stack runs on a five year old
         | android phone without issue is a bonus!
        
         | skytwosea wrote:
         | I used the Runestone book How To Think Like A Computer
         | Scientist (I don't see any difference between the linked book
         | and the Runestone one); completed the full book front to back,
         | and have a deep appreciation for it.
         | 
         | I didn't have any interest at all in programming or computers
         | until my mid-30s, when a colleague in grad school showed me
         | some Python tricks that completely replaced a set of absolutely
         | hideous Excel spreadsheets. My interest was sparked, but I
         | struggled - there was some kind of mental barrier I just
         | couldn't hop over in order to make sense of programming
         | language syntax. This book got me over that hump and sent me on
         | my way. Several years later, I've switched careers and work
         | with Python professionally, and in my spare/hobby time I work
         | on a variety of C, Rust, and Zig projects.
         | 
         | What I liked: there is no barrier to entry. For a person with
         | only the most basic/cursory understanding of, and no real
         | interest in, computers, this was huge: no need to install, get
         | an editor set up, no need to understand anything about the
         | shell, PATH issues, or how to run a script or work with
         | environments or anything like that. All of that came later. I
         | liked the CodeLens diagrams a lot, the visualization was
         | critical to that 'aha!' moment. I think the book is well
         | organized; the flow from chapter to chapter, concept to
         | concept, made a lot of sense to me. Overall, the book gave me a
         | sense of 'making progress', challenging me while keeping things
         | light and fun and interesting.
         | 
         | I don't have any complaints. This book got me to the point
         | where I was just skilled enough to automate basic and useful
         | things, and interested enough to start diving in properly and
         | learn how computers really work. Since completing it, I've been
         | learning pretty much nonstop.
        
       | javier_e06 wrote:
       | The site:
       | 
       | levjj.github.io
       | 
       | is trying to scan open ports in system. (Blocked by Port
       | Authority add-on in Firefox)
       | 
       | That is not thinking like a Computer Scientist.
        
         | pkage wrote:
         | Looks like it's trying to use Runestone[0] (a textbook
         | authoring tool) to get the number of online students but the
         | server url is improperly configured to point at localhost
         | (hence the port scan trigger).
         | 
         | [0]
         | https://runestoneserverascholer.readthedocs.io/en/latest/ind...
        
         | novaleaf wrote:
         | Took a look at Port Authority... it's permissions require
         | access to all data on all websites. Trading one risk for
         | another (bigger) one? It's understandable why such access is
         | needed, but really too bad for privacy.
        
           | DaSHacka wrote:
           | Port Authority is open source
           | 
           | https://github.com/ACK-J/Port_Authority
        
             | hiccuphippo wrote:
             | Can UBlockOrigin do the same as port authority if I add
             | blocks for localhost and local ips?
        
       | huygens6363 wrote:
       | How to think like a programmer*
        
       | dang wrote:
       | Related:
       | 
       |  _Think Python, 3rd Edition_ -
       | https://news.ycombinator.com/item?id=39392881 - Feb 2024 (125
       | comments)
       | 
       |  _Think Python 2e_ -
       | https://news.ycombinator.com/item?id=35421096 - April 2023 (30
       | comments)
       | 
       |  _Intro to programming with Python - How to Think Like a Computer
       | Scientist_ - https://news.ycombinator.com/item?id=24932497 - Oct
       | 2020 (1 comment)
       | 
       |  _How to Think Like a Computer Scientist: Interactive Edition_ -
       | https://news.ycombinator.com/item?id=12639320 - Oct 2016 (17
       | comments)
       | 
       |  _How to Think Like a Computer Scientist: Learning with Python
       | 2nd Edition (2012)_ -
       | https://news.ycombinator.com/item?id=7887541 - June 2014 (16
       | comments)
       | 
       |  _How to Think Like a Computer Scientist - Interactive Edition
       | 2.0_ - https://news.ycombinator.com/item?id=6175920 - Aug 2013 (1
       | comment)
       | 
       |  _How to Think Like a Computer Scientist_ -
       | https://news.ycombinator.com/item?id=1749646 - Oct 2010 (6
       | comments)
       | 
       |  _How To Think Like A Computer Scientist_ -
       | https://news.ycombinator.com/item?id=1624833 - Aug 2010 (1
       | comment)
       | 
       |  _Think Python: How to Think Like a Computer Scientist_ -
       | https://news.ycombinator.com/item?id=1586000 - Aug 2010 (9
       | comments)
        
       | chuckadams wrote:
       | Based on a really old edition before it was renamed "Think
       | Python" eons ago. The "interactivity" is pretty much quiz
       | questions that test that you read the chapter at all. Looks like
       | it has some pythontutor integration too, but not much. Layout
       | feels like they gave up on the CSS halfway through.
       | 
       | You're better off going here instead, interactive or no:
       | https://allendowney.github.io/ThinkPython/
        
         | Jtsummers wrote:
         | The third edition (at your link) is interactive, each chapter
         | is available as a Jupyter notebook. Though to run it on Google
         | Colab (where it is available by default, but you can download
         | it) you do have to log into a Google account.
        
       ___________________________________________________________________
       (page generated 2024-05-31 23:02 UTC)