avatarLincoln W Daniel

Summary

Lincoln W Daniel, a software engineer, introduces his book "Java for Humans," which aims to teach Java programming by relating concepts to human experiences, emphasizing practical learning through building, and providing resources like video tutorials and supporting code.

Abstract

"Java for Humans" by Lincoln W Daniel is a beginner-friendly guide to learning Java, the world's most widely used programming language. The book is designed to make Java accessible by connecting programming concepts to everyday experiences, making the learning process more relatable and enjoyable. Daniel, who has experience interviewing with top tech companies and receiving offers from prestigious organizations like NASA JPL and IBM Watson, shares his expertise through real-world examples and hands-on projects. The book covers essential Java concepts, including classes, methods, data structures, and object-oriented principles like encapsulation, interfaces, and polymorphism. Additionally, it offers insights into best practices, design patterns, and strategies for self-directed learning, such as using Google and StackOverflow. To cater to different learning styles, Daniel complements the text with a video series on his YouTube channel, ModernNerd. The book also includes a GitHub repository with executable code for each chapter, ensuring readers can apply what they learn directly.

Opinions

  • Daniel believes in the effectiveness of learning by doing, emphasizing the importance of building projects to understand Java.
  • He values the connection between teaching and mastering a skill, suggesting that teaching others reinforces one's own knowledge.
  • The author sees the benefit of relating coding to life experiences, making the subject matter more engaging and easier to grasp for beginners.
  • Daniel advocates for the use of Java due to its widespread use, portability across platforms, and its role in powering Android devices.
  • He acknowledges the importance of community resources like StackOverflow for continuous learning and problem-solving.
  • The book is not intended for those who are resistant to new ways of thinking or those who already consider themselves experts in Java, unless they are looking to reinforce basics or find new teaching methods.
  • Daniel aims to inspire and provide a foundation for readers to continue learning beyond the book, encouraging a proactive approach to mastering Java and other programming languages.
String author = "Lincoln W Daniel";
String bookTitle = "Java for Humans";
System.out.printf("Hello, World! My name is %s, author of %s", author, bookTitle);

Hello, World! My name is Lincoln W Daniel, a software engineer studying computer science. My passion is in developing software to enable people. I am writing to teach aspiring programmers/coders how to learn Java, my favorite language, in a way people can easily understand and relate to.

I know you want to get started now, but bare with me for a couple minutes as I introduce myself and Java.

Why Listen to Lincoln

I’m not a PhD and I wasn’t born with a knack for math. Nonetheless, in a little over a year of practicing software engineering, programming, coding, or any other term you may know it by, I have managed to interview with companies like AirBnB, Pandora, Box, and LinkedIn. Further, I’ve received internship offers from some of the more notable companies, including NASA JPL, IBM Watson, and A Medium Corporation among others. I learned and have reached this point in my young career by doing — building. However, I believe there is great value in books that can effectively teach beginners how to learn something in a language they can understand.

When it comes to teaching, I look at it this way: the more you teach others a skill, the better you become at that skill. As a tutor and teaching assistant, I help students understand concepts by relating them to real human experiences. I will be employing the same method to help you learn how to code because students have told me it is more fun and considerably more effective.

Why Learn Java

Put simply, Java, named after coffee, runs the world. There are more than three billion devices running Java today, according to Oracle. This is only possible because Java is a portable language thanks to the Java Virtual Machine (JVM). The JVM allows Java developers to write code and compile (run) it on one platform and run it on many other platforms unlike other languages. This has allowed Java to become a powerhouse in the programming world. Google caught on to this and swiftly made Java the language that runs your Android phone. Java is in everything and you’ve been using it since you were surfing the web in the good ole America Online dial up internet days.

Java for Humans will help you learn how to build the cool tools you use everyday. With knowledge of programming in Java, you can start building Android applications and games for phones, televisions, and tablets. Furthermore, not only will you be able to build with Java, you will be better prepared to learn more programming languages to increase the range of applications you can build from car to drone software.

Why Read this Book

I am writing this book to teach anybody with the slightest bit of interest in computer science, software engineering, and programming/coding how to begin by learning Java, the most widely used and deployed programming language today. However, Java for Humans won’t be like other coding books. My intention is to relate coding to human experiences to make it easier for beginners to learn and have a connection with Java.

Who is This Book For?

For the beginner who has never heard of Java before today, this book will get you started on the road to building your first Java application by walking you through the essential components step by step.

For those who have dipped their toes in a little bit but are feeling the coding life is a little too cold for them, too unlike what they are use to, or simply too boring to continue learning, this book is here to slowly pull you in deep. Java for Humans will help you relate coding to your life experiences so you don’t feel lost. Your current knowledge will be reinforced through clearer and more thorough explanations.

Not only can an old dog be taught new tricks, an old dog can also learn how to teach old tricks.

Finally, if you consider yourself an expert in Java or a coder of moderate skill level, Java for Humans will help you reinforce your knowledge of the basics of Java that you may be forgetting. Further, as experienced programmers, we are always learning from one another. Java for Humans will provide you inspiration for new ways of teaching your craft to others who may be beginning and those who need a refresher.

Who isn’t This Book For?

Anybody who knows oneself to be closed to new ways of thinking, this book is not for you. If you do not fall in one of the groups in “Who is This Book For”, this book may not be for you, yet. However, do feel free to stay ☺.

What Will You Learn?

By relating programming/coding to your human experiences, Java for Humans will teach you all of the concepts listed in the table of contents. Some of the more noteworthy ones include how to create a class, using encapsulation, using methods and variables, datatypes and data structures, interfaces, and the great polymorphism. You will also learn best practices, design patterns, tips and tricks for programming in Java.

Not only will you learn the above topics, I will teach you how to learn far beyond what any book can ever teach you. You will learn how to use Google & StackOverflow to learn more when you’re stuck. I will teach you how to learn through doing research, building things, breaking things, and fixing things as you go. Some call this the act of building a plane while you are in midair, but I call it the process of learning by doing. It is one of the most effective ways of learning how to do anything, especially programming.

The Overlying Projects

I believe in having fun while learning. Towards the end of the book, you will use all of the wonderful skills and super powers you develop to build and play a little fighting game in Java.

ModernNerd Video Series

Because some people may learn better by hearing the explanation rather than reading it, I am publishing a video series on Java for Humans on my Youtube channel, ModernNerd. I will publish those videos as time permits, so please subscribe to the channel to receive updates as I post new videos.

Supporting Source Code

Finally, the code. While I will include necessary code snippets within the chapters, I have posted the executable code base for each chapter in a GitHub repository in order to keep the chapters short. The link to the repository can be found at the bottom of the table of contents.

Okay, that’s enough of the boring groundwork stuff. Time to get started.

Next Chapter

Table of Contents

A product of JavaForHumans.com by Lincoln W Daniel, the ModernNerd.

Coding
Programming
Java
Recommended from ReadMedium