- Computer Science in Algebra PD: Why Computer Science belongs in Algebra #2


A technique I use when first introducing variables is playing a “game” with the class vs me. I draw a scale on the board, we build a shared meaning of what it represents (balanced = ). Then, I place objects on a table in front of the scale. Some can be seen and some are hidden in a cup. The students’ job is to figure out how many are hidden. We slowly transition to writing what is shown with a variable, and they make the connection between arithmetic they k ow, and how a variable is an unknown.

I think programming will really encourage my algebra students who have the mindset that they can’t do it. Or the ones that have a hard time visualizing what’s going on. Providing them a concrete way to see what is happening with their math will hopefully be very motivating. They also have a visual to check their work.


Abstract thinking has been the biggest challenge for algebra students. I try to incorporate as many real-world scenarios as possible so they can easily relate to the problems.


I think the students will struggle with the formal programing aspects.


Some students find it hard to understand that a variable is not simple a letter. What works best for students is to make sure that the variable is always declared first. After students gain a strong understanding of how a variable works within an equation, the teacher can next lead to student into thinking of how to find the variable when it is not declared. Thus, the student is immersed into Algebra!
Yes computer programming can help with this transition, especially Java Script. because before a variable can be used within a program, it must be declared first. Making it easy for the student to understand how a variable can work within a computer program or equation in Algebra.


I’ve never really had to teach stand alone math before (my background is in science and technology). But I think one of the biggest challenges will be to help them understand how the math concepts easily translate into computer coding to help them create something fun.


These are all great suggestions for things I will have to remember to try as I teach this in my own classes!


For algebraic concepts, I tend to start out with manipulatives. Giving students a hands on approach to a new concept will allow a variety of learners access to the concept. Moving to real world application using this approach, then finally to the algebraic problem. I make sure that the problems are ones that matches up with scenarios that we have been exploring.


I think that my students will enjoy learning about the connection between algebra and programming. They always want to know how math concepts relate to real life.


Moving from concrete to abstract is difficult, not just in math. Applying math to everyday life is the easiest. I like to use earnings or sales to hook students. For example - is the coupon for 15% off purchases above $25 really worth the trip to the store? Are you really saving money? If you want to buy the new game for $55 - how long must you save? If your income varies based on chores or babysitting, how do you calculate this? Showing students how to apply functions to a real-world situation they face helps them internalize it and then be able to apply it in the future.

Programming can help if they steps are easy enough to understand. I already show students how to use formulas in Excel to help them with these types of scenarios. It will be interesting to see what offers.


To help students transition from concrete arithmetic to abstract algebra, I use a LOT of thinking maps and GLAD strategies. I find students need to organize the information in their brain before they fully understand a concept.

My students get overwhelmed when they don’t immediately understand a concept. But, I have to remind them (constantly) that perseverance is key.

I think programming will help with transition because they will be using abstract algebra to complete a fun or real-world activity, which will make it meaningful for them.


One way I try to help students transition from process-oriented thinking to abstract conceptual understanding is by spending a lot of time on vocabulary. One term I spend a lot of time on, for instance, is variable. We break it down and talk about what it means that a value can vary – it isn’t always the same thing, and we can use different symbols to represent them. Then we talk about bivariate data and the idea of two related variables. This seems to help a lot when we tackle functions and the fact that they don’t represent fixed values, they represent a realm of possibilities. Then we can use a variety of conventions (t-chart, equation, graph, etc.) to model that set of possibilities.


I always try to show my students multiple representations and related topics to their everyday lives or future careers. Students find a lot of algebra concepts difficult because they are harder to relate to real life. I hope that programming will give me a way to show students how algebra skills can be applied to real life and job skills.


Algebraic thinking requires a certain level of brain development. It is very difficult for students whose brains have not developed that abstract thinking to understand algebra. When teaching equation solving I always relate it to a balance scale or teeter-totter. They always have to make certain they do the same thing to ALL of both sides of the equation or it gets out of balance.
When introducing a concept I try to find something in the real world that my students can relate it to.


Student pairs construct real world problems on the computer and discuss solutions. Student school issues or games usually get student interest. The most difficult is transitioning results, solutions, and discussions to mathematical representations and language. Programming can help in that as the student technology experience progresses, so does their references … they can have examples of their own previous experiences to apply to new situations … what is different? … what is the same? … same kind of graph? etc.


I know for me, personally, abstract concepts are a bit of a struggle. Knowing the way that I process information, I try to put myself into my students’ shoes. So, I try as best I can to make concrete connections before approaching it from the abstract.


When teaching transformation, I use technology to show how an object looks with it translates, rotates, and reflects. The instant access to a visual helps the students form a connection between the math concept and the real life application. Students manipulate the object and see the output instantly.


In teaching the R language for statistical analysis, I found that the students who were most successful had really begun to treat coding as learning a language. Coding is the way you communicate with the computer and just as your human language statements have to “make sense” in order for other humans to understand you, your computer language statements have to “make sense” in order for the computer to understand you. Exercises like the peanut-butter-sandwich-algorithm help illustrate this concept for the students.


I teach inclusion students as well as on-grade level. I find it best to relate the content to their lives as much as possible. Using manipulatives is also very important in this transition to the abstract.


When helping students transition from concrete arithmetic to abstract algebra, I try to do things many of you have mentioned: relating situations to something students can imagine, drawing pictures, using other mathematical models like tables and graphs, and moving to abstract concepts. I do use manipulatives, but I will usually have the students use them in groups or I will model them for everyone. When I teach math support classes, I use manipulatives more than I do in other classes. It is easier since the class sizes are so much smaller, and the students in support classes may need more concrete or kinesthetic options.

Some students are not quite developmentally ready for this transition, especially if they are in an advanced math class when they shouldn’t be.

I’m hoping students will find programming to be another way to see the relationship between different representations of the same thing. I’m also hoping that programming that programming will be one more way to reach students and help them see the usefulness of mathematics.


The jump from boxes to letters is the toughest part to get students to accept and move beyond in pre-algebra. Then to add in another variable/letter to be dependent on the first letter is a whole other level.