What are the prequisites for studying The Art of Computer Programming?

In summary, if you want to learn how to code properly, then you want to get into various software engineering topics.
  • #1
Maths Absorber
59
3
Hi friends,

I have an avid interest on Mathematics and progranming and am working very hard to become a great computer scientist/ engineer. I have been researching books that woukd help me in this goal and by all accounts, TAOCP is one of them.

I am convinced that studying this book wilk give me a distinct advantage over most of my classmates who just do the university syllabus (which unfortunately, doesn't go into great depth). I'm in my second year of engineering.

However, one major block I've come across is finding out that the book is written on an imsginary computer called MIX in assembky language. We're only going to do assembly language next semester and it's an area I have no experience in. It scared me and I didn't go very far with the book.

My question is what is the best way to go about it? We have a ciurse on data structures this semester and I wish to master it through TAOCP. What is the prequisite required to understand it? Do I need to buy another book and study assembky language and then start reading it or is there any other approach which would help me?

Many thanks for your time.
 
Physics news on Phys.org
  • #2
Hi Mat,

I have TAOCP in my bookcase for sentimental reasons. For your purposes any other book would be a lot better than trying to get at it through struggling with MIX.
Find something you like, or browse the material for your course.

[edit] if that's not sophisticated enough, a simple google of introduction to data structures should allow you to find something that matches your course topics and leads you further.

Good luck !
 
  • #3
You are talking about the book by Knuth, right?

https://www.amazon.com/dp/0321751043/?tag=pfamazon01-20

That one?

Probably you could benefit from it. But also, probably you could get the same benefit from some other books that are a bit more accessible. Knuth is more interested in, well, academic issues and theory behind various things. These are interesting questions. But probably there are better ways for an undergrad to get through a class on a particular computer topic.

Knuth is one of those "classic" texts that everybody wants everybody else to read. It's a lot like the Feynman lectures books. Even Feynman wasn't particularly enthusiastic about making it the text for a class. Lots of fun, very interesting, and everybody should read it. But it should not be your main source or main learning material.

For example: If you want to learn data structures, probably the text for your class is the place to start. Or you could even start with one of the really introductory books. Maybe a Schaum's Outline or something like that. Or you could delve into one of the Numerical Recipes books.

https://www.amazon.com/dp/0521880688/?tag=pfamazon01-20

If you wanted to learn to code in a particular language, there are user groups and similar resources. For example, for C++ you could do worse than starting here.

https://isocpp.org/faq

If you want to learn how to code properly, then you want to get into various software engineering topics. For example, learning the "morality" of computer programming is a keen issue. A book I quite like is this one.

https://www.amazon.com/dp/0735619670/?tag=pfamazon01-20
 
Last edited by a moderator:
  • #4
I would list these as the prerequisites:

(1) Solid mathematics experience, up to at least intermediate calculus.
(2) Experience in a low level programming language. These days probably plain C. You should have written at least 2-3 small programs in plain C.
(3) Experience with assembly language. These days probably x86 or x86_64. You should have written at least 2-3 small programs in pure assembly.
 
  • #5
Thank you for all your generous inputs.

The book prescribed by my university doesn't appeal to me at all actually. Plus, I've never heard anyone describe it as a classic. That's why I wanted to do The Art of Con liter Programming. I don't want to use it to get through a course. My actual intention behind using it was because it's a classic and so revered. I figured learning it would enhance my skills.

I will definitely check out the numerical Recipes book. Thank you for the recommendations.

I am confident about the mathematical part of it and the programming side of it. I'm worried about the assembly side of it, which I'm completely clueless about.

Anyway, thanks for your help, guys.
 

1. What educational background is required to study The Art of Computer Programming?

The Art of Computer Programming is a comprehensive book on computer science and programming, and it is recommended to have a strong foundation in mathematics, logic, and computer science before studying it. A degree in computer science or a related field is useful, but not necessary.

2. Do I need to know a specific programming language before studying The Art of Computer Programming?

The Art of Computer Programming covers a wide range of topics and algorithms, and it is not focused on a specific programming language. However, it is beneficial to have a basic understanding of a programming language, such as C or Java, to fully understand the examples and exercises in the book.

3. How long does it take to study The Art of Computer Programming?

The Art of Computer Programming is a multi-volume book, and the time it takes to study it will vary depending on the individual's pace and prior knowledge. It is recommended to take your time and thoroughly understand each concept before moving on, which may take several months or even years.

4. Are there any prerequisites for studying The Art of Computer Programming?

Aside from a strong foundation in mathematics and computer science, there are no specific prerequisites for studying The Art of Computer Programming. However, it is helpful to have a curious and analytical mindset, as well as determination and perseverance.

5. Can I study The Art of Computer Programming without any prior programming experience?

It is possible to study The Art of Computer Programming without any prior programming experience, but it may be more challenging. It is recommended to have at least some basic understanding of programming concepts before diving into the book to fully benefit from its content.

Similar threads

  • STEM Academic Advising
Replies
3
Views
827
  • STEM Academic Advising
Replies
16
Views
402
  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Academic Advising
Replies
1
Views
460
Replies
4
Views
843
  • STEM Academic Advising
Replies
6
Views
1K
  • STEM Academic Advising
Replies
13
Views
411
  • STEM Academic Advising
Replies
9
Views
1K
  • STEM Academic Advising
Replies
4
Views
2K
  • STEM Academic Advising
Replies
3
Views
146
Back
Top