Hot Best Seller

Think Java: How to Think Like a Computer Scientist

Availability: Ready to download

Version 5.1.2 Think Java is an introduction to Java programming for beginners. It is tailored for students preparing for the Computer Science Advanced Placement (AP) Exam, but it is for anyone who wants to learn Java. Think Java is concise. It uses a subset of Java that lets students work on interesting projects without getting bogged down in the details of Java. Think Java t Version 5.1.2 Think Java is an introduction to Java programming for beginners. It is tailored for students preparing for the Computer Science Advanced Placement (AP) Exam, but it is for anyone who wants to learn Java. Think Java is concise. It uses a subset of Java that lets students work on interesting projects without getting bogged down in the details of Java. Think Java teaches program development and debugging; these topics are discussed throughout the book and summarized in two appendices. Think Java incorporates the GridWorld case study that is part of the AP Exam. The book provides the background you need to get started with the case study, and some additional exercises for practice. Think Java is based on the original text of How to Think Like a Computer Scientist, a popular online textbook with versions in Python, C++ and OCaml, and translations into Spanish, French and other languages. Think Java is a free textbook available under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License . Readers are free to copy and distribute the text; they are also free to modify it, which allows them to adapt the book to different needs, and to help develop new material.


Compare

Version 5.1.2 Think Java is an introduction to Java programming for beginners. It is tailored for students preparing for the Computer Science Advanced Placement (AP) Exam, but it is for anyone who wants to learn Java. Think Java is concise. It uses a subset of Java that lets students work on interesting projects without getting bogged down in the details of Java. Think Java t Version 5.1.2 Think Java is an introduction to Java programming for beginners. It is tailored for students preparing for the Computer Science Advanced Placement (AP) Exam, but it is for anyone who wants to learn Java. Think Java is concise. It uses a subset of Java that lets students work on interesting projects without getting bogged down in the details of Java. Think Java teaches program development and debugging; these topics are discussed throughout the book and summarized in two appendices. Think Java incorporates the GridWorld case study that is part of the AP Exam. The book provides the background you need to get started with the case study, and some additional exercises for practice. Think Java is based on the original text of How to Think Like a Computer Scientist, a popular online textbook with versions in Python, C++ and OCaml, and translations into Spanish, French and other languages. Think Java is a free textbook available under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License . Readers are free to copy and distribute the text; they are also free to modify it, which allows them to adapt the book to different needs, and to help develop new material.

30 review for Think Java: How to Think Like a Computer Scientist

  1. 4 out of 5

    Reemi

    It's a simple book about coding that uses JAVA to explain how to think CODE. I found it very simple as i am an experienced wed developer , but it was also fun to read and kind of refreshing . no matter how much experience you have , there's always something u don't know , so it's okay to read simple programming books for a change . Totally recommended for any one who's new to coding , this will make a lot of stuff clearer . i wish i read these kind of books in collage , i would have loved coding e It's a simple book about coding that uses JAVA to explain how to think CODE. I found it very simple as i am an experienced wed developer , but it was also fun to read and kind of refreshing . no matter how much experience you have , there's always something u don't know , so it's okay to read simple programming books for a change . Totally recommended for any one who's new to coding , this will make a lot of stuff clearer . i wish i read these kind of books in collage , i would have loved coding even more.

  2. 5 out of 5

    Martin

    This was a good introduction to the Java programming language and thinking about algorithms and problem-solving in computer science. The parts about classes and objects were especially nice and I only wish there were solutions to some of the more difficult exercises uploaded somewhere on the Internet or at the back of the book.

  3. 5 out of 5

    Alex Kiura

    Found it a bit shallow. Definitely good for starting out but finish it quickly and move on to a deeper book.

  4. 5 out of 5

    Cory

    A great introduction to Java. My girlfriend's sister is taking her first Java class in college,I recommended this book, and she found it easier to follow than her textbook. I am a big fan of the "Think" series. Would love to see Think Objective C. A great introduction to Java. My girlfriend's sister is taking her first Java class in college,I recommended this book, and she found it easier to follow than her textbook. I am a big fan of the "Think" series. Would love to see Think Objective C.

  5. 5 out of 5

    José Monico

    8/7/2014: In conclusion? I am not confident with anything I am writing here. I hope I can better analyze everything, and consolidate my experience with this traumatic book when/if - no, when - I become more proficient with the Java language. But I think what I am about to say does hold some truth, since it is catered for the likes of me. Alright, what is positive? It's clear in every piece of information that it gives. It's to the point, and I love that. I like the fact that there is a focus on 8/7/2014: In conclusion? I am not confident with anything I am writing here. I hope I can better analyze everything, and consolidate my experience with this traumatic book when/if - no, when - I become more proficient with the Java language. But I think what I am about to say does hold some truth, since it is catered for the likes of me. Alright, what is positive? It's clear in every piece of information that it gives. It's to the point, and I love that. I like the fact that there is a focus on mathematical programming. Makes it tougher, but you would come out ahead. On that note of clarity, the glossary was fantastic. It helped immensely; and it was a perfect idea to put a definition list at the end of each chapter. Now the bad, was really bad. As I said earlier, the amount of inference you have to do, the amount of presumed internet excavation you have to dig out is not acceptable in any capacity. If certain challenges are presented, then actually illustrate them in code. Don't tell me to look it up, or surprise me with a completely new challenge that I have never heard of. That just breeds bad coding habits. Something that should be emphasized as keeping to a minimum. Did I learn? Yes, I did learn to swim-- at least I have a better understanding. I would appreciate it if I was thrown into a body of water with some flotation devices. Better yet, if I wasn't thrown into an ocean, but a kitty pool. I don't recommend this; there are better books out there. Free doesn't mean good. This is not good. I am a bit less than half-way through with this textbook. So I'd really like to say a few things as I get into the second half, and try to finish it in the next two weeks. And adding a second review might help prospective students. This is my second Java reading; but my first textbook. I delved into one prior to just a simple reading on the language, and found it daunting. So I went with a "Dummy" book to ease me into things. At this point, I don't think I made a great choice; but I did make a challenging one. First, the book recommends compiling from the command line/prompt for all exercises. A lot of CS go-ers definitely advocate for this practice. I tend to agree, as it can be quite rewarding. But it's definitely not a productive-conscious environment. The majority of programmers are using their favorite-flavored IDEs for optimal coding. Aside from being a slower method, it also has its learning curve. Unfortunately, this textbook does not even attempt to show the reader basic commands to compile, or setup the correct path variables. It tells us simply to "look it up". That's not exactly what a novice wants to hear. Luckily, I do know the basics of compiling from cmd so I tried it out for a few chapters, but I subsequently went back to Eclipse. My second gripe with the text so far is the exercises. Usually inferring is a given when learning anything; but I usually find inference is best applied to problems when examples are abundant. Here, they are minimized but the inference level is high. E.g., I had to figure out how to manipulate a method with multiple parameters through main; or currently in ch 6., how to execute a program without invoking main (regardless of the fact that method main has been implemented in every exercise thus far, and no example exists where it is not invoked). So, there is definitely a lot of Googling done by me - probably every other exercise. The challenge is great; and I will probably come out stronger because of it. However, I feel like I am learning from a last-minute substitute teacher with general notes; instead of a dedicated tenure professor. I won't say what exactly I recommend just yet, but I will say to start with a textbook that isn't less than 300 pages long (think: How To Program, etc.). Or perhaps the "Trails Covering the Basics" from Oracle online. If you'd like to read this one, I suggest this be your 'third introductory' textbook.

  6. 4 out of 5

    Arash Ashrafzadeh

    Just not bad! The book was a good review of a few hard-to-understand concepts in java programming language (I had read a few parts of "java - how to program" before) and I enjoyed its structure and literature but it was not a complete, mind-blowing reference for learning java. The exercises were just ok; I mean not challenging and not so easy. The best thing for me was that it helped me to understand inheritance better. Just not bad! The book was a good review of a few hard-to-understand concepts in java programming language (I had read a few parts of "java - how to program" before) and I enjoyed its structure and literature but it was not a complete, mind-blowing reference for learning java. The exercises were just ok; I mean not challenging and not so easy. The best thing for me was that it helped me to understand inheritance better.

  7. 5 out of 5

    blake

    I am always on the lookout for good technical books, especially beginner books. There are a lot of common mistakes made in beginner books—and intermediate and advanced books, but as the student increases in ability, he can shoulder more of those—that I think probably drive people away from a subject, make a subject seem harder than it is, and so on. I'm reacquainting myself with Java these days to work on an open source project, so I thought it would be a good idea to start from ground zero and I am always on the lookout for good technical books, especially beginner books. There are a lot of common mistakes made in beginner books—and intermediate and advanced books, but as the student increases in ability, he can shoulder more of those—that I think probably drive people away from a subject, make a subject seem harder than it is, and so on. I'm reacquainting myself with Java these days to work on an open source project, so I thought it would be a good idea to start from ground zero and see what's what. And this book was one of the best beginner books I've read in fifteen years. There's a great attention paid to handling bugs, which are kind of a bugaboo (heh) of teaching programming from a book. In a class, for example, if you make a mistake you can call the teacher over and figure out what it is. If you're typing in code (or doing an exercise) from a book and something goes wrong, you can be really screwed. Way too many modern books overburden the beginner with more than the absolute minimum necessary to work in a particular language, environment, or stack, with so many moving parts that a slight change will create an error that he has no chance to figure out. Compound that with the occasional typo, and you get frustration and grief—not something that ever needs to be added to the world of computer programming. So, this book gives you pointers to the bare minimum environment needed, and encourages you to make your own bugs on purpose (so you'll recognize when you make them accidentally). There's downloadable code, but I don't care for that as much because it's way too easy to get lazy and not do the coding yourself. (The learning is in the doing.) It also moves on a very gentle gradient, each chapter building on the last, which is a staid approach I feel has been abandoned by some authors in an attempt to try to be exciting. At the same time, there's a lot of meat in the exercises: You should not pass those over. This book also doesn't try to do too much: You will need a fair bit more to get a grasp on workaday Java, but you will be better prepared to take your next step. The appendices are also meaty. The 2D Graphic section introduces some fun, and the debugging appendix is hope for when you get lost, occasionally. I could only nitpick by talking about what this book isn't, and the only serious nitpick I have there is that it isn't book 1 of a series. You can't have a much better recommendation, I think.

  8. 4 out of 5

    Danijela

    Great! The only thing I could use very much is solutions for the exercises be it in the book or somewhere online.

  9. 4 out of 5

    Ahmed Dalatony

    a very good book for anyone want to start programming with java it covers the basics it doesn't cover OOP as I expected a very good book for anyone want to start programming with java it covers the basics it doesn't cover OOP as I expected

  10. 5 out of 5

    A

    Poor definitions in the 'vocabulary' section. But overall well written Poor definitions in the 'vocabulary' section. But overall well written

  11. 5 out of 5

    Hender

    I have programmed for many years in simple languages like basic and fortran77 and a little in pascal, the programming ever was near to my hearth for something although I am not a computer science specialist, I am most a scientist. when I tried to learn "modern" languages like java, I took books write by developers for developers and all these books gave me a certain frustration sentiment. After that experience, finally my search brought to my hands books like this one and then all was different I have programmed for many years in simple languages like basic and fortran77 and a little in pascal, the programming ever was near to my hearth for something although I am not a computer science specialist, I am most a scientist. when I tried to learn "modern" languages like java, I took books write by developers for developers and all these books gave me a certain frustration sentiment. After that experience, finally my search brought to my hands books like this one and then all was different and I can grasp the material all the way to the end. Now I believe that scholars write better books than developers for those who try to sneak peak at computer scientist stuffs. Like Downey book Ihave had read other java books written by academic scholars and my thoughts are the same. I want some academic scholar can write books about javascript fundamentals like this about java, cause I am now trying to grasp it, in aspects like asynchronicity and another features.

  12. 5 out of 5

    Anthony

    I don't know why it is ranked that low. This book is great at explaining concepts in a clear and concise way. What I especially appreciated is the way they define each and every new programming term. The last book I skimmed through - Core Java, assumed some previous computer science knowledge. This material doesn't expect a reader to know anything and starts from ground zero. It is short, to the point, and can be easily read in a few days. A week, if you do some exercises at the end of each chap I don't know why it is ranked that low. This book is great at explaining concepts in a clear and concise way. What I especially appreciated is the way they define each and every new programming term. The last book I skimmed through - Core Java, assumed some previous computer science knowledge. This material doesn't expect a reader to know anything and starts from ground zero. It is short, to the point, and can be easily read in a few days. A week, if you do some exercises at the end of each chapter.

  13. 5 out of 5

    Marco

    A good first introduction to programming. For anyone that already know something about it it'll fall short. Useful as an exercise book if you can read Java but you've never write it. A good first introduction to programming. For anyone that already know something about it it'll fall short. Useful as an exercise book if you can read Java but you've never write it.

  14. 4 out of 5

    Vikram Choudhary

    This book is good for a person who just starts to learn basic of java. This book does not give depth information about any topic and only cover the tip of the topic without explaining much about it. I would not suggest this book if you know basic of java and wants to learn more.

  15. 4 out of 5

    Jacopo Lanzoni

    'Think Java' by Allen B. Downey is a textbook about Java and Object-Oriented Programming (OOP) for total beginners. The first 9 chapters (The Way of the Program, Variables and Operators, Input and Output, Void Methods, Conditionals and Logic, Value Methods, Loops, Arrays, Strings and Things) cover the basic syntax, while the next 5 chapter (Objects, Classes, Arrays of Objects, Objects of Arrays, Objects of Objects) introduce OOP. Every chapter has a Vocabulary section and an Exercises section, w 'Think Java' by Allen B. Downey is a textbook about Java and Object-Oriented Programming (OOP) for total beginners. The first 9 chapters (The Way of the Program, Variables and Operators, Input and Output, Void Methods, Conditionals and Logic, Value Methods, Loops, Arrays, Strings and Things) cover the basic syntax, while the next 5 chapter (Objects, Classes, Arrays of Objects, Objects of Arrays, Objects of Objects) introduce OOP. Every chapter has a Vocabulary section and an Exercises section, which are a good way to consolidate the knowledge of every chapter before passing to the next one. This may be an excellent starting point for total newbies to programming, but those who can already programme a bit (even in another language) would probable be better with something else.

  16. 4 out of 5

    Reshteen

    For a beginner it's a good recommendation, but I wish they had published newer editions . For a beginner it's a good recommendation, but I wish they had published newer editions .

  17. 5 out of 5

    apollojet

    Это не учебник по программированию на Java. Более того, книга еще не закончена — автор сейчас редактирует финальную версию для O'Reilly. Это скорее попытка подхода к использованию языка программирования в качестве подспорья ученому. При этом, прочитав книгу и поделав упражнения можно вполне себе составить начальное представление о языке — а это не каждый учебник может дать. Почему-то. Это не учебник по программированию на Java. Более того, книга еще не закончена — автор сейчас редактирует финальную версию для O'Reilly. Это скорее попытка подхода к использованию языка программирования в качестве подспорья ученому. При этом, прочитав книгу и поделав упражнения можно вполне себе составить начальное представление о языке — а это не каждый учебник может дать. Почему-то.

  18. 5 out of 5

    Miguel Zavala

    Good beginners book Is a great read to bootstrap a newbie with practical examples and exercises. Promotes the use of design patterns and the reading is enjoyable

  19. 4 out of 5

    Mohamed Elshamy

    One of the best books teaches java ;-)

  20. 4 out of 5

    frederichtig

    Weak content.

  21. 5 out of 5

    Matija Čvrk

    Very good for beginners, has actual, practical asssigments in every chapter.

  22. 4 out of 5

    Cameron Munro

    A really good second book or first to read for learning java,

  23. 5 out of 5

    Drbass

  24. 5 out of 5

    Snotnose

  25. 4 out of 5

    Krista

  26. 4 out of 5

    Michela

  27. 4 out of 5

    Marc

  28. 5 out of 5

    Guga Nemstsveridze

  29. 5 out of 5

    Arya Goswami

  30. 4 out of 5

    Jakub Formella

Add a review

Your email address will not be published. Required fields are marked *

Loading...
We use cookies to give you the best online experience. By using our website you agree to our use of cookies in accordance with our cookie policy.