JavaRush /Java Blog /Random EN /Additional literature for self-study programming
Marat Sadykov
Level 41

Additional literature for self-study programming

Published in the Random EN group
A good fighter is not someone who simply knows his machine gun thoroughly and knows how to use it. The fighter will benefit from hand-to-hand combat, terrain orientation and even drill training. It’s the same with a programmer: it’s not enough for him to just know “his” language. Additional literature for self-study programming - 1If you've completed 15 levels of JavaRush or so, you should start thinking about acquiring knowledge that is not directly related to Java, but is needed by every more or less serious developer. Some of them, for example, algorithms, are needed to develop programming thinking and pass interviews, others (databases or design) are needed directly for work. In this article we will look at several very useful books for those who are already ripe for “going beyond the programming language.”

Algorithms

Additional literature for self-study programming - 2
To become a good driver, knowledge of the fundamentals of a car alone is not enough: mastery of driving comes with experience in driving a car. It's the same with programming. Theory is not enough, you need to program. By going through JavaRush, you are already convinced of this. Towards the middle of the course, problems will appear, the solution of which will greatly benefit from skills in the field of algorithms. But at the very beginning, all “cadets” have different training. For example, it will be somewhat easier for people with a technical education: they usually take mathematics and algorithms at university. In general, the ability to program algorithms is very useful for developing the mindset of a programmer. But if you get a job, you most likely won’t have to write code for standard algorithms: they have already been written a long time ago. At the same time, during interviews, applicants are often offered algorithmic tasks. The ability to solve such problems will be an additional advantage for you. The book by Robert Sedgwick and Kevin Wayne will help to replenish or update knowledge in this area - it is a tutorial on programming in Java from scratch in terms of algorithms. The initial chapter of the book describes the basics of Java, and describes in more detail those elements of the language that relate to data storage methods. The remaining chapters are directly devoted to various methods of data manipulation and algorithms that solve the most common problems. Working with strings, graphs, tables, sorting, compressing information, finding paths and many standard tasks are discussed in detail with examples of Java programs. The book is filled with successful illustrations and diagrams that greatly facilitate understanding of the topics and demonstrate the progress of the algorithm. There are almost no academic formulas in it. Introduction to mathematical material is presented in accessible language, which is especially important for readers without mathematical training. And some sections and chapters can also be perceived as recipes in the style of “How to efficiently process input data to get the final result.” By the way, if you know English and prefer lectures, then check out Coursera. There is a course on algorithms by the same authors as this textbook.

SQL

Additional literature for self-study programming - 3
Many have seen this abbreviation in the list of requirements for employment in a wide variety of industries: web programming, Enterprise, data analysis, and the like. They often involve tasks of processing large volumes of data in order to obtain a result that reflects the necessary information. For example, we are interested in the amount of credit card purchases during the year, grouped by category, or the number of email messages from different groups of recipients. SQL differs from conventional languages ​​primarily in its declarative nature; we describe “what we want to get as a result,” instead of the usual “how to get the result.” Martin Graber's book will serve as a programming tutorial for beginners who plan to learn a database query language. The book is designed for an unprepared reader, so the material is presented from the very basics. All the basic commands for manipulating the DBMS and obtaining results from it are described. If you have the time and desire, it is very useful to read the book and at the same time practice the commands in practice. For puzzles, you can use a free course . Pair with this book and you'll get a truly killer combo!

Programming and software design style

Additional literature for self-study programming - 4
Closer to level 20, many JavaRush students, looking at their programs solving initial problems, grin and understand that they would have already implemented everything more compactly, elegantly and rationally. This book is not a programming tutorial; it is a set of recommendations for software design and development. Like many technical books, it should not be read “from cover to cover”; it is more effective to analyze individual chapters. Perhaps not everything contained in it will be to your liking (especially at first), but many of the tips are worth taking note of. By following the recommendations for improving code quality, you will be able to create programs that are more sight-readable; your friends and colleagues will thank you for clear code listings.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION