End of October, a new EV3 book has been released named "Lego Mindstorms EV3 Essentials" and the publisher, Packt Publishing, kindly sent me a copy and asked me for a public review.
The book, written by Abid H. Mujtaba, is an introduction to LEGO MINDSTORMS EV3 that focuses on three parts of the system:
What I like about the book is the first section where a thorough introduction to the brick, the motors and the sensors is given, following the smart idea to use the ports view on the brick's menu to look into the capabilities of the motors and sensors. The only drawbacks here are the usage of the NXT ultrasonic sensor to show and explain the Ultrasonic sensor in the EV3 set and some minor mistakes like a wrong explanation of the way the IR sensor internally works and doubtful statements to the precision of the motors.
Unfortunately, I have to admit that I am not so happy with the remaining parts of the book.
Most important, I still have issues in figuring out the target audience of the book intended by the autor: the graphical programming environment that comes with the set is completely left out of the book and not a single example for it is provided; instead, the author concentrates on the On-Brick programming capabilities here which in my opinion are a drudgery to use and do not take you very far.
Even more, following that the author strongly focuses on Linux and some of its features that certainly are beyond the skills of the common PC or MaC user: a large portion here deals with infrastructural stuff like using MAKE files and Gradle on Linux or how to copy compiled EV3 programs to the SD card. Though the author with his background as an Android developer obviously is very fond of these tools, in the interest of his readers he would have been well advised here to use the handy and easy-of-use tools instead that already come with LeJOS or the seamless leJOS integration into Eclipse.
As a result, one need to state that the book most likely is not suited for children or programming beginners.
On the other hand, experienced users with a Linux and programming background might find the book too basic: the only non-trivial program in the whole book is a line follower in the last chapter, however with a very simple and unsophisticated algorithm. There is no discussion in the book of the advanced features that make leJOS such a powerful and interesting framework for EV3 programming.
Even more, the leJOS program example code in the book obviously relates to an outdated, early version of the framework and will not compile with the most recent versions of leJOS.
As a result, one might think that robot builders with a programming background might be better off with a dedicated leJOS book like Brian Bagnall's new one that also provides a thorough introduction to the EV3 hardware and to using leJOS with a start-of -the art IDE like Eclipse (beyond just using IDEs for editing only, as the author somewhat surprisingly recommends).
This overall opinion is backed by the fact that there is not a single new and original robot to be found in the book: the only robot used in the book is TRACK3r (with an additional IR sensor attached) that comes with the EV3 Home Edition set.
To sum up, the target audience of the book might be a group of people who are familiar with Linux, love to use leJOS with tools like Gradle and Make instead of the ones LeJOS already brings along, but have no experience with leJOS programming so far and are fine with no new robots and only a superficial discussion of the capabilities of leJOS.
That subset of EV3 users, though, might be rather small.
And, besides, it's "LEGO®", not "Lego" ...
The book, written by Abid H. Mujtaba, is an introduction to LEGO MINDSTORMS EV3 that focuses on three parts of the system:
- the electronic hardware components (Intelligent Brick, motors, sensors)
- the On-Brick programming features
- using leJOS, the Java platform for EV3, putting a strong emphasis on Linux in that part
What I like about the book is the first section where a thorough introduction to the brick, the motors and the sensors is given, following the smart idea to use the ports view on the brick's menu to look into the capabilities of the motors and sensors. The only drawbacks here are the usage of the NXT ultrasonic sensor to show and explain the Ultrasonic sensor in the EV3 set and some minor mistakes like a wrong explanation of the way the IR sensor internally works and doubtful statements to the precision of the motors.
Unfortunately, I have to admit that I am not so happy with the remaining parts of the book.
Most important, I still have issues in figuring out the target audience of the book intended by the autor: the graphical programming environment that comes with the set is completely left out of the book and not a single example for it is provided; instead, the author concentrates on the On-Brick programming capabilities here which in my opinion are a drudgery to use and do not take you very far.
Even more, following that the author strongly focuses on Linux and some of its features that certainly are beyond the skills of the common PC or MaC user: a large portion here deals with infrastructural stuff like using MAKE files and Gradle on Linux or how to copy compiled EV3 programs to the SD card. Though the author with his background as an Android developer obviously is very fond of these tools, in the interest of his readers he would have been well advised here to use the handy and easy-of-use tools instead that already come with LeJOS or the seamless leJOS integration into Eclipse.
As a result, one need to state that the book most likely is not suited for children or programming beginners.
On the other hand, experienced users with a Linux and programming background might find the book too basic: the only non-trivial program in the whole book is a line follower in the last chapter, however with a very simple and unsophisticated algorithm. There is no discussion in the book of the advanced features that make leJOS such a powerful and interesting framework for EV3 programming.
Even more, the leJOS program example code in the book obviously relates to an outdated, early version of the framework and will not compile with the most recent versions of leJOS.
As a result, one might think that robot builders with a programming background might be better off with a dedicated leJOS book like Brian Bagnall's new one that also provides a thorough introduction to the EV3 hardware and to using leJOS with a start-of -the art IDE like Eclipse (beyond just using IDEs for editing only, as the author somewhat surprisingly recommends).
This overall opinion is backed by the fact that there is not a single new and original robot to be found in the book: the only robot used in the book is TRACK3r (with an additional IR sensor attached) that comes with the EV3 Home Edition set.
To sum up, the target audience of the book might be a group of people who are familiar with Linux, love to use leJOS with tools like Gradle and Make instead of the ones LeJOS already brings along, but have no experience with leJOS programming so far and are fine with no new robots and only a superficial discussion of the capabilities of leJOS.
That subset of EV3 users, though, might be rather small.
And, besides, it's "LEGO®", not "Lego" ...