Introduction

We are now living in an era of digital revolution. On the horizon, many emerging digital technologies, such as IoT (Internet of Things), AI (Artificial Intelligence), Cyber Security, Blockchain, and more are being developed at breathtaking speed. Whether we like it or not, whether we are ready or not, these digital technologies are going to penetrate deeper and deeper into every aspect of our lives. This is going to fundamentally change how we live, how we work, and how we socialize. Java, as a modern high-level programming language, is an excellent tool for helping us to learn these digital technologies, as well as to develop digital applications.

The aim of this book is to use Java as a tool to help readers to learn these new digital technologies, to demystify these digital technologies, and to be better prepared for the future.

How This Book Is Organized

This book is divided into three parts. Part I provides a basic introduction of Java programming language and gets readers started with Java programming. The chapters in Part II provide Java examples of conventional programming topics like console applications, Windows applications, network applications, and mobile applications. All of that is preparation for Part III. These chapters are the core of the book, providing an easy to read guide for the latest digital technologies (IoT, AI, Cyber Security, Blockchain, and Big Data), illustrated with Java programming examples.

Part I

Part II

  • Chapter 3: Basic Java Programming
  • Chapter 4: Java Programming for Windows Applications
  • Chapter 5: Java Programming for Networking Applications
  • Chapter 6: Java Programming for Mobile Applications

Part III

  • Chapter 7: Java Programming for IoT Applications
  • Chapter 8: Java Programming for AI Applications
  • Chapter 9: Java Programming for Cybersecurity Applications
  • Chapter 10: Java Programming for Blockchain Applications
  • Chapter 11: Java Programming for Big Data

Appendices

Downloading the Code Examples

All the example source code is available on the website that accompanies this book.

Who This Book Is For

This book is intended for university/college students, as well as software and electronic hobbyists, researchers, developers, and R&D engineers. It assumes that readers have a basic understanding of computers and a computer's main components such as CPU, RAM, hard drive, network interfaces, and so on. Readers should be able to use a computer competently, performing basic tasks such as switching on and off the computer, logging in and out, running some programs, and copying/moving/deleting files. It also assumes that readers have some basic programming experience, ideally in Java, but optionally also in other languages such as C/C++, Fortran, MatLAB, C#, BASIC, or Python, and that they know the basic syntax, the different types of variables, standard inputs and outputs, the conditional selections, and structures like loops and subroutines. Finally, it assumes that readers have a basic concept of computer networks and the Internet, and can use some of the most commonly used Internet services such as the World Wide Web, email, file download/upload, and online banking/shopping. This book can be used as a core textbook as well as a supplemental textbook.

What This Book Is Not For

This book is not for readers just want to learn Java programming language; there are already a lot of good Java programming books on the market. However, in order to make the information here accessible to as many programmers as possible, the first three chapters provide a basic introduction to Java and show how to get started with Java programming; so even if you have never programmed Java before, you can still use the book. If you want to learn all technical details of Java, please refer to the following suggested prerequisite reading list and to Appendix A for more books and resources.

Suggested Prerequisite Reading

The following sources will be helpful if you need more background to get up to speed on any of the topics covered in this book.

Computer Basics

Absolute Beginner's Guide to Computer Basics, 5th Edition, Michael Miller, QUE, 2009.

Computers for Beginners (Wikibooks)

https://en.wikibooks.org/wiki/Computers_for_Beginners

Java Programming

Head First Java, 2nd Edition, Kathy Sierra, Bert Bates, O'Reilly Media; 2005.

Effective Java, 3rd Edition, Joshua Bloch, Addison-Wesley Professional, 2017

Java: A Beginner's Guide, 6th Edition, Herbert Schildt, McGraw-Hill Education; 2014

Java: The Complete Reference, 9th Edition, Herbert Schildt, McGraw-Hill Education; 2014.

Java Programming (Wikibooks)

https://en.wikibooks.org/wiki/Java_Programming

Networking and the Internet

Computing Fundamentals: Digital Literacy Edition, Faithe Wempen with Rosemary Hattersley, Richard Millett, Kate Shoup, ISBN: 978-1-118-97474-2, 2014.

Understanding Data Communications: From Fundamentals to Networking, 3rd Edition, Gilbert Held, ISBN: 978-0-471-62745-6, 2000.

Communication Networks (Wikibooks)

https://en.wikibooks.org/wiki/Communication_Networks

The Raspberry Pi

Raspberry Pi For Dummies (For Dummies (Computers)), 3rd Edition, Sean McManus and Mike Cook, John Wiley & Sons, 2017.

What You Need

To work through the examples in this book, you will need the following:

  • A standard personal computer with minimum 124MB hard drive, 128MB RAM, Pentium 2 266 MHz processor, running Windows operating systems (Vista/7/8/10 and Internet Explorer 9 and above) or Linux operating systems (Ubuntu Linux 12.04 and later, Oracle Linux 5.5 and later, Red Hat Linux 5.5 and later, etc.). You can also use a Mac computer (with Mac OS X 10.8.3 and later, administrator privileges for installation, 64-bit browser).
  • Java JDK software (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
  • Text editors and Java IDEs (see Chapter 2)
  • Raspberry Pi (https://www.raspberrypi.org/) (optional)
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset