My Coding Place logo

The Source Code

A Blog on Learning Coding and STEM skills

Updated: Feb 21



Empowering Girls in Computer Science


"That's just for boys!" is a common remark heard among young girls. In fact, my younger sister recently made that comment to me when I asked her if she played a certain videogame. While the context might be innocent or inane, it's alarming how many things are deemed to be "for boys" when, in reality, this couldn't be farther from the truth.


Science- and technology-related fields of study and employment are often treated this way, even though women have historically been at the forefront of groundbreaking scientific and technological advancements. From Ada Lovelace to Katherine Johnson, knowledge of prominent female figures in STEM careers are difficult to come by, although recently more and more stores about these women have surfaced in mainstream media. It is easy to see how young girls internalize the "boys only" misconception when so many of the facts circulated in science and technology appear to be dominated by men.


Women code too


Ada Lovelace was a talented mathematician born in 1815. Ada took to mathematics at an early age, and was able to study math at the collegiate level. While translating an article about an invention created by her mentor, Ada was able to share some of her own ideas about the machine, along with notes on how computer code could be written to give the device repeatable instructions. Because of this, she is considered by many to be the world's first computer programmer.


The story of Katherine Johnson was recently featured in the Oscar-nominated film Hidden Figures. Katherine was an incredibly gifted woman. At the age of 10, she was a freshman in high school. She started working at the National Advisory Committee for Aeronautics, later known as NASA, in 1952. Her job title? Computer. Young women were hired at the time to perform calculations, even when NASA began to use actual computers for these tasks. Katherine's mathematical skills were so virtuosic that her job was to double-check the work of the machines! In 2015, Johnson received the Presidential Medal of Freedom.


Female influences in computer science are not relegated only to historical contributions. Over the past few years Samaira Mehta has been featured in the news and invited to speak at conferences for her work as a programmer — a title she earned at 6 years old! Her work has helped children all across the country learn to code.


Getting girls into computer science


While there is still a considerable amount of progress to be made, there are signs that more girls are getting exposed to computer science earlier on in their K-12 education. In 2018, there was a 39% increase in the number of female students who took the Advanced Placement (AP) Computer Science exam. Taken by high school students, passing scores on AP exams can translate to credit at many American colleges.


Still, in 2015, only 18% graduates with a computer science degree were female. Why is this?

  • Lack of female role models. As we mentioned earlier, the computer scientists and other workers in STEM fields we see at tech companies in Silicon Valley in the news and on TV are usually men. We don't see as many women in technology, and thus software engineering doesn't doesn't get added as often to girls' lists of career aspirations.

  • Lack of early exposure. Studies show that students are ten times more likely to major in computer science if they are introduced to it early on to build their programming experience, like in an AP Computer Science class.

  • Misconceptions about programming as a career.The media also portrays programming as an independent and "nerdy" discipline, whereas building software is actually a very collaborative process.

  • Afraid to make mistakes. Code rarely runs perfectly the first time you run it, and learning how to debug code is a key programming skill.


How coding schools help


It's hard to aspire toward what you've never glimpsed. Seeing women in STEM roles is key to discouraging the "that's for boys" mentality that has girls self-selecting out of fields they could succeed in. Mentorship is a great way to encourage young girls to experiment with technology.


How do coding schools help encourage girls in STEM?

  • Exposure to a female role model. Girls have a mentor to work with who is passionate about computer science and demonstrates highly technical skills.

  • Early exposure to computer programming. Students can start as young as 8, and we offer beginner courses in Scratch and Python.

  • Easy to make mistakes. Our instructors dispel the notion that code has to be perfect before we run it. We emphasize the importance of incrementally testing our code and how to debug code that isn't working.

  • Easy to ask questions. Some girls may be nervous to ask questions in a larger computer science course with more students. In a private class, there is no judgement!



This article originally appeared on junilearning.com


Updated: Feb 21



The Scratch Programming Language


Scratch may not be a programming language that you’re familiar with if you've grown up hearing about BASIC and Cobol, but today Scratch is used in colleges, universities, and workshops to teach the basics of coding to both children and adults.


Scratch was a project created by the Lifelong Kindergarten Group of the MIT Media Lab. While it was developed for students between the ages of 8 and 16, there is a robust online community of contributors, and today, students of all ages are beginning their computer science journeys with Scratch. In fact, Scratch is included in many universities' computer science curricula, including the University of Missouri and Harvard. There is also an active Scratch community creating new projects everyday.


Scratch programming uses drag-and-drop code blocks to teach students how to code. Users are presented with colorful characters (called sprites), easy-to-understand code blocks, and a stage on which they can see their code come to life on their own computer with the click of a green flag. It’s a great way to introduce students to coding.


Rather than having students memorize commands, Scratch promotes students to think about what it is they want the code to do step-by-step and how the different blocks can help them achieve their goals. Are they trying to move a sprite? They probably need a block in the Motion section. Do they need to repeat a step more than once? They should probably reach for a repeat block.


This kind of learning environment helps those learning to code think more abstractly about what it is they are trying to achieve and not get overwhelmed by details. While Scratch is simple enough to be self-taught, many students simply wouldn’t know where to begin.


What Kind of Projects Can be Built with Scratch?


If you take a look at the thousands of projects that have been developed in Scratch, you’ll see a vast variety of impressive work. From short films to recreations of popular games, such as Angry Birds and Minecraft, the possibilities with Scratch are just about endless. Scratch developers are able to build and solve puzzles and mazes, create interactive games based on math and science, and create video games that they can share with friends.


It’s also a great way for students to start thinking about how they can solve real-world problems. One of Juni’s assigned projects tasks students with solving the famous Fizzbuzz interview coding challenge. Through this project, students learn about using conditional statements and the modulus operator to solve this problem.


Some might look at Scratch and find it hard to believe that this framework, with its brightly-colored coding blocks and cartoon sprites, can be an effective way to learn to code. A powerful tool in its own right, Scratch gives students a deep understanding of the foundational coding concepts they’ll need to master other languages.


This article originally appeared on junilearning.com



Why Learn About Variables?


As with many coding basics, variables are all around us in the world, but we rarely refer to them by name. Kids see examples of variables in, for instance, sports — the score is 3 now but it could change to 4 or 6 later. Variables enable them to double the size of a baking recipe or track how many pages they have left in a book.


This implicit ability to use variables is already very powerful. As kids learn more advanced mathematics, they gain a deeper understanding of variables — learning to recognize the ways that they have already been using variables and how to refine their usage for more complicated tasks like what-if scenarios.


This is a necessity for kids to evolve their basic arithmetic skills into important life skills such as setting up a budget.


Learning Variables for Kids


Understanding how to connect our implicit use of variables with the way that we learn variables in math classes can be difficult. This is where coding can be helpful. Because coding offers an immediate and often visual result when kids play with the values of variables, it offers an easier way for them to understand how variables are working, paving the path for them to understand the mathematics of variables.


The goal of this article is to provide answers to the following questions, giving you the basic information that you need to introduce variables to your student.

  • What is a variable?

  • How are variables used in math?

  • How are variables used in coding?

  • How does the usage of variables in coding relate to their usage in math?

What is a Variable?



The easiest way to explain variables to kids is with real-world examples. The number 3 is a constant. If you say there are 3 apples in a basket, everyone knows exactly how many apples they should expect to see. The number of apples in the basket is 3.


But what happens if we add a 4th apple to the basket? The number of apples in the basket is no longer 3. While 3 is a constant, the number of apples in the basket apparently was not! This can happen because the number of apples in the basket is actually a variable. It was 3, but now it has changed to 4. It can even be unknown, but it is always a number.


This is the basic idea that kids learn about variables: you can talk about the number of apples in the basket without actually knowing how many apples that is.


Variables in Math




The first time kids run across variables is usually in a math class. Variables in math have two parts: a value and a name. Variables are often introduced in math by asking students to solve for the value of a variable, typically x. In earlier pre-algebra math classes, students fill in a blank.


3 + 3 = _


This blank is eventually replaced by x.


3 + 3 = x


The child is asked to solve for x instead of filling in the blank as they used to do. This teaches them to think of variables as a placeholder for an unknown numeric value.


Later, kids are introduced to the concepts of a dependent variable and an independent variable and the idea that variables can have changing values. This allows the introduction of graphs, showing how the value of one variable changes as you adjust other variables.


This eventually evolves into an introduction of science for kids. They can participate in science experiments where, for example, plant growth (the dependent variable) changes as you adjust the amount of sunlight or amount of water flowing to the plant (independent variables) over the course of the experiment.


How are Variables Different in Coding?


In coding, unlike in math classes, variables should be introduced as objects that can be manipulated rather than just a placeholder for an unknown value. Children should learn that variables can be set or changed by the coder and that some variables affect other variables within the code.


Once they understand what variables are in coding and how to set them, it’s time to introduce how variables can change. Remember, variables in coding aren’t just static values!


Kids can learn to control variables through effect relationships — press the left key and the position of the on-screen character moves to the left. Next, they can learn that the value of a variable can change within the code. For instance, a loop counter will update each time the loop completes.


In coding, kids gain an understanding of variables that shares some similarity to what they learn in math but is more similar to what they learn for scientific experiments. By becoming experimenters with the variables in their code, they gain a deeper understanding of the principles they are learning in their math classes.



Thus far, we have talked mostly about how variables overlap in mathematics and coding, but coding also expands the use of variables. Earlier, we mentioned that variables in math have a value and a name. Coding introduces the third part of a variable: type.


While coding, kids will learn to work with different types of variables, each of which has its own purpose. They should understand that strings — which typically contain names or other words — are used differently than integers even though both are stored as variables.


The specific types vary between programming languages, but they will generally learn these basic variable types.

  • Integer (..., -2, -1, 0, 1, 2, …)

  • Float (1.01, 3.84, 10.0, etc.)

  • String (‘worksheet’, ‘high school’, ‘www’, etc.)

  • Character (‘a’, ‘b’, ‘c’, …)

  • Boolean (true, false)

Variables are a powerful tool for numbers, but by expanding them for use with strings and eventually more complicated types of information, they become a tool with virtually limitless potential! Combine this with the rapid feedback and visual learning that programming provides, and you can see why coding is an ideal companion for mathematics when teaching variables to kids.


Putting It All Together


Hopefully, this article has given you a better understanding of the similar but distinct ways that variables are used in math and coding. By offering both pathways, you give a child a powerful set of tools to understand and interact with the world around them.


This article originally appeared on junilearning.com.