This award explores the world of coding or computer programming. Once you know how to code, you can teach a computer to perform programs that help you in many ways.
Hello, World
Requirements last updated 2022-05-26. There are broken links and outdated information in places and formatting may not match between two Nova awards because the requirements are preserved to match the original state from Scouting America. Where available, the related counselor notes have been included along with the requirements.
1.
Choose A or B or C and complete ALL the requirements.
A.
Watch (not less than three hours total) computer-related shows or
documentaries that involve computers, coding, and/or
computer-related careers. Then do the following:
1.
Make a list of at least five questions or ideas from the
shows you watched.
2.
Discuss two of the questions or ideas with your counselor.
B.
Read (not less than three hours total) about computers, coding, and
careers that involve computers. Then do the following:
1.
Make a list of at least five questions or ideas from the
articles you read.
2.
Discuss two of the questions or ideas with your counselor.
C.
Do a combination of reading and watching (not less than three hours
total). Then do the following:
1.
Make a list of at least five questions or ideas from the
articles you read or the shows you watched.
2.
Discuss two of the questions or ideas with your counselor.
Some examples include - but are not limited to - shows found on
PBS ("NOVA"), Discovery Channel, Science Channel, National
Geographic Channel, TED Talks (online videos), and the
History Channel. You may choose to watch a live performance
or movie at a planetarium or science museum instead of
watching a media production. You may watch online productions
with your counselor's approval and under your parent's
supervision.
Suggested reading and watching material might include the following.
What is Programming?
- https://www.khanacademy.org/computing/computer-programming/programming/intro-to-programming/v/programming-intro
- https://youtu.be/THOEQ5soVpY
- https://youtu.be/Y4ZIA1A54ww
- https://youtu.be/N7ZmPYaXoic
- https://youtu.be/9zOo4JkZgSI
- Triumph of the Nerds
- Pirates of Silicon Valley
- Halt and Catch Fire
- Revolution OS
- The Code
- Computer Programming in Five Minutes https://youtu.be/UScm9avQM1Y
- What is Computer programming http://guyhaas.com/bfoit/itp/Programming.html
- Computer Programming https://en.wikipedia.org/wiki/Computer_programming
- Computers https://www.explainthatstuff.com/howcomputerswork.html
- Introduction to Computers and Programming https://www.pearsonhighered.com/assets/samplechapter/0/3/2/1/0321537114.pdf
2.
Complete ONE merit badge from the following list. (Choose one that you
have not already used for another Nova award.) Discuss with your
counselor how the merit badge you earned uses coding.
3.
Explore different concepts in computer programming. Discuss these
programming concepts with your counselor:
Each of these concepts should be basic to computer programmers.
A.
What is the difference between a local and global variable?
Local variable is only defined and used within one routine. A
global variable is defined for the entire program
B.
What is integer, Boolean, floating point, and character data types
and what values can each of these data types hold?
Integer – a variable that holds only whole numbers (e.g., 56,
7, -4, 23)
Boolean – a variable that can hold only TRUE or FALSE
Floating Point – a variable that can hold any real number
(e.g., 71.045)
Character variable – a variable that can hold only an
alphanumeric character (e.g., "A", "G", "&")
C.
What is a scalar variable versus an array or list variable?
A scalar variable can only hold one value. An array or list
variable can hold multiple values and each value can be
selected using an index. (e.g. 5, 4, 10, -3 can be held in an
integer array of size 4 called X. X[3] can refer to the 3rd
element of the array)
D.
What are these types of control flow instructions, and how do they work?
1.
A While Loop
A while loop continuously executes the code held in the
loop while a condition that is checked at the beginning
of the loop is TRUE and it exits the loop when the
condition checked at the beginning of the loop becomes
FALSE.
2.
A Do-While Loop
A Repeat loop continuously executes the code held in
the loop while a condition checked at the end of the
loop is TRUE and it exits the loop when the condition
checked at the end of the loop becomes FALSE.
3.
A For loop which performs a fixed number of iterations (i.e.,
For Loop)
A For Loop executes the code held in the loop a fixed
number of times.
4.
An If statement
An If statement executes a given computer instruction
or a block of instructions if a condition is TRUE. It
can also execute a different instruction or block of
instructions if the condition is FALSE.
E.
What is a function and when is it used?
A function is a block of instructions which computes a result
and returns the result to the calling program. A program can
branch to (or call) the function and then return back to
where the function was called when the function completes. A
function typically computes equations needed in multiple
places in the program. (e.g., a function to calculate a
polynomial given an input X value.)
F.
What is a parameter to a function?
A parameter is an input to a function used in the computation of the result.
G.
What is a key/value pair in a database?
A Key/Value pair in database programming is a set of two
linked data elements which allow the programmer to use a
first key data element to find a result value based on the
key (e.g., FirstName -> Joan, LastName -> Smith)
H.
What is a Universal Resource Locator (URL) and where is it used?
A Universal Resource Locator (URL) is a set of characters
which identify a resource such as a webpage or a file on the
internet so a program or user may access the webpage or file.
4.
In a programming language of your choosing, do the following:
Requirements 4, 5 and 6:
Scratch Jr. is free app for tablets and phones. -
https://www.scratchjr.org/
App Lab is a great beginner programming environment where you make
simple apps right in your browser -
https://code.org/tools/applab
Web Lab is a tool to help beginning programmers create their own
webpages. -
https://code.org/educate/weblab
Game Lab is programming environment that introduces how to make
simple animations, interactive art and games using block
programming. -
https://code.org/educate/gamelab
Tynker.com has a drag and drop block programing environment that
allows you to write games, controlling robots and drones and
interface to Minecraft -
https://www.tynker.com/
Alice Programming Environment is a 3D interactive programming
language. Alice 2 is not object oriented. Alice 3 is object
oriented. -
https://www.alice.org/
Blocky is a visual code editor that uses interlocking blocks to
represent code -
https://developers.google.com/blockly/
Python is a clear and easy way to learn object-oriented programming -
https://www.python.org/
Palindrome -
https://en.wikipedia.org/wiki/Palindrome
Factorials -
https://www.mathsisfun.com/numbers/factorial.html
Guess the Number Program -
https://inventwithpython.com/chapter4.html
Basics of Sorting Algorithms -
https://www.geeksforgeeks.org/sorting-algorithms/
A.
Write a program that determines if an input string of characters is
a palindrome.
B.
Write a program of your choice from the following list.
1.
A program that calculates the sum of a set of input numbers
2.
A program to report the largest and the smallest numbers from
a set of input numbers.
3.
A program that calculates the average of a set of input
numbers.
4.
A program that calculates the factorial of an input number.
5.
A program that calculates the sum of all numbers from a user
input starting number to a user input ending number.
These programs can be coded in a programming language such as
App Lab - https://code.org/educate/applab
5.
In a programming language that may be the same or different from the
programming language used above, write a program selected from the
following list. Work with your counselor to define the requirements –
input from a user or from a file? Output to the screen or to a file? You
may not use a GUI-based programming interface for this requirement, but a
language like Python, Small Basic or Lisps (a family of powerful,
syntax-light languages including Scheme or Common Lisp) would be
appropriate.
A.
A program that generates a random whole number between 1 and 10 and
then asks the user to guess the number. When the guess is not
correct, the program tells the user that the guess is too high or
too low and then asks the user to try again. The program completes
when the user correctly guesses the number.
B.
A program that correctly sorts in ascending order, a sequence of at
least 15 input numbers.
C.
A program that accepts input, performs a calculation on the input
and produces an output based on the input. It must use a function
with one or more parameters to perform the calculation.
D.
A program that takes a set of at least 15 characters from a user
and then displays the string in reverse order.
E.
A program that displays an interactive webpage that accepts user
input and modifies its display based on the input (See Web Lab -
https://code.org/educate/weblab
for example)
F.
A computer game of your choosing which uses interactive characters,
requires skill, and reports a winner or a loser. (See Game Lab -
https://code.org/educate/gamelab
for example)
G.
Any other computer program agreed on by you and your counselor that
uses both variables and control flow instructions.
6.
For the three programs you wrote for requirements 4 and 5, explain to
your counselor how each of your programs works and why you chose the
particular instructions and variables that you did.
7.
Do ALL the following requirements.
A.
Visit a company/school/institution where computer programs are
being developed.
B.
Talk to someone there about how they use coding in their work.
Write down at least five questions to ask the person you visit and
review the answers with your counselor
C.
Discuss with your counselor how coding is being used at the
destination you visited.
8.
Discuss with your counselor how coding affects your everyday life, and
what you have learned while working on this Nova.