Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Books that teach you logic building skills
85 points by hungle9 42 days ago | hide | past | favorite | 25 comments
Looking for a book/textbook that teaches you a logic building skills through real-projects for fresher programmers.

Take Claude E. Shannon's Master's thesis, the long version. Considered by many the most important Master's thesis of last century. It fully introduced the concept of binary / Boolean logic to design of electronic circuits. If you understand the core premise of his work, you understand the core of computers. If you can apply his work, you can design computers.


https://dspace.mit.edu/handle/1721.1/11173 https://www.cs.virginia.edu/~evans/greatworks/shannon38.pdf

Go through the theory in the thesis with pen and paper, use the references as needed. Thesis, article on it by Shannon and lots of commentary available freely online. He provided a number of practical applications, with breakdown.

Here is the core question you need to answer to understand logic in computers: what can you do with just yes and no, represented as 1 and 0?

Why were these numbers reversed in Shannon's thesis?

In his thesis, 1+1=1. Why? If you understand postulates, it makes sense for the kind of theory he is developing. If not, you should be very excited: mathematical theory, unlike how it is presented in bad schools, is not about following rules someone has decided on. It is about making sense in accordance with the logic you decide upon! This is as close as you can get to real magic, magic you can prove and make manifest in reality. Contemplate this deeply.

What kind of information can you transmit with a lamp and a switch, turning the lamp on and off? (Tip: this is the whole idea behind how the super-modern fiber-optic cables are transmitting information today, with lights blinking on and off, real fast, from one end to the other. Poetically, they are the core of the Internet).

Following the hyperlinks and looking up what you need should provide all the information required and more. https://en.wikipedia.org/wiki/A_Symbolic_Analysis_of_Relay_a...

Great resource thanks for sharing. Lots of the useful titles and resources :)

Glad you find it interesting. Some of the schematics he has in the thesis can be created very cheaply with garbage switches or components, or spending a small sum (under 20 USD) on switches and a breadboard.

I actually just wrote one. Check out Computer engineering for babies. (https://computerengineeringforbabies.com)

Is this targeted at parents or could an 8 year old grasp the book?

No, it isn't. My target is design the CS training curriculum for my fresher/intern dev.

Not a textbook (just a book), but still a fun way to intuitively encounter formal logic - https://en.m.wikipedia.org/wiki/To_Mock_a_Mockingbird

Not a book, but I found the logic courses on brilliant.org to really stretch the brain muscle


Interesting. How do you find Brilliant in general? Is it worth paying for? Seems a bit surface-level from a quick glance, but I'm sure it's possible for it to have real depth if one follows learning paths (or if some courses are simply longer).

I'm sure it also depends on the topic; I only tried the free graphs course.

It is subscription based and you get access to all of the courses for a single price. To gain maximum value, you will need to use the platform regularly. For me it is worth it as the content is good qquality content and it suits my learning style. Work through problem solving and developing intuition, often through visual aids and everyday experience.

The math and science subjects I'd say is most mature, and has the most content. thereafter one can practice more from textbooks or alike to really go into the depth and expand on the mastery.

FB recommends it to prep for interviews with probability/stats requirements (Product/DS/Analytics)

One thing that completely changed my thought process and increased intellectual faculties tremendously was working in IT, precisely in Operations. The amount of problems I had to solve helped me think in a certain way. Some problems were easy, others hard, some at leisure others under pressure, but it's the constant and consistent exercise over the years that unlocked problem solving, reason and logic capacity that I posses now and can apply in any life situation following established patterns.

Logic can be described in a book, but I don't think it can be taught in a book. It's a consequence of solving a lot of problems over a long period of time. My suggestion would be to pick up any book/website with programming problems and work on them every day changing the problems every so often, however nothing beats actual work experience where you have someone to explain to you why something is a good approach and why not. Understand what is expected of you, see how it fits in the big picture and start by breaking it down into smaller pieces. It's very simple, just getting it takes time.

I recommend "Introduction to Logic", by Irving Copi and others. It is intended for philosophy majors I think, but works very well for general readers.

If I understand correctly, you're asking for books that will teach you logic, problem solving etc? If yes, check these out: - Mathematical Circles The Russian Experience (the book is in english) - How To Solve It by Polya - brilliant.org

The Little Schemer is fantastic

I second this.

There are also more advanced titles in the same series.

Not exactly what you asked for but I would highly recommend "To mock a Mockingbird".

The Game of Logic by Lewis Carroll

Thank you @webmaven!

Check the art of problem solving contest books, or project euler. I honestly think the best way to build logical reasoning skills is through real math or cs challenges, rather than some artificially constructed logical reasoning tasks.

The Philosopher's Toolkit by Julian Baggini and Peter S. Fosl (Wiley-Blackwell)

It sounds like you're looking for a book which will help a novice programmer develop logic skills through programming projects. Is that correct?

Yes, it is. If you know any courses/books. Please let me know.

I would take a look at books about debugging broken software. Debugging is arguably the most direct and explicit application of human-level logic to software development.

The Philosopher's Toolkit by Julian Baggini and Peter S. Fosl

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact