Programming for Absolute Beginners: Using the JavaScript Programming Language

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

New programmers start here...this book introduces students or aspiring professionals to the world of computer programming using JavaScript and related technologies. This book doesn't just teach the basics of programming, but also all of the tools that new programmers need to get started, including the basics of making web pages and how the Internet works. Programming for Absolute Beginners offers practice problems, activities, and a host of resources to get new programmers started, plus a large glossary of terms introduced in the book and that a new programmer might encounter when learning on their own. No special software is required; this book will help you regardless of what your computer setup is, and source code will be freely available via GitHub. What You Will Learn • How computers work • How computers communicate over networks • How web pages are built with HTML and CSS • How JavaScript works • How JavaScript interacts with web pages • Intermediate JavaScript topics such as recursion and scoping • Using JavaScript for network communication Who This Book Is For Anyone wanting to begin computer programming, including students who need to learn the fundamentals and early professionals who want to go back and revisit the basics. About the author Jonathan Bartlett is a software developer, researcher, and writer. His first book, Programming from the Ground Up, has been required reading in computer science programs from DeVry to Princeton. He has been the sole or lead author for eight books on topics ranging from computer programming to calculus. He is a technical lead for ITX, where his specialty is getting stuck projects unstuck. He is a senior software developer for McElroy Manufacturing, spearheading projects in web, mobile, and embedded software. He is now the author of several Apress books including Electronics for Beginners and more.

Author(s): Jonathan Bartlett
Publisher: Apress
Year: 2023

Language: English
Pages: 327

Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Chapter 1: Introduction
1.1 What You Will Learn
1.2 How to Use This Book
1.3 For Younger Programmers
Chapter 2: A Short History of Computers
2.1 The Prehistory of Computers
2.2 The Idea of a Computer
2.3 The Age of the Computer
2.4 Computers in the Age of Networks
2.4.1 Review
2.4.2 Apply What You Have Learned
Chapter 3: How Computers Communicate
3.1 The Layers of Internet Communication
3.2 Communicating Using HTTP
3.3 Connecting with a Remote Server Manually
3.4 How Computers Are Located on the Internet
3.4.1 Review
3.4.2 Apply What You Have Learned
Chapter 4: How a Computer Looks at Data
4.1 What Computer Memory Looks Like
4.2 Using Numbers to Represent Data
4.3 Sequences in Data
4.4 Using Numbers to Represent Letters
4.5 What Is a File Format?
4.5.1 Review
4.5.2 Apply What You Have Learned
Chapter 5: How Computers Work
5.1 Parts of a Computer
5.2 A Simplified Paper Machine Simulation
5.3 A Short Program: Multiplying by 2
5.3.1 Setting Up the Simulation
5.3.2 Running the Simulation
5.4 Adding a List of Numbers
5.5 Machine Opcode Tables
5.5.1 Review
5.5.2 Apply What You Have Learned
Chapter 6: The HTML File Format
6.1 A Quick Introduction to HTML
6.2 The Parts of an HTML Document
6.3 Adding Attributes to Tags
6.4 Tags That Refer to Other Documents
6.5 Relative URLs
6.6 Other HTML Features
6.6.1 Entities
6.6.2 Lists
6.6.3 Table Tags
6.6.4 Form Tags
6.6.5 Standard Attributes
6.6.6 Comments, Declarations, Processing Instructions, and CDATA Blocks
6.6.7 Review
6.6.8 Apply What You Have Learned
Chapter 7: Introduction to Cascading Style Sheets
7.1 The Origin of Cascading Style Sheets
7.2 The Structure of a CSS Document
7.3 Understanding Selectors
7.4 The CSS Box Model
7.5 Other Capabilities of CSS
7.5.1 Review
7.5.2 Apply What You Have Learned
Chapter 8: Your First JavaScript Program
8.1 A Short History of JavaScript
8.2 A Simple JavaScript Program
8.3 Moving the JavaScript to Its Own File
8.3.1 Review
8.3.2 Apply What You Have Learned
Chapter 9: Basic JavaScript Syntax
9.1 Elements of Syntax
9.2 Assignment Statements
9.3 Control Structures
9.3.1 The if Statement
9.3.2 The while Statement
9.3.3 The for Statement
9.3.4 Review
9.3.5 Apply What You Have Learned
Chapter 10: Introducing Functions and Scope
10.1 Your First Function
10.2 More Function Examples
10.3 Functions Calling Functions
10.4 Variable Scopes
10.4.1 Review
10.4.2 Apply What You Have Learned
Chapter 11: Grouping Values Together with Objects and Arrays
11.1 A Basic Introduction to Objects
11.2 Simplifying Object Creation
11.3 Storing Sequences of Values Using Arrays
11.4 Using Arrays in Programs
11.5 Mixing Objects and Arrays
11.6 Object Methods
11.6.1 Review
11.6.2 Apply What You Have Learned
Chapter 12: Interacting with Web Pages
12.1 Using the JavaScript Console
12.2 Finding and Modifying Web Page Elements
12.3 Creating New HTML Elements
12.4 Communicating with Input Fields
12.5 Adding Functionality to Buttons
12.6 Putting It All Together
12.7 Logging to the Console
12.7.1 Review
12.7.2 Apply What You Have Learned
Chapter 13: Recursive Functions and the Stack
13.1 The Program Stack
13.2 Local Variables in the Stack
13.3 Recursive Functions
13.3.1 Review
13.3.2 Apply What You Have Learned
Chapter 14: Manipulating Functions and Scopes
14.1 Functions as Parameters to Functions
14.2 Functions That Return Functions
14.3 Functions That Create Functions
14.4 Currying Functions
14.5 Anonymous Functions
14.5.1 Review
14.5.2 Apply What You Have Learned
Chapter 15: Intermediate Objects
15.1 Attaching Functions to Objects
15.2 Using Objects Productively
15.3 Constructing Objects
15.3.1 Review
15.3.2 Apply What You Have Learned
Chapter 16: Modernizing JavaScript
16.1 Declaring Variables with let and const
16.2 Destructuring Assignments
16.3 Accessing Properties with Strings
16.4 Function Syntax
16.4.1 Review
16.4.2 Apply What You Have Learned
Chapter 17: Working with Remote Services (APIs)
17.1 Getting an API Key
17.2 JSON: The Language of Data
17.3 Accessing the Network with JavaScript
17.4 The Query String
17.5 Interacting with a Web Page
17.6 A Few Other Bits to Note
17.6.1 Review
17.6.2 Apply What You Have Learned
Chapter 18: Writing Server-Side JavaScript
18.1 Programming Languages
18.2 Using JavaScript Outside of the Browser
18.3 A Small Web Service Using Node
18.4 Why We Need Frameworks
18.5 Making Your Service Available
18.5.1 Review
18.5.2 Apply What You Have Learned
Chapter 19: Conclusion
Appendix A
Glossary
Appendix B
Operating System and Browser Specifics
B.1 The Browser Location Bar
B.2 Getting to the Command Line
B.2.1 Getting to a Command Line in Windows
B.2.2 Getting a Command Line on a Mac
B.2.3 Getting a Command Line on Linux
B.3 Using a Text Editor
B.3.1 Getting Windows Set Up Properly
B.3.2 Using a Text Editor in Windows
B.3.3 Using a Text Editor in Mac OS
B.3.4 Using a Text Editor in Linux
B.3.5 Text Encoding Problems
B.4 Interacting with a Web Page in Developer Mode
B.4.1 Viewing the Source
B.4.2 Interacting with the Source
B.4.3 The JavaScript Console
B.4.4 The Network Tab
B.4.5 The Sources Tab
B.5 Finding the URL of an Image on the Web
B.6 What to Do When a Program Doesn’t Work
Appendix C
The JavaScript Toolbox on Docker
Appendix D
Character Encoding Issues
D.1 A Short History of Character Encodings
D.2 Unicode and International Character Sets
D.3 An Abbreviated ASCII Table
Appendix E
Additional Machine Language Programs
E.1 Multiplying Numbers
E.2 Writing to the Screen
E.3 Writing a Number to the Screen
E.4 Going Further
Index