25,99 €
Get ready to take on Python with a practical and job-focused guide Job Ready Python offers readers a straightforward and elegant approach to learning Python that emphasizes hands-on and employable skills you can apply to real-world environments immediately. Based on the renowned mthree Global Academy and Software Guild training program, this book will get you up to speed in the basics of Python, loops and data structures, object-oriented programming, and data processing. You'll also get: * Thorough discussions of Extract, Transform, and Load (ETL) scripting in Python * Explorations of databases, including MySQL, and MongoDB--all commonly used database platforms in the field * Simple, step-by-step approaches to dealing with dates and times, CSV files, and JSON files Ideal for Python newbies looking to make a transition to an exciting new career, Job Ready Python also belongs on the bookshelves of Python developers hoping to brush up on the fundamentals with an authoritative and practical new handbook.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 837
Veröffentlichungsjahr: 2021
Cover
Title Page
Introduction
WHAT DOES THIS BOOK COVER?
READER SUPPORT FOR THIS BOOK
PART I: Getting Started with Python
Lesson 1: Setting Up a Python Programming Environment
PYTHON OVERVIEW
USING REPLIT ONLINE
GETTING STARTED WITH JUPYTER NOTEBOOK
A QUICK LOOK AT VISUAL STUDIO CODE
USING PYTHON FROM THE COMMAND LINE
SUMMARY
EXERCISES
Lesson 2: Understanding Programming Basics
THE FUTURE OF COMPUTER PROGRAMMING
PROGRAMMING LANGUAGES
DATA TYPES AND VARIABLES
SUMMARY
EXERCISES
Lesson 3: Exploring Basic Python Syntax
USING WITH SINGLE-LINE COMMANDS
USING SEMICOLONS
CONTINUING WITH BACKSLASH
WORKING WITH CASE STRUCTURE
ADDING COMMENTS
USING THE INPUT FUNCTION
STORING INPUT
UNDERSTANDING VARIABLE TYPES
DISPLAYING VARIABLE VALUES
NAMING VARIABLES
SUMMARY
EXERCISES
Lesson 4: Working with Basic Python Data Types
REVIEW OF DATA TYPES
NUMBER DATA TYPES
IDENTIFYING DATA TYPES
MATHEMATICAL OPERATIONS
PEMDAS
COMMON MATH FUNCTIONS
MATH LIBRARY FUNCTIONS
USING NUMBERS WITH USER INPUT
BOOLEAN TYPES AND BOOLEAN OPERATIONS
LOGIC OPERATIONS
COMPARATIVE OPERATORS
SUMMARY
EXERCISES
Lesson 5: Using Python Control Statements
CONTROL STRUCTURES REVIEW
UNDERSTANDING SEQUENCE CONTROL STRUCTURE
UNDERSTANDING SELECTION STATEMENTS
UNDERSTANDING CONDITIONAL STATEMENTS
IF-ELSE STATEMENTS
WORKING WITH NESTED CONDITIONS
EMBEDDING CONDITIONS
SUMMARY
EXERCISES
Lesson 6: Pulling It All Together: Income Tax Calculator
GETTING STARTED
STEP 1: GATHER REQUIREMENTS
STEP 2: DESIGN THE PROGRAM
STEP 3: CREATE THE INPUTS
STEP 4: CALCULATE THE TAXABLE INCOME
STEP 5: CALCULATE THE TAX RATE
STEP 6: UPDATE THE APPLICATION
STEP 7: ADDRESS THE UI
ON YOUR OWN
SUMMARY
PART II: Loops and Data Structures
Lesson 7: Controlling Program Flow with Loops
ITERATIONS OVERVIEW
THE ANATOMY OF A LOOP
THE FOR LOOP
THE WHILE LOOP
FOR VS. WHILE LOOPS
STRINGS AND STRING OPERATIONS
ITERATING THROUGH STRINGS
SUMMARY
EXERCISES
Lesson 8: Understanding Basic Data Structures: Lists
DATA STRUCTURE OVERVIEW—PART 1
CREATING LISTS
DETERMINING LIST LENGTH
WORKING WITH LIST INDEXES
NEGATIVE INDEXING IN LISTS
SLICING LISTS
ADDING ITEMS TO A LIST
INSERTING LIST ITEMS
REMOVING LIST ITEMS
CONCATENATING LISTS
LIST COMPREHENSION
SORTING LISTS
COPYING LISTS
SUMMARY
EXERCISES
Lesson 9: Understanding Basic Data Structures: Tuples
TUPLES AND TUPLE OPERATIONS
TUPLE INDEX VALUES
NEGATIVE INDEXING IN TUPLES
SLICING TUPLES
IMMUTABILITY
CONCATENATING TUPLES
SEARCHING TUPLES
SUMMARY
EXERCISES
Lesson 10: Diving Deeper into Data Structures: Dictionaries
DATA STRUCTURE OVERVIEW—PART 2
GETTING STARTED WITH DICTIONARIES
GENERATING A DICTIONARY
RETRIEVING ITEMS FROM A DICTIONARY
USING THE KEYS() METHOD
USING THE ITEMS() METHOD
REVIEWING THE KEYS(), VALUES(), AND ITEMS() METHODS
USING THE GET() METHOD
USING THE POP() METHOD
WORKING WITH THE IN OPERATOR
UPDATING A DICTIONARY
DUPLICATING A DICTIONARY
CLEARING A DICTIONARY
SUMMARY
EXERCISES
Lesson 11: Diving Deeper into Data Structures: Sets
SETS
RETRIEVING ITEMS FROM A SET
ADDING ITEMS TO A SET
CREATING AN EMPTY SET
UNDERSTANDING SET UNIQUENESS
SEARCHING ITEMS IN A SET
CALCULATING THE LENGTH OF A SET
DELETING ITEMS FROM A SET
CLEARING A SET
POPPING ITEMS IN A SET
DELETING A SET
DETERMINING THE DIFFERENCE BETWEEN SETS
INTERSECTING SETS
COMBINING SETS
SUMMARY
EXERCISES
Lesson 12: Pulling It All Together: Prompting for an Address
STEP 1: GETTING STARTED
STEP 2: ACCEPT USER INPUT
STEP 3: DISPLAY THE INPUT VALUE
STEP 4: MODIFY THE OUTPUT
STEP 5: SPLIT A TEXT VALUE
STEP 6: DISPLAY ONLY THE HOUSE NUMBER
STEP 7: DISPLAY THE STREET NAME
STEP 8: ADD THE PERIOD
SUMMARY
Lesson 13: Organizing with Functions
FUNCTIONS OVERVIEW
DEFINING FUNCTIONS IN PYTHON
FUNCTION SYNTAX
DEFAULT INPUT VALUES
PARAMETER SYNTAX
ARBITRARY ARGUMENTS
KEYWORD ARGUMENTS
ARBITRARY KEYWORD ARGUMENTS
SUMMARY
EXERCISES
PART III: Object-Oriented Programming in Python
Lesson 14: Incorporating Object-Oriented Programming
OBJECT-ORIENTED PROGRAMMING OVERVIEW
DEFINING CLASSES
CREATING OBJECTS
WORKING WITH METHODS
CLASS ATTRIBUTES
SUMMARY
EXERCISES
Lesson 15: Including Inheritance
UNDERSTANDING INHERITANCE
CREATING A PARENT CLASS
CREATING A CHILD CLASS
INHERITING AT MULTIPLE LEVELS
OVERRIDING METHODS
SUMMARY
EXERCISES
Lesson 16: Pulling It All Together: Building a Burger Shop
REQUIREMENTS FOR OUR APPLICATION
PLAN THE CODE
CREATE THE CLASSES
CREATE THE FOOD ITEM CLASS
CREATE THE MAIN FILE
DISPLAY THE OUTPUT
TIE THE CODE FILES TOGETHER
SUMMARY
PART IV: Data Processing with Python
Lesson 17: Working with Dates and Times
GETTING STARTED WITH DATES AND TIMES
GETTING THE CURRENT DATE AND TIME
SPLITTING A DATE STRING
USING DATETIME ATTRIBUTES
CREATING CUSTOM DATETIME OBJECTS
COMPARE DATETIME VALUES
WORKING WITH UTC FORMAT
APPLYING TIMESTAMPS
ARITHMETIC AND DATES
CALCULATING THE DIFFERENCE IN DAYS
USING DATE WITHOUT TIME
USING TIME WITHOUT DATE
SUMMARY
EXERCISES
Lesson 18: Processing Text Files
FILE PROCESSING OVERVIEW
INTRODUCTION TO FILE INPUT/OUTPUT
PROCESSING TEXT FILES
OPENING A FILE
READING TEXT FROM A FILE
ADD CONTENT TO A FILE
OVERWRITING THE CONTENTS OF A FILE
CREATING A NEW FILE
USING THE OS MODULE
DELETING A FILE
SUMMARY
EXERCISES
Lesson 19: Processing CSV Files
READING CSV FILES
USING THE DICTREADER CLASS
CREATING A DATASET LIST
USING WRITEROW()
APPENDING DATA
WRITING ROWS AS LISTS
WRITING ROWS FROM DICTIONARIES
SUMMARY
EXERCISES
Lesson 20: Processing JSON Files
PROCESSING JSON FILES
CREATING A JSON FILE WITH DUMP()
CONVERTING TO JSON WITH DUMPS()
FORMATTING JSON DATA
USING JSON.LOADS()
ITERATING THROUGH JSON DATA
READING AND WRITING JSON DATA
SUMMARY
EXERCISES
PART V: Data Analysis and Exception Handling
Lesson 21: Using Lambdas
CREATING A LAMBDA FUNCTION
WORKING WITH MULTIPLE INPUTS
PLACING LAMBDA FUNCTIONS INSIDE A FUNCTION
USING THE MAP() FUNCTION
COMBINING MAP AND LAMBDA FUNCTIONS
USING THE FILTER() FUNCTION
COMBINING A FILTER AND A LAMBDA
USING THE REDUCE() FUNCTION
SUMMARY
EXERCISES
Lesson 22: Handling Exceptions
BUILT-IN EXCEPTIONS
WORKING WITH TRY AND EXCEPT
WORKING WITH MULTIPLE EXCEPTS
COMBINING EXCEPTION TYPES
USING MULTIPLE OPERATIONS IN A TRY
USING THE RAISE KEYWORD
EXPLORING THE GENERAL EXCEPTION CLASSES
ADDING FINALLY
SUMMARY
EXERCISES
Lesson 23: Pulling It All Together: Word Analysis in Python
EXAMINE THE DATA
READ THE DATA
TOKENIZE THE DATASET
COUNT THE WORDS IN EACH REVIEW
SUMMARY
Lesson 24: Extracting, Transforming, and Loading with ETL Scripting
ETL SCRIPTING IN PYTHON
DESIGN AND IMPLEMENT CUSTOM ETL SCRIPTS
THE EXTRACT CLASS
THE TRANSFORM CLASS
THE LOAD CLASS
SUMMARY
EXERCISES
Lesson 25: Improving ETL Scripting
CONVERTING TO STATIC METHODS FOR THE EXTRACT CLASS
CONVERTING TO STATIC METHODS FOR THE TRANSFORM CLASS
SUMMARY
EXERCISES
PART VI: Appendices
Appendix A: Flowcharts
FLOWCHART BASICS
COMMON FLOWCHARTING SHAPES
Appendix B: Creating Pseudocode
WHAT IS PSEUDOCODE?
Appendix C: Installing MySQL
MySQL INSTALLATION
VERIFY THE INSTALLATION
THE MySQL NOTIFIER
Appendix D: Installing Vinyl DB
DATABASE STRUCTURE
CREATE THE DATABASE
Appendix E: Installing MongoDB
INSTALLING MongoDB COMMUNITY SERVER
RUNNING MongoDB
Appendix F: Importing to MongoDB
Index
Copyright
About the Authors
About the Technical Writer
About the Technical Editor
Acknowledgments
End User License Agreement
Chapter 4
Table 4.1 Some of the Math Library Functions and Constants
Chapter 5
Table 5.1 Python Conditional Operators
Chapter 6
Table 6.1 2020 Tax Rates
Table 6.2 Taxes Due Based on Tier
Chapter 8
Table 8.1 Types of Data Structures
Table 8.2 Slicing parameters
Table 8.3 Comparison of the ways for removing items from a list
Chapter 10
Table 10.1 Data Structures
Table 10.2 Common Dictionary Methods
Chapter 1
Figure 1.1 The
Replit.com
home page
Figure 1.2 The Sign-up dialog for Replit
Figure 1.3 The Replit welcome dialog
Figure 1.4 Building a new program from scratch
Figure 1.5 Replit desktop with Python ready to go
Figure 1.6 Entering code into Replit
Figure 1.7 Running the Python script in Replit
Figure 1.8 Files menu in Replit
Figure 1.9 Running Python in the Replit Shell
Figure 1.10 Downloading a project from Replit
Figure 1.11 Creating a new file
Figure 1.12 Returning to Replit
Figure 1.13 Jupyter Notebook
Figure 1.14 The Jupyter Notebook interface
Figure 1.15 Adding a new folder
Figure 1.16 The new Python file in Jupyter Notebook
Figure 1.17 Running a Python script in Jupyter Notebook
Figure 1.18 Renaming a file in Jupyter Notebook
Figure 1.19 The new file in the folder
Figure 1.20 Saving a
.py
file in Jupyter Notebook
Figure 1.21 The Extensions icon
Figure 1.22 The Extensions dialog
Figure 1.23 Installing the Python Extension
Figure 1.24 Python download page
Figure 1.25 The Python Setup wizard
Figure 1.26 Installing in progress
Chapter 3
Figure 3.1 Running Listing 3.1 in Repl.it
Figure 3.2 Using the
input()
function
Figure 3.3 Syntax error in an IDE
Chapter 5
Figure 5.1 Sequence control structure
Figure 5.2 The flow of an
if
statement
Figure 5.3 Flowchart for Listing 5.2
Chapter 7
Figure 7.1 A definite iteration
Chapter 8
Figure 8.1 List indexing
Figure 8.2 Accessing beyond the list
Figure 8.3 Negative indexing
Figure 8.4 mySlicedList indexing
Chapter 15
Figure 15.1 Inheritance
Figure 15.2 A
Person
base class
Figure 15.3 Multi-level inheritance
Appendix A
Figure A.1 A sequence
Figure A.2 A branching program flow
Figure A.3 A looping program flow
Figure A.4 A flowchart of our pseudocode
Figure A.5 Flow line
Figure A.6 Branching (merging of two lines) and bridging flow lines
Figure A.7 Merging flow lines
Figure A.8 Terminator
Figure A.9 Input/output parallelogram
Figure A.10 Processing symbol
Figure A.11 Decision symbol
Figure A.12 Decisions
Appendix C
Figure C.1 MySQL Product installation
Figure C.2 Applying configuration settings
Figure C.3 Connecting successfully to the server
Figure C.4 Connecting to MySQL password prompt
Figure C.5 The MySQL prompt
Figure C.6 The default meta-databases
Appendix D
Figure D.1 The Vinyl Database structure
Appendix E
Figure E.1 Download page for MongoDB
Figure E.2 MongoDB download form
Figure E.3 MongoDB Setup Wizard
Figure E.4 Service Configuration dialog box
Figure E.5 Install MongoDB Compass window
Figure E.6 Installation in progress
Figure E.7 Confirmation window
Figure E.8 The MongoDB Compass interface
Appendix F
Figure F.1 Import confirmation
Cover Page
Table of Contents
Title Page
Copyright
About the Authors
Acknowledgments
Introduction
Begin Reading
Appendix A: Flowcharts
Appendix B: Creating Pseudocode
Appendix C: Installing MySQL
Appendix D: Installing Vinyl DB
Appendix E: Installing MongoDB
Appendix F: Importing to MongoDB
Index
End User License Agreement
iii
xvii
xviii
xix
1
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
283
284
285
286
287
288
289
290
291
292
293
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
465
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
611
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
iv
v
vi
669
HAYTHEM BALTICO-AUTHORED BY KIMBERLY A. WEISS
With the proliferation of data in the past decade, Python emerged as a viable language for data processing and analysis. Its simple syntax and powerful toolbox and libraries make Python the standard language for data.
There are many reasons why learning Python is great choice:
As a general‐purpose language, Python runs on all platforms and operating systems, which makes Python programs and applications very portable.
Python is widely used around the globe and benefits from a huge online community that is highly active. Python is number 3 at the time of this writing in the Tiobe index.
Python is the standard language for data analysis, data engineering, and data science. If you want to become a data developer, learning Python is a must as it provides many built‐in and external libraries that allow you to develop machine learning models or ETL processes, or analyze some data.
NOTE You can find the Tiobe index for Python at https://www.tiobe.com/tiobe-index/.
This book contains a full‐fledged Python course that is used by the mthree Global Academy and the Software Guild to train our alumni in Python and other topics, such as data analysis and data science.
Job Ready Python provides an overview of the Python language and teaches how to leverage the basics of Python to create Python programs that can process and analyze data.
If you read through this book, enter the code listings, and try the code, then you will get an experience like many other books. If you also take a hands‐on approach to doing the exercises, you will be better able to take what you learned to the next level.
Most importantly, this book (as well the Job Ready series) goes beyond what many books provide by including lessons that help you pull together everything you are learning in a way that is more like what you would find in the professional world. This includes building a more comprehensive example than what you get in the standard short listings provided in most books. If you work through the “Pulling It All Together” lessons, then you will be better prepared for many of those Python jobs that are available.
As mentioned, this book is a complete Python course. It is broken into several parts, each containing a number of lessons. By working through the lessons in this book, you will not only learn Python programming, but you will be preparing yourself for a job in Python programming.
Part I
: Getting Started with Python
The first part of this book focuses on getting you set up to use Python. This will include help for installing Python and setting up the tools you will need to work through this book. You will also be shown how to enter and run Python programs. This section also provides an overview of the basics of Python including syntax, basic data types, and control statements.
Part II
: Loops and Data Structures
The second part of this book focuses on loops and data structures. This will include a deep dive into the different types of loops that exist in Python, such as
for
loops and the
while
loop. Moreover, this section will cover the basic data structures in Python, including lists, tuples, dictionaries, and sets. These four data structures provide the foundation of all programs that store and process data. Finally, we will learn how to create and leverage functions to create reusable code.
Part III
: Object‐Oriented Programming in Python
The third part of this book focuses on object‐oriented programming (OOP), an important and powerful concept in Python and many other programming languages. You will leverage Python and OOP concepts such as inheritance to create classes and build elegant and reusable solutions to complex programs.
Part IV
: Data Processing with Python
The fourth part of this book digs into processing data and working with files using Python. You will start with learning about lambdas, which provide some functional programming capabilities to Python. This coverage includes the use of maps, the reduce function, and filters. This will be followed by teaching you how to access and use data from various file types including text files, CSV files, and JSON.
Part V
: Data Analysis and Exception Handling
The fifth part of this book teaches you a key concept for ensuring users of your programs have a good experience: exception handling. You will learn about exceptions and how to use them to handle errors within your Python programs. Finally, everything you have learned will be leveraged to design and develop an extract‐transform‐load (ETL) Python library that can be used to read and write data to and from various sources, as well as perform standard transformation and processing on the data.
Part VI
: Appendices
The final part presented in this book is additional material for your reference. This includes a number of appendices that provide supplemental information on flowcharts and creating pseudocode. There are also appendices to help guide you through installing various database programs used within the book, including MySQL, the Vinyl DB, and MongoDB.
There are several ways to get the help you need for this book.
As you work through the examples in this book, you should type in all the code manually. This will help you learn and better understand what the code does.
However, in some lessons, download files are referenced. You can download the files from www.wiley.com/go/jobreadypython.
If you believe you have found a mistake in this book, please bring it to our attention. At John Wiley & Sons, we understand how important it is to provide our customers with accurate content, but even with our best efforts an error may occur.
In order to submit your possible errata, please email it to our Customer Service Team at [email protected] with the subject line “Possible Book Errata Submission.”
Lesson 1
: Setting Up a Python Programming Environment
Lesson 2
: Understanding Programming Basics
Lesson 3
: Exploring Basic Python Syntax
Lesson 4
: Working with Basic Python Data Types
Lesson 5
: Using Python Control Statements
Lesson 6
: Pulling It All Together: Income Tax Calculator
This lesson provides an overview of general concepts related to the world of computer programming. The information presented will help you understand basic concepts that are common to all types of programming, regardless of the language you use to write computer code, as well as give you some basic tools that you can use to design your own programs.
By the end of this lesson, you will be able to:
Explain basic concepts in computer programming, including computational thinking and creating algorithms.
Identify concepts that are relevant to most computer languages, including reserved words, operators, statements, and syntax.
Describe what a variable is and how languages use data types.
One of the most important parts of working in the field of computer programming is understanding that things change. The change may be slow, or it may happen overnight, but it is often said that the only certainty in the field of computer science is that things will change. Even considering the marvels that today's society already takes for granted, new technology is always on the horizon.
Virtual reality allows people to work as if they are in an office, exercise as if they are in a gym, and check out new places as if they traveled there, all from the comfort of their living room.
Anyone who chooses to work in technology must be willing to continue learning. Not only is new hardware invented every day, but software and software programming languages are also in a constant state of revision and evolution. Although the basic concepts of software development will not change in the foreseeable future, the way people implement those concepts will change drastically. It is quite likely that some of the elements taught in this text will be obsolete in a year or two.
Good software developers keep up with what is happening in the field, and there are lots of resources available to do so. Here are some examples:
Magazines and newsletters allow professionals to read about upcoming technology. Many electronic newsletters are free, and you can always unsubscribe in the future if you decide one isn't useful to you.
Many developers produce podcasts that cover specific topics in software development. You can subscribe and listen while commuting or doing housework.
You might also want to find or form groups that meet regularly to discuss current industry topics. These groups are not only a source of information for changes in the field but can also help members network for job opportunities. This includes both local in-person groups and online groups through social media or meeting software such as Meetup.
Programming in general is nothing more than telling something (noun) to do something (verb), normally with the goal of solving a problem. In the context of this book, we will be programming a computer.
Computers can compute anything that is computable. We can use computations to analyze data, create websites, and automate machine responses. Programming allows us to provide an efficient and tunable set of instructions for the computer to perform tasks that solve problems. In fact, from a developer's perspective, a program is often referred to as a solution.
In reality, humans can do everything that a computer can do, given the right set of instructions and a way to implement those instructions. However, since a computer can perform these instructions billions of times per second, it takes us much longer. Humans are also notoriously bad at following instructions, even with extensive programming, which is why we make significantly more mistakes than computers do.