# symbol, 40
3D modeling, 103
3D printing, 36
abstractions, 34, 36–37, 45
acceptable use policy, 169–170
accessibility issues, information systems, 5, 7, 97–98. See also hearing impaired computer users; visually impaired computer users
Ada Initiative, 48
AdBlock plug-in, 87
Agile, 139
agreements, software license. See software license agreements
AI. See artificial intelligence (AI)
alert() function, 151
Alexa, 8
algorithms
analyses of, 4, 36, 112, 122
Bernoulli number calculation, for, 48
binary tree fractals, generating, 131–132
board games, as part of, 69 (see also modeling boards)
codebreaking, for, 119
complexity of, 66
defining, 64
enhancing, 116–119
executing, 8
minimax (see minimax algorithms)
PB&J game, 65, 67
power of, 65
randomized depth-first search (see randomized depth-first search algorithm)
students’ lives, as part of, 64–65
Allen, Paul, 43
analysis paralysis, 156–157
Analytical Engine, 48, 49
Apollo Guidance Computer (AGC), 40, 41
Apple, 101, 175
applications, global development of, 5–6
architecture, computer, 11
arrays, 8, 55, 56, 62, 115–116, 125
artificial intelligence (AI), 47
assembly language, 39–40, 42, 43
Association for Computing Machinery (ACM), 2
asynchronous communication, 167
Atom, 106
Attention Network Task, 20
Atwood, Jeff, 2
automation, 30
autonomous learning, 14
Babbage, Charles, 48, 52
base-10, 92
base-2, 92
BASIC, 19, 43
behaviorist approaches to teaching, 14
Berkeley Software Distribution (BSD), 102
Bernoulli numbers, 48
Bilas, Frances, 44
bilingualism, 20
binary code, 43, 45, 46
binary tree fractals, 131–132
blind computer users. See visually impaired computer users
board games. See modeling boards
Boole, George, 45
Boolean algebra, 45
Boolean conditions, 57, 59
Boolean logic, 8–10, 52
Boolean operations, 36
Boolean variables, 54, 55, 124
bots, 48
branching, 99
browsers, web. See web browsers
brute force search, 120
buddy programs, 166
build or buy, 137
Byron, Lord, 48
C#, 90
CABTAB. See coding a bit and testing a bit (CABTAB)
caching, 107
Caesar cipher, 116–119, 121
call stacks, 113
camel case, 88–89, 165
camps, code, 174
Carnegie Mellon, 7
Cascading Style Sheets (CSSs), 83
code playgrounds, 96, 97 (see also code playgrounds)
color representation, 84–85, 88, 98
device compatibility, 97
modifying, 88
central processing units (CPUs)
calculations done by, 44
history of, 46
memory storage, 48
operating frequency, 170
purpose of, 36
chatbots, 47, 48
chess, 51
Chinese room thought experiment, 47
Chomsky, Noam, 19
Choose Your Own Adventure (CYOA), 58. See also gamebooks
Chutes and Ladders. See Snakes and Ladders
circuits
ENIAC (see ENIAC)
history of, 44–45, 52
integrated circuits (IC) (see integrated circuits (IC))
logic gates (see logic gates)
overview, 44
codebreaking, 46, 59, 119, 121
code camps, 174
code completion, intelligent, 15
Code Editor, 113
code logic, 18
Code Pen, 96
code playgrounds, 95–96, 98
advantages of, 104, 105
benefits to students, 109
branching, 99
forking a project, 99
local development, versus, 104, 105, 106
portability, 100
sharing work, 100, 146
code review, 140
code style, 165
coding a bit and testing a bit (CABTAB), 18, 148
coding literacy. See literacy, coding
cognitive benefits, computer science, 17
communication skills, 19–20
measuring, 22
memory, working, exercise of, 20–21
overview, 18
problem-solving, 18–19
student awareness of, 32
tenacity, 21
cold folding, 98
collaboration, coding, 19–20. See also code playgrounds
development, importance to, 99
online research, 24–25
collectible card games, 73
comments, 37–38, 40
Common Core, 12, 13, 15, 21
communication through coding, 19–20, 57
community, computer science
classroom meetings, 164
local community, 173–174
online forums, 167
privacy, issues of, 168–169
professional development services, 175–176
school code repository, 172
school IT infrastructure, 170–171
technology strategic plan, 171, 172
computational artifacts, 4, 10–12, 15, 134–135
computational thinking, 4, 7–8, 22, 50
board games, use of, 69
defining, 15
gamebooks, use of, 58–60
strategy, as part of, 72
computer science
community (see community, computer science)
education (see education, computer science)
media depictions, 41–42
standards (see standards, computer science)
Computer Science Teachers Association (CSTA), 1, 3, 4, 15
computer systems, 4, 6, 15. See also central processing units (CPUs)
computing, exponential growth of, 51
Computing Machinery, Association for. See Association for Computing Machinery (ACM)
conditional logic, 59
consoles, 85–86, 87, 91, 93, 103, 148, 150, 151
constructivist approached to teaching, 14
Content Management Systems (CMS), 28
control structures, 57
copyleft license, 100
Cortana, 8
Costello, Philip, 23
CPUs. See central processing units (CPUs)
critical thinking skills, 134
cryptography, 116, 119, 121
curricula, computer science
focus of, 2
integration of standards in, 3
integration with other subjects, 4
cybersecurity, 47–48, 86, 87–88, 116, 120
deaf computer users. See hearing impaired computer users
Debugger, 112, 114
debugging techniques, 18, 98, 134, 151–152
decomposition, 18, 21, 33
def add_one(n), 39
dependencies, 103
development environments, 95, 99. See also user interfaces (UI)
development, local. See local development
development, software, 26–27, 99. See also collaboration, coding; Software Development Life Cycle (SDLC)
Dewey Decimal System, 55
Difference Engine, 48
digital citizenship, 4, 5, 10, 15, 42
digital computer, invention, 45
digital literacy. See literacy, digital
digital native, 155
disk imaging software, 170
Document Object Model (DOM), 79–80, 82, 83, 84, 85, 87, 88, 90
do-while loop, 60
Dunning-Kruger Effect, 158
dynamically typed language, 149–150
EA Sports, 6–7
Eclipse, 106
education, computer science
academic benefits, 17, 23
close reading, need for, 24
cognitive benefits (see cognitive benefits, computer science)
experimentation, benefits of, 25–26
gameified learning, 67
learning environments, 28
professional benefits (see professional benefits, computer science)
Education, Department of, 169
else if statement, 56, 57
else statement, 57, 58
Endless Quest, 58
End-User License Agreement (EULA), 100–101
English comprehension, 4
ENIAC, 44, 45, 52
equity, in education, 12–13
event listeners, 91
e-waste, 36
explorable explanations, concept of, 130–131, 133, 134
exponential growth of computing. See computing, exponential growth of
Facebook Terms of Service, 101
Facebook web application, 86
factor finder, 11, 12
Family Educational Rights and Privacy Act (FERPA), 168, 169
feature detection, 103
Feynman, Richard, 146, 148
Fighting Fantasy, 58
File Navigator, 113
file transfer protocol (FTP), 108
fill(), 38
Firefox, Mozilla, 175
FizzBuzz game, 85, 86
flow, concept of, 67, 73, 156
flowchart loop, 62–63
flowcharts, 62–63, 137, 147
focus, 155
foreach control, 61, 62
forking, 99
for loop, 60, 61, 62, 112–113
fractals, 131
frameworks, software. See software frameworks
free software, 100
functional testing, 140
function game, 66–67
functions, 65–66, 125
gamebooks, 58–60
gameified learning, 67
games. See also gamebooks
boardgames (see modeling boards)
card games, 73
Evolution, 74
FizzBuzz game, 85, 86
gameified learning, 67
Game of Life, 74
guess the function, 66–67
Magic the Gathering, 73
Pandemic, 74
parts-of-speech game, 56, 67
PB&J algorithm, 65
Phylo: The Trading Card Game, 73
Pokémon, 73
real life, modeling (see modeling real-life games)
rules, modifying/creating own, 74
Snakes and Ladders (see Snakes and Ladders)
Gates. Bill, 43
gender gap, in information technology, 41–42. See also women’s contributions in computer science
GNU General Public License (GPL), 102, 122
Google, 8, 175
Google Chrome, 78, 175
Gopher protocol, 108
grit, 21, 32
growth mind-set, 159
guess the function game. See under games
hackathon, 174
hacking, ethical, 87, 94, 174
Hamilton, Margaret, 40
hard drives, 36
hearing impaired computer users, 5
Hicks, Marie, 41
Hidden Figures, 42
high-level code, 37–39, 39-40, 52, 54
homework, parental support for, 14
Hopper, Grace, 42
human-computer interactions (HCI), 6–7
hypertext markup language (HTML), 80, 175
canvas, 125, 153
code playgrounds, use in, 96, 97
editing, 81
Event Listeners tab, 91
pre tag, 125
Styles tab, 91
tab key, use of, 97
tag, 107
template, 105
View Page Source, 91
View Source, 91
hypertext transfer protocol (HTTP), 108
IBM, 175
icons, 34–35, 36–37, 50
ideograms, 50
if statement, 57
if-then, 57, 59, 60
Imitation Game, The, 42
imposter syndrome, 158
index.html, 105, 106
Informatics Europe, 2
Information Age, 1
informed consent, 101
integers, 54
integrated circuits (IC), 44
integrated development environments (IDEs), 106
intellectual property, 28
intelligent code completion, 15
International Society for Technology in Education’s (ISTE) standards, 3, 15
internet, 108
internet protocol (IP) address, 108
internet protocols, 108
isomorphs, 18
iterations, 26, 60, 99, 121
Jacquard loom, 49
JavaScript, 38, 61, 62
advantages of, 89–90
case-sensitivity, 89
classroom, use in, 89, 90
code playgrounds, 96, 97
cross-browser compatibility, 90
Debugging panel, 113
floating-point error, 92–93
js folder, 105
logic, 90
minified code, 107
Node.js, 90
queries, 153
Rosetta Code (see Rosetta Code)
Snakes and Ladders game, 69, 70–71, 72
software frameworks, 103–104
troubleshooting, 148, 149–150, 151–152
web crawlers, relationship between, 98
web page contents, use to modify, 88
Jennings, Betty Jean, 44
jQuery, 104, 106, 175
jquery.min.js, 107
JS Bin, 96
JSFiddle, 96, 175
js folder, 105
jumpingJacks() function, 150
K-12 Computer Science Framework and K-12 Computer Science Standards, 3, 15
Kasparov, Gary, 51
legalese, 101
LibriVox, 7
licensing, 100–101, 102
Lichterman, Ruth, 44
lineTo(), 38
literacy, coding, 2
literacy, digital, 2
local development, 104, 105, 106
Lockhart, Paul, 94
log files, 151
logic, code. See code logic
logic conditions, 59
logic gates, 45
logical operations, 45
looms, programmable. See programmable looms
loops, errors in, 61
Lovelace, Ada, 48, 49, 52
low-level code, 39–40, 52
machine code, 43
Macintosh OS, 175
magic circle, 67, 79
Magic the Gathering, 73
mandala factor finder, 11, 12, 152
manipulatives, 130
manipulatives, virtual. See virtual manipulatives
Mann, Edd, 112
markup languages, 84. See also Cascading Style Sheets (CSSs); hypertext markup language (HTML)
massively multiplayer online role-playing games (MMORPGS), 47–48
Math.cos(), 38
Math.sin(), 38
maze generation, 125–127
maze(x,y) function, 124, 127
McManus, John, 23
McNulty, Kathleen, 44
mechanical computing, 36
Meltzer, Marlyn Wescoff, 44
memory, working, 20–21
metacognition, 14, 156, 159
Metcalfe’s law, 164
metrics, IT, 172–173
microchips, 44
Microsoft Edge, 175
Microsoft Visual Studio, 106
minified code, 107
minimal working examples (MWE), 146, 147, 154
minimax algorithms, 114
minimum viable product, 157
MIT License, 102
MMORPGS. See massively multiplayer online role-playing games (MMORPGS)
mob programming, 167
modeling boards, 68–69
modeling real-life games, 74
Moore’s law, 51
moveTo(), 38
Mozilla Firefox, 175
multitasking, 155
myString.replace(), 149
NASA, 40, 52
National Cybersecurity and Communications Integration Center (NCCIC), 120
n-back tasks, 20
nested code, 165
NetBeans, 106
Netscape Navigator, 103
Nevada Department of Education standards, 3, 15
New Math, 13
Node.js, 90
NonVisual Desktop Access (NVDA), 7
Notepad++, 106
online code playgrounds. See code playgrounds
online forums, 154, 167, 175
open source software, 100. See also specific software
open source technology, 24–25, 48, 102
operating systems, 175. See also specific operating systems
opportunity cost, 31
pair programming, 166, 167
Palumbo, David, 18
parts-of-speech games, 56
passwords, securing, 120–121
PB&J algorithm game, 65, 67
peer review, 25, 137, 140, 141
Pennington, Nancy, 24
Personally Identifiable Information (PII), 169
PHP, 90
Phylo: The Trading Card Game, 73
Pixar Studios, 51
poetical science, 48
Pokémon, 73
portability, 100
primes, 11, 12
privacy issues, computers, 28
probability, in board games, 68
problem-solving, 152–153
assessment of, 20–21
bilingualism, relationship between, 20
cognitive benefits of, 18–19
mathematical, 4
tenacity, relationship between, 21
toolkit, 31–32
professional benefits, computer science, 17, 28–29, 29–30, 31, 32
professional development services, 175–176
programmable looms, 50, 52
programmers
close reading by, 24
communication between, 24–25
importance of, 29
programming languages, 19. See also specific languages
programming style, 165
project-based learning (PBL), 23
academic focus, 135
benefits, 134
description, 134
design, 137–138
development, 137–138
flexibility of, 145
popularity of, 129
requirements, 136–137
skill development, 134
project-management methodologies, 138–139
proprietary software, 104
punch cards, 48
Python, 89, 90
quality assurance (QA), 132, 135, 137, 140–141
random(), 66
randomized depth-first search algorithm, 122
reactive documents, 130
real-life games. See modeling real-life games
recursion, 114, 150
refactoring, 153
register, storage, 46
regular expressions, 118
Rehabilitation Act of 1973, 97
replace() function, 149
repositories, 172
reputation scores, 167–168, 175
resilience, 159–160
resource challenges, in teaching kids coding, 157–158
reversedString, 113
Robert’s Rules of Order, 164–165
Rosetta Code, 122–123
Rubik’s Cube, 65
rubrics, 22
Safari, 101, 175
school code repository, 172
science, technology, engineering, art, and math (STEAM), 11
Scratch, 89
scripts.js, 105, 106
scrum methodology, 139
search, brute force. See brute force search
Searle, John, 47
sets, 8
set theory, 4
shadow IT, 170–171
Shannon, Claude Elwood, 42, 45, 46, 52
simple mail transfer protocol (SMTP), 108
Siri, 8
Skinner boxes, 14
slide rules, 36, 173
snake case, 165
Snakes and Ladders, 69, 70–71, 72, 86
Snyder, Elizabeth, 44
social media, bots on, 48
software development. See development, software
Software Development Life Cycle (SDLC), 129
deployment, 141–142
design and development phases, 137–138, 139
quality assurance (QA) phase (see quality assurance (QA))
stages, 135–136
testing phase, 140
software frameworks, 103, 104, 106
software license agreements, 100–101. See also licensing
Sources, 112
speechSynthesis, 103–104
Spraul, V. Anthony, 155
Stack Overflow, 2, 151, 154, 175
stakeholders, 12, 14, 136, 137
standards, computer science. See also specific standards
advocating for, 12
classroom, incorporating into, 2
computational artifacts (see computational artifacts)
computational thinking (see computational thinking)
computer systems (see computer systems)
concepts, 1
digital citizenship (see digital citizenship)
implementing, 12–13
K-12 standards, overview, 2–3
stakeholder buy-in, 12, 14
state of machine/computer, 46
Stevens, Karen, 6
String.fromCharCode(), 118
stringToReverse, 114
str.match(), 118
Structured Query Language (SQL), 9–10
subject matter experts (SMEs), 134, 174
Sublime Text, 106
syntax highlighting, 98
tags
*/, 102
body, 88
closing, 102
defining web page, 80
doctype, 107
html, 107
HTML, as part of, 80
meta, 107
opening, 102
pre, 125
script, 106
technical challenges, coding, 146
technology strategic plan, 171, 172
tenacity, trait of, 21, 32
Terms of Service (ToS), 100–101
text editors, 106
tic-tac-toe, 115, 150
Time Machine books, 58, 59
transistors, 44, 45
translate(), 38
troubleshooting, teaching technique of, 146, 147–148, 152
Turing, Alan, 46, 47, 48, 52
Turing machine, 46
Turing test, 47
Turing Tumble, 36
Unicode, 118
user-acceptance testing (UAT), 140
user interfaces (UI), 37
adding, 122
alerts, incorrect code, 99
development platforms, on, 98–99
icons (see icons)
user satisfaction surveys, 172–173
utilitarian view of computer science, 2
vacuum tubes, 44
variables
board games, in, 68, 69
Boolean (see Boolean variables)
case sensitivity, 89
contents, 55
defining, 54
math versus programming, 54–55
outputs, effect on, 56
versioning, 99
Victor, Bret, 130, 131
Vim, 106
Virginia Department of Education (VDOE) standards, 3, 15
virtual manipulatives, 130
visually impaired computer users, 5, 6–7, 97
W3Schools, 96
Waterfall methodology, 138, 139
web browsers, 37. See also specific browsers
cross-browser compatibility, 90, 103–104
developing in, 78–79
web crawlers, 98–99, 107
web development
Cascading Style Sheets (CSSs) (see Cascading Style Sheets (CSSs))
code playgrounds (see code playgrounds)
consoles (see consoles)
cross-device compatibility, 97
Document Object Model (DOM), 79–80, 82, 83, 84, 85, 87, 88, 90
hacks, 81
hierarchy, 80
HTML (see hypertext markup language (HTML))
organizational structure, 81
page elements, 79
tags (see tags)
tools, 78, 79, 85, 86, 87, 88, 96, 112, 148, 151
while loop (while in code), 60, 63, 114
Wikipedia, 78, 81, 82–83, 87
Windows
license agreement, 101
operating system, 78, 175
Wing, Jeanette M., 7
wolf fence, 18
women’s contributions in computer science, 41–42, 44, 48, 49, 52
wonder, sense of, 160
workforce, modern, 2
World Wide Web (WWW), 108
Wright, Hannah, 20
18.117.196.217