Kodable Teacher of the Week
Teachers are absolute rockstars and the world doesn’t hear enough about it. We know how hard our teachers are working to get their kids coding and developing 21st Century skills and want everyone else to know, too.
We’re excited to announce we will be introducing you to a new, code busting teacher each week. It is our goal to spotlight teachers bringing coding to their schools, and to let their stories inspire others.
Meet Brian Adams, our first ever Teacher of the Week!
Brian is a Pennsylvania native, with 20 years of teaching under his belt. Mr. Adams is the Instructional Technology teacher and coach for k-3 students at Ridge Park Elementary School in Conshohoken, Pennsylvania.
We were lucky enough to catch up with Mr. Adams before he embarks on year 21, and learn about how he has successfully implemented coding in his school.
Congratulations on being chosen as teacher of the week! Can you start off by telling us about your teaching background and how you got started with teaching code?
My first nine years of teaching were spent teaching second grade. I switched to k-3 Technology, and a few years ago we started a really big transition with iPads. I had heard about different coding apps, but was looking for more than just “drill and practice” and I really wanted my students engaged with the content. I found Kodable and played through the whole thing; I fell in love with it. We started with 24 students sharing 14 iPads, but once the web version was released I could get all of my students on at once. We currently have our 1st and 2nd graders using it, and 3rd graders trying to come back and log in to do more!
What do you love most about teaching?
I love seeing the students engaged and enjoying what they’re doing. It’s really great to be able to see their excitement and willingness to take it as far as they can.
Why do you think it’s important for kids to learn how to code and develop 21st century technology skills?
I’m really drawn to the problem solving aspect. We’ve used Kodable individually and collaboratively with our students. Our 1st graders have started off working with a partner, because it’s a new way of thinking for them. For them, it’s huge getting their fuzzes through the maze and learning to be persistent. They have to learn how to try and retry- maybe even 10 times. It forces kids to ask, “how can I learn from my mistakes and improve?”
What are some challenges you have had implementing coding in your school?
There haven’t been too many challenges. I’m fortunate that my Administration has always been on board and supportive from the beginning; they’re a group of progressive thinkers. Early on, we struggled with limited devices but the Web has allowed us to get all of our students on at once.
What is one of the most exciting things you have seen happen with coding in your classroom?
I had a mom come into the classroom and see the poster that showed skills kids were building with coding. She was a math major in college, and to see her simply in awe really felt good. I had my own perspective on it, but then to have a workforce perspective come in was awesome. With students, I had a 2nd grade student log in at home and complete everything in a few weeks. I couldn’t believe that he had successfully worked through it that fast, I kept double checking him in class and he could explain every concept. I brought him to the parent council meeting for the district. He sat with parents and iPads and explained Kodable and problem solving to all of them. He was able to explain the value of it to parents, and that was really special.
We have to ask: How do you make time to take care of yourself during the school year?
Sometimes, it’s just saying the day is over and putting school aside. The to do list can wait. I make sure I make time to exercise. For fun, the Phillies!
What do you think is the most important thing for kids to take away from their education?
It sounds cliche, but a love and enjoyment for learning. Things can pile up; tests and papers. It’s important for them to find the part of it that they enjoy somewhere in there.
Thank you, Mr. Adams, for your 20+ years of serving students, and for being our first Kodable Teacher of the Week!
Register your teacher account today and get your students coding!
Teach your students the fundamentals of sequence with our new fuzzFamily Fever activity! Worksheets and directions are included and available for download below. Happy coding!
- Time frame — About 30-45 minutes
- The fuzzFamily has crash-landed on the planet Smeeborg and needs your help! Fill in the boxes below each maze with the correct commands and cardinal directions to navigate the fuzzFamily to safety.
- fuzzFamily Fever Handout (Download Below)
- SMART Board or Project (optional)
We have more activities coming soon! Check back for updates. 🙂
In Part One of our series, I told you about how I came to teach myself programming. In Part Two I detailed exactly how I did it. In this final installment of our 3-part series on teaching yourself to code, I’d like to share some lessons that I’ve learned on my programming journey. Hopefully they can help you learn just a little faster than I did!
1. Get a Plan Stan
I did a few basic Google searches, browsed some sites, and came up with a basic game plan for myself. Stack Overflow was a great resource, but be careful with it. Like I said in my previous post, the programming community can sometimes be a little overbearing and nit-picky. Worry about first being able to write Hello World in Ruby before you start to fret about knowing Test Driven Development and Git.
2. You’re going to be (really) bad, that’s OK!
A common scenario when you’re first learning programming is doing a tutorial, feeling really confident, and then struggling mightily when you try to do it on your own. This is because programming isn’t simply memorization of syntax, it is a new way of thinking, and training your brain to think differently as an adult is hard! (old dogs and new tricks comes to mind). Odds are, unless you’ve had some extensive experience with logical problem solving as a kid, you’ll struggle to grasp programming concepts at first. But, just stick to it, don’t get discouraged, and things will get better as you keep practicing.
3. USE (good) BOOKS!!
I started by trying to learn through tutorials, but that ended up giving me a scattered understanding of concepts without a true knowledge of what I was doing.
I know it sounds counterintuitive to learn programming from a textbook, but I found out very quickly that you simply can’t beat the structured approach of a good book.
Be careful what books you choose. Programming textbooks are infamous for having structured, detailed introductions, and then dropping you off a cliff. I cant speak highly enough for the Head First Series, especially for someone who hasn’t been exposed to programming culture before.
4. Stack Overflow can be your best friend (and your worst enemy)
I’ve spoken about Stack Overflow before, and inevitably within the first few days of your programming journey you’ll find it as well. It is a great resource, and the fact that you can Google a problem you’re having and find a quick solution is amazing. However, you’ll inevitably be tempted to copy+paste solutions into your code, without trying to figure out how it works. Try your best not to do this. Instead, try to dissect the code to figure out exactly what you’re doing.
5. Best practices are best, except when they’re not
Best practices in programming typically refer to the “best” way to do things. Surprising, right? Usually, you should do your best to stick to these. But don’t let them get in the way of the most important thing – writing code.
Even the best programmers tend to write “hacky” code sometimes. The important thing is to realize that this probably isn’t the best way to do things, and make a mental note that it could be done better.
All the code you write for the first few months is going to be horrible anyway, does it really matter if it is indented properly?
6. Consistency, Consistency, Consistency!
Generally, the older you are, the harder it is going to be to learn programming. You have to train your brain to think a different way than it ever has before. If you’ve been exposed to logical thinking and problem solving your life will be easier, but if your primary interest has been 18th English Literature and you suddenly want to pick up Ruby on Rails, it will be difficult because you have to learn a new way to think. The number one thing you can do is be consistent. Set a goal for yourself to program every day, for just one hour a day. A great example of this is Jennifer Dewalt, who made 180 websites in 180 days.
7. Persistence, Persistence, Persistence!
One of the things I’ve seen people have the most trouble with is sticking to things when it gets tough. During your first few months you are going to struggle mightily. Get over it, and move on. You’ll struggle and spend 8 hours on a task that would take an experienced programmer 5 minutes. That’s fine! You will get better (as long as you stick to point #3).
8. Embrace your inner hipster – take a break and get some coffee!
When you’re really focused on a problem that you can’t solve, oftentimes you’ll find that the solution is staring you right in the face. You’ll quickly run into the frustrating situation where you were up late one night programming, couldn’t find an answer to a program, and gave up and went to bed. When you wake up in the morning you’ll solve that problem in 5 minutes, guaranteed. Learn when to take a step back and take a break, you’ll often be more efficient in the long run.
9. Make new friends!
A programmer friend is invaluable to a new initiate such as yourself. Being able to text a friend with a specific question and getting an answer in 5 minutes, as opposed to combing through snarky Stack Overflow comments for 2 hours is an incredible resource to have. If you know programmers, ask them for help! Be nice and buy them some beer (programmers love beer) in exchange for helping you with some basic problems you’ll run into.
10. Have a Goal
There isn’t a single programmer in the world who learned programming by sitting in front of a computer and saying, “I’m gonna PROGRAM!”
Programming is like being an athlete. An Olympic distance runner doesn’t just put on their shoes and run 15 miles every day just for the sake of running. Instead, they are running with a specific goal in mind, to compete and win a medal at the Olympics.
Athletes want to be the best at their sport. Programmers want to build amazing PROGRAMS! Once you have a basic understanding of programming, find a cool app you’d like to build and go for it. That’s always the best way to learn. I’ve always learned more about programming when I had something I wanted to build than when I sat down and said “I’m gonna learn about X.” That is the best advice I could ever give you.
Want to read the rest of the How I Taught Myself to Code Series?
Where Do I Start?
The first thing I did was tackle HTML and CSS. I want to be very clear on this point, this is NOT programming. Coding is a mindset, you need to be able to problem solve and think logically. There is very little (if any) of this with HTML and CSS. Now, that is not to say these aren’t valuable skills to have, but don’t fall into the trap of “learning to code” by writing some basic HTML. Some experienced programmers may roll their eyes at you and tell you that you’ve still got a long way to go.
Choosing A Language
With the exception of HTML and CSS, the language you choose to learn doesn’t matter! I spent more time learning what a “for” loop was when I first started programming than I did learning Ruby after I had 2 years of experience under my belt.
The most important thing with programming is to start making progress and begin learning.
One of the biggest mistakes I see in people trying to teach themselves programming is that they get too caught up in which language they want to learn. Don’t do that. Trust me, it doesn’t matter. To make sure you don’t fall into this trap, I’m going to tell you exactly what to do.
Picking a Project
First, find out what kind of applications you want to build. If you have a PC and want to make Windows applications, learn C#. If you have a Mac, learn Python. If you want to make web apps, Ruby is a good choice, but you can also use Python. If all else fails, learn Python. It’s an excellent language that teaches you how to structure programs correctly and just generally program the “right” way.
Avoiding the Cliff
I consider my first real “language” to be C#, a C-based language developed by Microsoft used in a vast number of Windows applications and websites. The best thing that ever happened in my journey to learn programming was finding a book called Head First C#. Most programming books start with helpful, guided tutorials in chapter 1, and then drop you off a cliff and expect you to just know everything. The Head First series makes it a point to do the opposite. They make it a point to translate programming concepts into something that “normal” people can understand, and deliberately avoid the aforementioned “cliff” problem. I can’t say enough good things about these books, they’re simply awesome.
Setting Achievable Goals
Painters never sit down and decide to paint, they always have an idea of what they want to paint when they get started. Programming is the same way. As a full-time programmer, I never sit down in front a computer and just say “I’m gonna program!” They have a goal in mind, something they want to accomplish. You should always endeavor to do the same.
Becoming a Pro
I started learning C# my senior year of college, and spent about 8 months with it before I graduated. As graduation came closer, I was trying to find a job. This was at the height of the recession, and there just weren’t that many opportunities out there, especially for people with marketing degrees. Lucky for me, I had spent the past year honing my coding skills!
I went in for my interview with a newfound confidence in my programming abilities. I was able to breeze through the questions they asked, and got an offer later that day. I had successfully taught myself enough programming to get a job as a full-time, professional software developer. Mission accomplished!
Now that you’ve heard about my journey to become a full-time programmer, in Part 3 of this series, I will give you a set of rules, tips, and tricks that I’ve picked up along the way. Hopefully they’ll be as helpful for you as they have been for me.
There are so many resources out there for learning to code these days that it can be next to impossible to know where to start. As the sole programmer for Kodable (for now – we’re hiring!), I am completely self-taught. I have never taken a formal programming class in my entire life.
In less than 4 years, I taught myself everything I needed to know to build an app that is currently used by over a million kids around the world.
In this 3-part series, I will share with you my journey from learning to code at 6 to founding Kodable. Hopefully this will inspire your own programming journey!
Back In the Dinosaur Age
My first initial exposure to programming was when I was only 6 years old. My computer was an old Toshiba that looked exactly like this ➜ Remember those days? Truthfully, I was always in trouble as a child. If you don’t believe me, ask my parents, but be sure to put aside a few hours. Anyways, I was always grounded, and my parents would let me play on this ancient computer because they refused to believe that I could have any fun on it.
The battery didn’t work, so I could only use it plugged in, and it didn’t even have a mouse! I had to use keyboard shortcuts like some kind of caveman or dinosaur!
Eventually, I started tinkering with the system and ended up finding the BASIC compiler in MS-DOS. After playing with it for a bit I ended up having my parents take me to Barnes and Noble to buy a few programming books. This led to the creation of my first program, which was a password program that would start when you booted up the computer. If the user entered the password correctly, the program would let you access the computer. But if the user inputed the wrong password, it would say, “You’re an idiot! Try again.” Like I said, I was always causing trouble as a kid.
After this, I continued tinkering for a few months and even tried to tackle C++, but that turned out to be a bit too intimidating for me at the time, and I ended up losing interest. I didn’t program again until halfway through college 15 years later.
Learning to Code (Again)
Even though I wasn’t writing code, the way I had learned to think like a programmer stayed with me. In school, I would constantly find myself analyzing problems using programmer logic. For example, I would often look at things in terms of if-then-else statements: If this happens, I will do X, otherwise I will do Y. This ability was invaluable as I made my way through high school, college, and especially when I began to teach myself programming.
As a student at the University of Louisville in the Entrepreneurship program, I knew I wanted to start my own business. I also knew that I wanted to do something in technology, but it quickly became apparent to me that I couldn’t do this without some sort of technical ability.
At the time, it was too late to change my major, and I also didn’t want to rely on someone else to build my dream for me.
In Part 2 of this series, I will detail exactly how I carved my path through the maze of programming materials available, and hopefully give you some friendly advice and direction for your own journey as well!