Freewriting is like solving a puzzle!
“What’s a variable?”
“Is a class a blueprint to make objects?”
“Do objects contain attributes and methods?”
My mini online Java lectures were often accompanied by a series of these questions. As I answered these questions, it brought back fond memories of my days as a beginner. Seeing fascinating and novel advances in artificial intelligence like OpenAI’s language model that uses deep learning to produce human-like text and alarmingly indistinguishable deep-fake videos and images, I became hooked and enrolled in various online courses and watched online YouTube videos with the main intent of learning Java.
Four years have passed, and I’ve reached proficiency today. Wanting to pass on my knowledge, I decided to start a small tutoring session service within my locality. I wanted to ensure that all my students (i.e., a mix of elementary and middle schoolers) walked away with a thorough understanding of the fundamentals. But as each weekly session passed with students simply memorizing concepts and little to no curiosity, this didn’t seem satisfying anymore.
How could I make a broader impact on those who were eager to learn Java like I once was, in a readily accessible format? I thought. This was the fundamental question.
And so, this chain of thoughts urged me to author a two-part written guide to the basics and advanced concepts of Java. With no experience authoring a book before, I quickly realized the real challenge was compiling the information and determining how to organize the content effectively: in other words, I wanted to mimic a textbook’s style, in which it starts with the absolute basics and gradually builds up to the abstract topics. Determining how to phrase the content simply so as to make it easy for readers to understand, providing ample exercise problems, and writing succinctly were other important factors to consider as I crafted together the guide. In general, this leisure activity made me realize how writing is like solving a puzzle. Writing is, by no means, a linear process. You’re solving a puzzle. It’s important to place some of your pieces on the puzzleboard and worry about adding, deleting, and embellishing finer points later. You necessarily don’t have to start with the first piece (i.e., the introduction), you can start with the sixth or the hundredth piece (i.e., a body paragraph or a separate chapter) alternatively. For me, treating the writing process as solving a puzzle made it more enjoyable and easier to work towards my small deadlines/goals (i.e., it didn’t seem as daunting as it initially seemed to me).
A rigorous technical treatment, it consists of a detailed, foundational Java module and several practice problems on various topics (e.g., primary data structures, conditional statements, loops, arrays, graphics, interfaces, trees, sets, maps, and much more). It’s my hope that all those who are eager to learn have such resources handy, which I wish I possessed when I was learning programming.
After seeing my work publicly available on Amazon, my friends jokingly commented, “750 pages! Did you write one of those textbooks? I think you went a little overboard in creating your so-called comprehensive guide.”
If you were interested, see this link for more information about Java: A Comprehensive Guide.
Enjoy Reading This Article?
Here are some more articles you might like to read next: