I'm just a hobby programmer, but I've been looking to learn discrete math so I can get in to algorithms. Is this a good book? I've seen a lot of people recommend Epp's Discrete Mathematics with Applications. I've kind of been holding off the topic until I really hit a wall and discover what/how much I need to learn. Any advice would be great.
I just took a look at it and I think for self teaching this might be a great alternative to Rosen’s DMwA. Mainly because this book offers interactive Questions and Answers at the end of each section. Pair the book with an MIT OCW math for computer science or something similar and you should be more than good. Best of luck!
Personally having a bunch of fancy tools like that makes it harder to keep a flow of (try problem, get it wrong, figure out why, repeat) but I guess I’ve never tried that with a math book. In college I always found it was best to study math with a dumb pdf and a notebook.
I'd disagree. They're better off getting some feedback on books that might appeal to their learning style and background better. Otherwise they may tire quickly and not learn well-enough.
Actually, having gone through multiple programming books, I disagree with that. I highly recommend HTDP because of their design recipes. The book shows you an approach to solving problems with programs rather than just the syntax of a language. This book has had the largest impact on my (very humble) approach to programming.
This is a 400 page book. Very likely overkill for what you intend to do. Many algorithms books contain the necessary discrete math prerequisites, so I'm not sure you should go with this book.
I am curious to know why you are working through this book. Is it related to your career or are you doing just for fun? I am asking because I often face this dilemma of whether to invest time in furthering my career or doing something I like that is not going to help my career (although this book might given that it has theory of trees and graphs).
A thing to keep in mind: there are two schools of thought. Niklas Luhmann was an extremely productive German sociologist who used his index cards system in a particular way. One school of thought tries to use his system exactly, like explained in the book that blog post is about. Others think that Luhmann had to work like that because he was restricted to physical cards, now with digital tools we can make other choices and get similar effects. Both ways are referred to as "Zettelkasten method".
I also realized that the system really works for producing content, things like producing science papers. You need to put work in how you formulate notes, and in finding connections between them. Without a good reason to keep working with your Zettelkasten, there is a risk it'll just be a pile of notes.
I don’t have much time, but look at: Tiago Forte’s blogpost about How to Take Smart Notes (also, see the book), Roam research, Obsidian, Zettelkasten.de (mostly English). Also, both Roam and Obsidian have Slacks (or Discords) full of friendly knowledge-management enthusiasts.
Those are the things that I found most helpful on my recet foray into the Zettelkasten world. Could save you some time.
Just added Forte’s blog post to my reading list! This seems similar in benefits to the idea of a Common Place Book. I’ve just had some more hardback notebooks delivered for that purpose. I’ve been keeping one for a year, filled up 2 notebooks and it’s been night and day for me. I’ve been able to comprehend subjects that I’ve struggled with before, e.g linear algebra, abstract algebra or any topic I take an interest in.
One thing my notebooks don’t have is structure and a system of referral. This makes it hard to reference previous ideas and concepts. In fact, I don’t because it’s so difficult - it’s just one big stream of consciousness. And it seems Zettelkasten does that!
I’d love to see the notes — is it possible? I’m currently struggling with putting notes for an analysis course into Zettels, and an example would be tremendously helpful.
If it’s not possible, let me at least give you a couple of questions:
1. What app are you using? (And why not Roam / why not Obsidian?
2. What do you put on one Zettel? Just theorem? Theorem+proof? Some bigger mass of knowledge?
3. Do you rewrite the proofs in detail, or just explain them using your own words without mathematical rigor?
This is amazing. It works perfectly on mobile. The fact that it explains the concepts, and then has quizes right inline to test and reinforce knowledge is awesome. And, it is free.
Nice book with very clear explanations (sometimes a little too elementary).
However, I found the chapter on generating functions a little frustrating: it gives a very good explanation of what they are, tells you they're super useful, and gives no example of an actual problem where they're used.
This book seems truly well written. Even though the material is familiar to me, I liked the chapter on generating functions for its stepwise treatment. The online exercises are wonderful too.
It does seem neat, yep! It looks like it's based on a format called PreTeXt[1], and the interactive exercises (Q&A) are implemented using an extension called WeBWorK.
This is a fantastic resource. I've long lamented the difficulty of finding textbooks. Since colleges buy them back every semester to control demand, it's actually hard to find something that should be cheap and common. It's tragic.
Good to see they're at least here online, though it's also shameful that I didn't find this on Google when I searched for it a year or so ago. Tried to buy a calculus textbook to teach a friend - only overpriced latest editions by and large were available.
Unlikely. Lots of mathematicians' hearts jump every time someone finds a slick algebraic approach to some messy combinatorics, but it's not a very frequent occurrence (I think of finding such approaches as the main part of my job).
In a typical discrete maths course, the main "arbitrage" you get from algebra is the "method" of generating functions, which is a technique for dealing with integer sequences and counting problems using polynomials. If you like matrices, you can encode polynomials as Toeplitz matrices, so you can view products of polynomials as matrix products. But generating functions are not a panacea for counting, and you usually have to seed the ground with some combinatorial results before you can water it with generating functions. Also, there are some neat uses of matrices in understanding Pascal's triangle ( http://www-math.mit.edu/~gs/papers/pascal-work.pdf ) and other sequences.
In graph theory, the matrix-tree theorem lets you count spanning trees using a determinant, and the Dijkstra algorithm for path finding can be regarded as a matrix power over the max-plus semiring. But that's about all you get out of linear algebra in a typical first discrete maths course. Matrices become more useful if you go deeper into graphs or into counting, but never take center stage.
[And before the next question comes: I haven't seen many monads used in discrete maths either.]