MY Data Science: September 2019

A headshot of a middle-aged white man with light brown hair and a full beard wearing a black polo.


Meet the guru behind Arkansas’ computer-science-in-schools initiative

Daniel Moix,
Director, Coding Arkansas’ Future

IN 2015, WHEN Arkansas passed Act 187 requiring all high schools to offer computer science, I joined the Arkansas School for Mathematics, Sciences and Arts—my high school alma mater—to launch the program called Coding Arkansas’ Future. Using online learning tools, we provide remote instruction and professional development for teachers of other subjects who are interested in learning to teach computer science to their students. In other words, we teach the teachers.

I didn’t always know I wanted to make my career in education. I was the kid who was always taking things apart to learn how they worked—and sometimes I could put them back together again. At age 10, I got my first computer, a Tandy 1000, and as early as junior high school I was thinking I wanted to be a “Systems Analyst” and put my strong problem-solving skills to work helping businesses use computers to solve problems and work more efficiently. For that career path, I knew I would need a strong background in mathematics and computer science.

At age 16, I was accepted by what was then called the Arkansas School for Mathematics and Sciences, a public residential high school for gifted students. There I took my first classes in the computer language C++. In my two years at ASMS, I took as many computer science courses as I could.

Then I enrolled at Henderson State University and declared a major in Computer Science. While in college, I worked part time for the university, the local school district, and the education service cooperative providing IT and network administration support. I also volunteered as a tutor for my peers and taught computer literacy classes to community members through the university’s lifelong learning program.

After college, I took a job at the Arkansas Department of Health as a Data Manager, tracking and reporting data to the CDC as part of the National Breast and Cervical Cancer Early Detection and Prevention Program. The work I was doing was important—it was actually saving lives—but in time I began to feel that something was missing. Thinking about it harder, I realized that I missed the personal connections I’d had as a tutor and computer literacy teacher.

Then fate intervened. Out of the blue, I got a call from my high school computer science teacher asking if I would be interested in returning to ASMSA to teach for a semester, as one of the computer science teachers would be out for medical reasons. It felt like the right move, and I happily accepted.

As the semester concluded, I knew I had found my path. To prepare myself for a life of teaching computer science, I began working through the processes necessary to gain a teaching license: I attended professional development to become a certified Oracle instructor; learned new programming languages, including Java and PHP; developed courses in networking and web application development for my students; joined the Computer Science Teachers Association as a charter member; and began graduate work in Curriculum and Instruction.

After completing my master’s degree, I took a job teaching computer information systems at College of the Ouachitas in Malvern. While there, I learned more about blended and online learning. I developed hybrid courses that included hands-on lab experiences and online instruction and assessment. I served as an advisor for the Bryant School District as they worked to design a Mobile Application Development course for their students, and I came on board to teach the course. We expanded the course into a three-course program of study and provided professional development to teachers in other schools interested in offering the program to their students.

Then came 2015 and the mandate for all Arkansas high schools to offer courses in computer science. Without knowing it, I had been preparing for this all my life.


OUR PROGRAM BEGINS with a week long boot camp for our teachers. At this event we don’t just focus on content. We also focus on creating a forum in which participants can discuss their fears and apprehensions. Fear of the unknown is natural. But once they see how cool computer science can be, those fears often turn into excitement.

I’m often asked what makes a good computer science teacher, and my answer is to go to the core of the question: “What makes a good teacher?” A good teacher is someone who’s in the classroom for the right reasons. That means he or she values students and wants to help them be successful.

Teachers from many backgrounds can become successful computer science teachers. Math teachers, who are already comfortable identifying patterns and helping students learn how to identify patterns, find that computer science comes “naturally” to them. Teachers who teach business and other career subjects are already comfortable managing a technology-rich classroom environment, so they also do well. These are teachers who don’t panic when something won’t load or doesn’t behave as expected.

But anyone can learn computer science. A phrase we hear a lot is, “That’s it? I was making this so much more complicated!” I sometimes think of my job as showing our students just how uncomplicated computer programming can be. For example, in computer programming we really only do a few key things: sequencing, in which we establish a set of steps in order (first bake the cake, then cool it, then ice it); selection, in which we make decisions (if it’s raining, take an umbrella); and iteration, in which we repeat sets of instructions (if there are dirty dishes, pick up a dish, wash it, rinse it, dry it, put it away).

The beauty of computer science is that we can leverage abstraction to avoid worrying about the details. Sure, the machine only speaks 1’s and 0’s, but we’ve designed human-readable languages that the machine can translate for us to make programming easier.

The best programming language often depends on the problem you’re trying to solve and the equipment you’ll be running the solution on. Students in grades K-8 are taught computer science in an embedded fashion, with CS integrated into other lessons, and for these students a popular programming language is Blockly, which is like “magnetic poetry” programming. In this scaffolded environment you can focus more on the problem-solving aspects of computer science and fuss less with syntax—it’s apparent which blocks snap together and which ones don’t.

For older students, most people either teach Java or Python. Java is an object-oriented language that’s syntactically similar to C++. Schools choose this language because it is the language adopted by the College Board for Advanced Placement Computer Science A. It has a large library of built-in functionality, and most employers will consider a candidate who knows Java. Uber runs on Java.

Another popular language for learners is Python, which is considered friendly for beginners—but its rich ecosystem of powerful libraries developed by third parties means that it can still be used to develop “real” solutions. Instagram currently runs on Python.

Computer science is ultimately more about the ability to solve problems and think abstractly than about knowing a particular language. That’s why in computer science education we stress the concept of “computational thinking,“ which encompasses the work humans do to break down a problem into parts that are manageable by a computer. A good coder is a person who can see a problem from many sides, someone who can identify patterns that can reduce a gnarly problem into something simpler, and someone who can zoom in and zoom out, seeing the problem at many levels. Sometimes our human brains are much better at this than machines, but other times we need machines to help us recognize these patterns.


THE BEST PART of my job is seeing educators learn to learn again. Many of our partner teachers are experts at what they do, and they have been doing it for a long time. Becoming a computer science teacher puts the participant back into the learner role, which they may not have done recently. Many say, “I had forgotten how fun it is to learn!” Others take their experiences as learners in our program and revamp their other courses as a result.

I know teachers who have been promoted to their district level to manage technology, and I know teachers who have started up some pretty cool side projects. From my own experience, teaching is about so much more than just a paycheck. I could work for a technology company and make much more money than I do in education, but I wouldn’t get that rich fulfillment that I do helping other educators.

I mentioned earlier my “important” work for the National Breast and Cervical Cancer Early Detection and Prevention Program, but I’ve come to believe that the work I’m doing now is equally important, just in a different way. A lot of people in our state still haven’t brought themselves into the 21st century, and many of them don’t even seem to understand the need to. For that reason, I sometimes feel that I’m playing a key role in Arkansas’ future. I’m a “Xennial,” one of those people with one foot in the Gen X world and one foot in Millennial world. I grew up with a yellow phone with a long curly cord in my kitchen, but I also stood in line to buy an iPhone at the Apple Store. So when I’m talking with students about the future, I reflect on the growth that happened within the first two decades of my life—and then I compare that to the tremendous progress that’s been made in just this past decade.

We live in a world where it’s nearly impossible to get lost because we have GPS, maps on demand, and powerful navigation algorithms available on every smartphone. I ask students to think about something similar that might be nearly impossible in the future. Would it be nearly impossible to get into an auto accident because all cars are computer-controlled? Would it be nearly impossible to run your phone battery down because everything will be charged wirelessly?

Nobody can know what the future holds, but I’m certain that the skills computer science students learn—collaboration, perseverance, problem solving, communication, pattern identification—will be valuable regardless of what happens in the world. In the meantime, I advise my students to adopt four simple rules for living:

  1. Be a lifelong learner.
  2. Leverage your strengths in new contexts.
  3. Seek out small ways to make an impact now or in the future.
  4. Don’t be afraid to try something new.

If they live those rules, they’ll always be fine.