This task-based tutorial is for students with no programming experience as well as those programmers who have some experience with the programming language and now want to take their skills to the next level. The book walks the reader through all the fundamentals and then moves on to more advanced topics.