Math Knowledge

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Math Knowledge

Slight_Of_Nand
Hello,

Maths isn't my strong point and I am realising that it is a potential bottleneck for me as I progress through this book.

Would anyone be so kind as to list recommended math skills that would be useful to learn (I had to reteach myself factoring and distributing for the boolean algebra section!)

Any good online resources would also be appreciated/book recommendations.

Thank you,

Nand
Reply | Threaded
Open this post in threaded view
|

Re: Math Knowledge

ivant
You don't need any special math skills to complete the book. The places where you need something "a bit more" are explained in the book, like how to approximate the square root of a number (and this is in chapter 12!).

The only thing I can think you might find challenging, math-wise, is the 2-complement representation of numbers. It's basically just addition and subtraction, but it's a bit non-intuitive. In any case, if you find something challenging you can always ask for help here. You can also generally skip any chapter you don't feel comfortable with. Further chapters generally provide implementation of all that you need fro before. The only exceptions are chapter 7, which is required for chapter 8, and chapter 10, which is required for chapter 11. So if you skip 7, you must skip 8 as well.
Reply | Threaded
Open this post in threaded view
|

Re: Math Knowledge

Lozminda
This post was updated on .
Hi
I agree re Maths, there's nothing particularly challenging, basic algebra maybe ?
Coding experience is more important as you'll be required to write various programs as part of the course.

I'm gonna disagree with ivant (who i'm guessing generally knows shed loads more than me) but I really wouldn't suggest skipping chapters especially in the later chapters. If I'd done that I just wouldn't have had any clue what the authors are going on about. The book is kind of designed to start you off at the beginning and lead you through. It would be a far superior intellect to mine (or maybe some one with a lot of computer knowledge) who could skip chapters.
Personally I wouldn't recommend it.
At least give them a quick read through if you were...

In fairness I think (as i don't know him/her) ivant is very experienced in the ways of pootas (from various posts) where as I'm not, so there's my bias.

A final note the Nabblers are very helpful (all most all the time  !)
Lozminda

Ps I'm a construction worker and on chapter 9, no education past 17, (actually not completely true trained to do TFL for a few months around 30) so I reckon if I can, anyone can.
Reply | Threaded
Open this post in threaded view
|

Re: Math Knowledge

WBahn
Administrator
This post was updated on .
In reply to this post by Slight_Of_Nand
I don't think there's much math that isn't presented in the book -- at least I'm pretty sure that was the intent. They do assume some facility with basic algebra when implementing some of the operating system functions, but the math directly related to the algorithms is presented. Be prepared to spend some quality time with their algorithms if you really want to understand them; there are numerous threads on the forums that also delve into the whys and hows of most of them, too.

The Boolean stuff is pretty much self-contained, although it is sparse in that they don't go much beyond exactly the stuff you need to get through in order to implement the project. But the entire book is that way -- they expended a lot of effort trimming out everything that wasn't absolutely necessary, which is unfortunate in the sense that a lot of context and deeper understanding is missing, but very fortunate in that this is the only way this had a chance of being a one-semester course.

The intent of the project structure is that you can do them in any order, but I think that is only advisable if you have some grounding in the material you are skipping over. Having said that, if you are willing to treat the processor as a black box that adheres to the Hack instruction set architecture, then you can start with Chapter 4 and then do Chapter 6 and on. Similarly, if you are willing to treat the system as a black box that adheres to the VM language specification, then you could start with Chapter 9 and go forward. I think you will be missing out on a huge fraction of the beauty of understanding the end-to-end system, but you can always come back and fill that in.

One problem you will have if you skip Chapters 7 and 8 is that you won't have a VM Translator at all, since the authors don't provide one. Thus you won't be able to take your Jack programs all the way down to Hack code and run on the CPU Emulator.