The websites, smartphone apps, video games, and computer software programs we use frequently have become ingrained in our daily lives. Technology is very much a major part of many professions today. When you get old enough to have a job, you'll probably depend upon various types of technology every day. All those pieces of software, games, apps, and websites are made with the same thing: computer code. At their most basic level, all these digital creations are made up of nothing more than 0s and 1s, which is known as binary (two numbers) code. Most coding today, however, doesn't consist of creating binary code. Instead, coders use one or more of thousands of programming languages that make it easier to generate code to build the types of products you desire. Do you know how to code? In the past, coding was often seen as something that only computer science professionals or career coders needed to know. Many experts today, though, think that everyone should know how to code, given the prevalence of technology in our society. Why should you learn to code? You could create your own website. You could design a new app or video game. You could start a technology company or even become a career coder. At the least, learning to code helps you to understand more fully how all the technology around you works. Some experts believe the single best skill learned through coding is empowerment. Learning to code empowers you to see technology in a new light and do a wide variety of things you wouldn't otherwise be able to do. Botley is a colorful robot and remote control combo that teaches kids beginner code. Children can program their Botley coding robot by entering a code on the remote and then ask Botley to 'run the code'. Kids will learn the basic concepts of coding like algorithms, loops and debugging while playing with Botley.
K.CCP.2 Use simple trial and error strategies to identify when a computing device is not working as intended. For example, but not limited to, if the device does not turn on students can identify if it needs to be charged or is unplugged before saying the device does not work.
K.CCP.3 Define an algorithm as a list of steps that can be followed to finish a task or solve a problem.
K.CCP.4 Decompose an example problem into smaller sub-problems with teacher guidance or independently.
K.CCP.5 Collaboratively, students can build independence and sophistication using a simple design process (e.g., Ask, Plan, Do, Reflect) to illustrate a program's sequence and outcomes.
1.CCP.2 Use simple trial and error strategies to identify hardware and software problems that occur using appropriate terminology. For example, but not limited to, an app or program is not working as expected, no sound is coming from a device, or a device will not turn on.
1.CCP.3 Construct an algorithm by arranging sequential events step-by-step in a logical order.
1.CCP.4 Determine that data (e.g., numbers, words, colors, and images) can be stored in computer programs. 1.CCP.5 Collaboratively or individually, students use programming to create simple animated stories or solve preexisting problems using a precise sequence of instructions and simple loops.
1.CCP.6 Decompose larger problems or tasks into smaller sub-problems independently. 1.CCP.7 Collaboratively, students can build independence and sophistication using a simple design process (e.g., Ask, Plan, Do, Reflect) to illustrate a program's sequence and outcomes.
2.CCP.2 Identify, using accurate terminology and debugging strategies, simple hardware and software problems that may occur during use.
2.CCP.3 Analyze and improve an algorithm that includes sequencing and simple patterns with or without a computing device. 2.CCP.4 Evaluate how computer programs can manipulate stored data (words, numbers, colors, and images) with support or independently.
2.CCP.6 Define a problem or task, decompose it into smaller sub-problems. 2.CCP.7 Collaboratively, students can build independence and sophistication using a simple design process (e.g., Ask, Plan, Do, Reflect) to construct a program's sequence and revise outcomes.
3.CCP.4 Using a block of code or script from a previous program, identify the control structures in the algorithm such as loops, and/or conditionals in the code.
3.CCP.5 Using a block of code or script from a previous program, decompose into sections and/or subprograms to make it easier to read or more manageable.
3.CCP.6 Using a block of code or script from a previous lesson, identify sections for the code that may be reused into a new strand of code.
4.CCP.3 Using a block of code or script from an existing program, identify the variables in the algorithm to determine if or how these might be manipulated to improve the program.
4.CCP.4 Construct an algorithm to solve a problem that includes control structures such as loops, event handlers, and conditionals collaboratively with or without a computing device.
4.CCP.5 Using a block of code or script that has been used in a previous program or algorithm, identify sections that can be reused into a new block or script of code.
4.CCP.6 Use existing code and identify sections of code that can be used to remix into a new program with proper attributions for efficiency.
5.CCP.4 Create an algorithm which includes control structures to solve a problem using visual block-based and/or text based programming language both collaboratively and individually.
5.CCP.5 Decompose complex code into subsections or subprograms for reuse into other programs.
5.CCP.6 Decompose a piece of code with the intent to debug a section of code.
Web Developer
National average salary: $76,754 per year
Duties: Web developers write the computer code for the front end and back end of websites. They work with clients and other computer professionals including graphic designers to create the overall appearance and functions of a website. Web developers perform diagnostic tests to make sure all software systems are operating correctly. They may also need to make periodic changes to websites due to software updates.
Computer Systems Analyst
National average salary: $77,245 per year
Duties: A computer systems analyst uses their coding and computer knowledge to examine and evaluate data systems. They prepare reports and communicate data needs with other technology professionals. System analysts research current data and technology trends to advise users and upper level management on the changing role and structure of data warehousing.
Computer Engineer
National average salary: $95,720 per year
Duties: Computer engineers write and design systems to test computer hardware and networks. They are responsible for creating the coding for programs used in a variety of computer platforms both for software and hardware. A computer engineer also manages the operating systems of computer hardware.
Database Administrator
National average salary: $97,405 per year
Duties: Database administrators oversee the functions and performance of database systems. They check for efficiency and lead programmers in solving problems to correct database malfunctions. A database administrator may be responsible for maintaining user accounts, updating old databases to merge with new or existing systems and testing any changes made to databases.
Software Engineer
National average salary: $107,722 per year
Duties: A software engineer is responsible for working with a client to develop a software program according to their needs and specifications. Software engineers work with other computer coding professionals to manage projects and create code for software programs. Their duties may also include assessing software systems for necessary updates or revisions.
Vocabulary
Algorithm: a list of steps to finish a task.
Binary: a way of representing information using only two options.
Code: the language that programmers create and use to tell a computer what to do.
Command: an instruction for the computer. Many commands put together make up algorithms and computer programs.
Computer Science: using the power of computers to solve problems.
Data: information. Often, quantities, characters, or symbols that are the inputs and outputs of computer programs.
Delete: remove (data) from a computer's memory.
Execute: To perform the program that has been coded.
Force: Strength or energy that occurs from physical action or movement (i.e: The ball moving forward because of the push from Botley).
Function: a piece of code that you can easily call over and over again.
If/Then programming: a way to teach robots how to behave in certain conditions. IF it looks like rain outside, THEN we might carry an umbrella
Input: a way to give information to a computer
LOOP: repeat a sequence of steps.
Motion: process of object being moved (i.e: the ball moving once hit by Botley).
Output: a way to get information out of a computer.
Persistence: trying again and again, even when something is very hard.
Program: An process that has been coded into Botley.
Repeat: to do something again.
Sequence: order in which related events, movements, or things follow each other.
Sensor: any device that receives a stimulus and responds to it in a specific manner.
Stimulus: a thing that alerts activity or energy in someone or something.
Task: a piece of work to be done
Transmit: broadcast or send out (an electrical signal or a radio or television program)
Try: attempt to do something
Teacher Background Knowledge
Coding is the process of writing out steps for a computer to follow to achieve a goal or perform a task. Typically, coding is done using a programming language -- like Java or Python or JavaScript -- which the coder uses to translate his or her ideas into words, phrases, and syntax that the computer understands. These instructions are also called "commands."
Coding is typically done as one critical step in the larger process of computer programming. Computer programming involves identifying a problem or challenge, considering potential solutions, writing code that can enact those solutions, and then testing and revising the code to achieve the desired results. Computer programs, also called "apps," can generally be run on a wide range of machines and devices, including computers, laptops, tablets, gaming consoles, and more. They include everything from operating systems, like iOS, Windows, or Android, to robust applications like Office or Photoshop, to web-based programs like Netflix or Instagram, to games like Minecraft or Candy Crush. Everything that a computer or device does is through a program.
Coding isn't just for "techies" or kids who want to work on computers. There are lots of compelling reasons for all students to learn to code. First, it teaches students how to be digital creators -- to create their own websites, apps, and programs. Coding allows students to wield the full power of the internet -- and multimedia -- to share their ideas, talents, and creativity with the world. Coding also provides students with skills that apply across content areas. By learning to tell machines what to do, students engage in problem-solving and computational thinking, which apply to academic and professional disciplines across the board. Learning to code also teaches students in a concrete way how the technology they use every day works. Students get a better understanding of what apps are actually coded to do and, in turn, what some of the larger consequences of using them are.
Because learning to code involves logic, problem-solving, backwards planning, and other broadly applicable thinking skills, teachers of all subject areas could consider making coding a part of their content area. In fact, students can use coding projects to demonstrate knowledge in any subject. In language arts, for example, you could add a challenging and creative new dimension to a literature unit by having students create code programs that allow users to interact with characters. Or, students could extend the plot of a novel by creating a choose-your-own-adventure story. Coding projects not only potentially enhance specific subject areas like English, science, or art but also are great opportunities for cross-disciplinary, project-based learning.
Taken from commonsense.org
Career information from Indeed: https://www.indeed.com/
Videos taken from YouTube: https://youtube.com/
Westmoreland Learning TPT: https://www.teacherspayteachers.com/Store/Westmoreland-Learning
Wonderopolis: https://wonderopolis.org/