Code Moms

A Mom-and-Son Team

Journaling our Trek

From our first days of intention, we received great advice from a fellow coder named Natasha the Robot. She too was a self-taught code learner who started with the Stanford CS 101 class and had who has now advanced on to become an IOS Swift Developer. She encouraged us to start a blog as a way to record our progress.

Natasha's wisdom and support gave us the confidence that we too could learn code online. So we started our blog with tales of our adventure so far. We hope the stories of our journey might inspire other new coders. To check out Natasha, just click here.

Leaving Breadcrumbs on the Trail

Why I Started to Learn Code

December 11, 2013

My son recently graduated from high school and wanted to pursue his passion of working in the computer industry.  He did not want a traditional four year college, so he set out on an adventure to learn code online.  H found that there are many great online schools (some free and some with cost). The possibilities were endless, and he didn’t really know where to start.

The one thing he discovered was that the best way to learn code is by pairing with a buddy.  So I volunteered to be his buddy and the journey began.  We set up a work station with two monitors, side-by-side.  First stop?  Khan Academy!

Why do a Log About being a Code Mom?

December 12, 2013

I have been keeping a journal on our progress since day one.  It has only been a few months, but we have learned A LOT!  Not only are we learning how to code, but we are also learning how to navigate through the online ocean of information, finding jewels of education, resources, classes and support.

Our school doesn’t teach computer science, but we are learning solo with success, all online.  This blog is intended to share our story with other moms who are helping their children learn computer science. It is also my personal testimonial that “you’re never too old to code.”  I started out by being a support for my son, and soon discovered that I can code too (and I like it!).

So if you are a mom who wants to help your child learn computer science, or a mom who wants to learn to code herself (a great skill to have if you decide to re-enter the workforce later), this blog’s for you.

Learning Code - Keep on Trekking

December 22, 2013

As we began our coding journey, I looked at the long road ahead and it looked a bit daunting.  My son wants a career in programming.  Me?  I’m just along for the ride (and to help).  But it wasn’t long before I discovered that I also like learning code.  I realized I’m really not too old to learn a new skill.So now we look at the path ahead.  How do we get from “wanting” to be software engineers to “becoming” them?  How do we successfully reach the summit of mastering code?  Over my life, I have learned that when confronted with a monumental challenge, it is best to take small steps and pace yourself, and above all – keep on trekking.

So we made a contract with each other, and so far, we have been on a steady incline up the path.  Here is what we agreed:

1. Designate 2-4 hours a day to code.  By learning code for at least two hours a day (up to four if we are on a roll), we know that we are taking small steps and over time, those steps will all add up.

2. Keep a journal.  This is basically our road map.  It has a daily schedule, a monthly summary, it keeps track of our progress, it notes hours spent coding and the computer languages we are learning (currently javascript), as well as listing other classes taken on on line platforms (like math, english, humanities, etc).

3. Work as a team.  Just like having a workout buddy at the gym, being a coding team keeps us trekking the steady climb.  When I originally volunteered to pair code with my son, I thought I would be tutoring him because I am older and wiser, but half the time he is helping me.  He “gets” things I don’t see and vice-versa.  We discuss problems and learn together.  Working as a team keeps us motivated and successful.  Two heads are definitely better than one when learning code.

The trek continues…..

Setting Goals to Keep Us on Track

January 14, 2014

It is the start of a new year now.  We have already been learning code for a few months, but now it is the perfect time to set a goal to keep us on track.  Our goal?  500 hours of learning code for 2014.  We figured if we commit to at least two hours a day, five days a week, this is definitely a goal we can achieve.

To keep us motivated, we decided to make a “Tower of Code” board.  On it, we pasted 500 blocks (from printed sheets with 50 blocks each).  Every month will have a different color.  Each block will have initials for what we are learning (right now, it’s Javascript, HTML and CSS).  Having the tower out next to our workstation keeps us motivated to keep working.  I can’t wait until the board is full of colors!

We Just Launched our Webpage!

February 5, 2014

Well, after several months on the code journey, my son and I have started to get familiar with a few languages.   We’ve studied HTML with Treehouse, Javascript with CodeHS, and are getting ready to dive into CSS.  After our lesson on HTML, we decided to see if we could create our own web page.  And we did it. Best thing of all is that we couldn’t stop working.  

Although my eyes got blurry from typing code and searching for my mistakes (so glad my son could help me out), we really had a lot of fun putting our knowledge to the test.  They say the best way to learn is by “doing.”  I agree, and add one thing — working as a team keeps you learning.

This web page is simple, but this is only the beginning.   As we learn more, we will apply our skills to enhance it.  Our next  lesson in CSS will teach us how to add color and style.  Keep on trekking.

Learning by Doing

Feb 23, 2014

We are taking steps each day to move up the code path.  To date, we have accumulated 70 hours of learning (our yearly goal is 500).  We are currently taking a CSS module with Treehouse.  After going through lessons on Selectors, Pseudo Selectors, Lists and Font Styles, my son and I decided to take an afternoon to practice what we learned so far.  My son worked on his web page and I updated my site.  When I first launched it three weeks ago, my web page was made with only HTML code that had some in-line styling.  

Now that we had a bit of CSS under our belt, we were able to add color, style fonts and text, hover on hyper-links,  and make links active.  I had to go back through my notes to find out how to code what I wanted to do. It took longer than I expected but by “doing” it, we were learning.  I cannot stress how important it is to keep good notes and stay organized. As I worked on CSS, it was exciting to try different codes and see them appear in the window.  We are at the beginning stages of our code path.  I know we have a long way to go on this journey with more challenging modules, but it is rewarding to actually create something with code that I can launch and see.

We like going up the path at our own pace, stopping to investigate, re-watching lessons as we need, taking the time to organize, and practicing what we learn.  Now we are ready for the next stretch.  Still on track.  Onward we go. 

Endurance to Code

March 8, 2014

Spending two hours a day on code seems like it will take forever to reach our goal, but we are staying on the path.  At this point, we are learning more and more about CSS on the Treehouse platform. Just yesterday, I uploaded some new code on our web page and it felt great to implement what we have learned so far.

On our trek up the mountain, I feel like we just reached our first mountain meadow, and we can enjoy the colors and calm air. Endurance is our friend. Going slow and steady works for us. We take lessons, look back at notes and implement the new skills the best we can.

Ten hours a week is a good goal. Two hours a day. Then there are those days that we work for four hours straight and my son says, “Can we hold off on the History class today? Coding is the most addictive and fun thing I have ever done. Let’s keep coding.” Those are good days.  Onward we trek.

Detour - Debugging

March 14, 2014

After learning about linear gradients on Treehouse, which  blends two colors on a web page background, I decided to add it to my codemoms project.  Yet, when I tried to add the code, it only covered half my page and not the entire background.  What was I doing wrong?  I had to stop on my path to figure this out before I went any farther.  It was a detour worth experiencing.

I learned that there are sites that will check your code for errors.  This is very helpful since we are remote students with no teacher in the room to look at our work.  So I uploaded my html file to the W3C Markup Validator.  WC3 checked my code and informed me that I had more than one error (I won’t say how many).

Even though my web page was functional, I could see that the code was not really clean. The validator helped me go through my code, line by line, and understand my mistakes.  When I reloaded my html, it said I passed.  Yay!

The big lesson we learned today is that coding needs to be clean, lean and orderly.  I am so glad that we had this detour at an early stage of our trek, so we can build good work habits.  So, after cleaning up my markup and learning a lot, we’re ready to hit the trail.

Balancing Code with Life

April 3, 2014

When we saw a tower of rocks as we walked on our path, we were reminded to always stay balanced so we can keep our steady pace, and know that we have the endurance to make it up our mountain. We can do this if we keep our balance in Body, Mind and Spirit.

Body: Exercise, nutrition and adequate sleep.  These three components affect how we learn, what our mood is, what we remember, how we can work as a team, etc.

Mind: Knowledge, creation, wisdom.  There is so much to learn in this new world of technology that provides online classes and gives us a wide variety of resources to keep learning and expanding. Code, literature, history, art, social science, etc. - the possibilities are limitless.

Spirit: Meditation, breath work, nature, silence. Sometimes it is good to take time to center and just be still and in the moment.

We need to remember to stay balanced or it could set us off track.  For instance, if we eat poorly one day and don’t get enough sleep that night, our brains can be foggy the next and we can’t retain the lesson.  We might be too tired to work and rely on caffeine to pick us up, but then we get crabby with our team because our bodies are out of whack.  Something like this can slow our progress.

Balance. We placed a small stone at the top of the tower to remind ourselves and then continued on.

Never Ever Give Up

May 15, 2014

“It does not matter how slowly you go as long as you do not stop.” ~Confucius

This quote says it all.  We have been moving steadily up the path and we are making good progress. The terrain is hot and dry right now, but we are not turning back.  We continue to learn and practice code every day for two hours.  When we are not taking lessons, we are practicing, debugging, reviewing, or updating our spreadsheet of notes.  There is no easy path to learning code.  It just takes time.

The more we learn, the more we see how much more we need to learn.  Wrapping my head around the CSS concepts of: elements, attributes, pseudos, properties, classes, id’s, links, nesting, boxes, divs, structure, webkits, bugs, syntax errors, etc. – is a lot.  We have to just keep doing it until it becomes second nature.  I know we will get there.

Yet, even as we walk through this desert, we see beauty and promise.  We learn something new every day.   The pieces start to make sense.  It might take a while until we reach the next valley of trees, flowers and shade.  But we will not give up – ever.  When we get discouraged, we look at Our Tower of Code (which is slowly filling up with colored boxes) and it gives us motivation to keep on trekking.  

Code Path Gets a Trail Guide

June 18, 2014

Our code path to-date has been organic and self-driven.  However, since we are not in a ‘formal’ classroom setting, our journey can be a real adventure that takes us on various trails.  When we get lost, we need a map to find our way back to the path.

Our path sometimes branches off to a steep trail with challenging new concepts to learn.  Then there is the desert trail, when all the code terminology gets confusing.  At times, there will be a dead end or a detour, where we can’t get our code to display properly and we have to retrace our steps.

A couple of weeks ago, we found a great book for code beginners called, “Learn to Code HTML and CSS” by Shay Howe.  This book pairs nicely with our online Treehouse CSS class.  It covers the basics of HTML and CSS and reinforces what we have been already learning.

We have been going through the book and taking some time to practice our own code challenges on topics like: display properties, box models, floats, typography, images, lists, layouts, etc.  By going over the terminology and taking the time to practice, we are starting to feel like the pieces are coming together.  Best of all, Shay Howe makes his book available online, so you can read it as an open source at http://learn.shayhowe.com/html-css/.

So I guess you could say, we are on a "shady trail" right now, as we practice and review our knowledge in conjunction with our lessons at Treehouse.  Once we finish the book, we will be ready to proceed on to the next adventurous trail on our code path.

Reflection at the Midway Point

July 21, 2014

We are midway to our yearly goal of learning 500 hours of code. I stop on the trail and reflect on how far we’ve come. Even though we have learned a lot, we know that the mountaintop we seek is many miles ahead.  We won’t be there at 500 hours – not even close.  We know that there is no quick way up there – we just need to keep moving forward.  Already planning on our next 500 hours in 2015.

Here at this point, we are happy to have learned so much so far:  HTML, CSS, Javascript and Photoshop. Our goal is take our time and retain this knowledge.  After we watch the tutorials, we take notes and practice, practice, practice.  We even give each other code challenges.  And then we practice more.  One thing that is clear to me right now:  the more we learn, the more we see how much more there is to learn.

A good method we found is the Three Steps to Retention”  1. Learn it;   2. Do it;   3. Teach it.  We keep cycling through these steps and it really helps us absorb what we are learning.  Working as a team helps us stay motivated and productive.

Code Trail is Getting Steep

October 13, 2014

We have been moving slow and steady up our code path for nine months now.  The trail is going higher and deeper into the trees. We just started a new path of Javascript and are feeling the burn in our legs as the incline increases. But we are making great progress every day.

My Codemoms site has been updated several times as we keep learning new skills.  Some highlights of my lessons these last couple of months are:  I have learned that all code should be written as a mobile-first approach so handheld devices can easily navigate a site. I don't know how many times I find a site that is not coded in mobile-first and I lose interest because I just can't see it on my phone.

I also learned how to place a small sized background image on my website that wouldn't slow bandwidth and would still fill the page.  I picked a mountain path, of course.  We've learned about command line coding and Sass.  Finally, codemoms.org passed the W3C Markup Validator, which meant my code was clear of errors.  When I first scanned it, I had 21 errors. So to clean it up and pass was very exciting.

A lot of these things we have learned at Treehouse. If we get stuck on a problem, we can find answers at online support sites like Stack Overflow, CSS Tricks, and WC3. Sharing knowledge and open source is the key to helping us learn and stay on the path.

500 Hours of Code - Brick by Brick

Dec. 31, 2014

It feels good to see our Tower of Code filled all the way up.  500 hours!  That seems like a lot of hours, but it really just breaks down to working those two hours a day.  We created it the beginning of the year with paper grids, markers  and foam board.  It has been our visual reminder throughout the year to keep motivated and to stay on track.  And now that it is complete, we can be proud.

It’s been a great first year, but we’re really just starting.  There is so much more to learn.  Throughout this time, we have held the motto, “Never, ever give up.”  That’s what it really takes to learn code.  We have to keep trying until we ‘get it.’  I’m still working on learning Javascript. We want to keep learning until we ‘get it’ and then we can move on.

I heard one of the local football players commenting on his attitude about facing obstacles. He said, “You don’t set out to build a wall. Instead you say, I’m going to lay this brick as perfectly as a brick can be laid.  You do that every single day and soon you have a wall.”

This is a great metaphor for anyone facing a challenge.  Learning code is a challenge, but we are laying those bricks every day. Our path still has a long way to go.  The mountain is high and we keep moving forward. Next week, we will create another Tower of Code with another 500 hours. Let’s see where the path takes us. Brick by brick.

Progress, Not Perfection

May. 1, 2015

“Progress - Not Perfection” is a quote by Kathy Freston, a best selling author on the body/mind/spirit approach to health and wellness. This quote reminds us that even though we have a way to go before we become accomplished web developers, we don’t have to be stressed about being perfect right now.  What’s important is that we keep on our path and continue learning code -  brick-by-brick, hour-by-hour, two hours a day - until we reach the our goal.

Today, we take a breath on our code trail and and see the view of how far we’ve come along so far.  Since the launch of our code-learning journey in 2014, we have definitely made progress.  Last year at this time, we had just finished a course on HTML were then learning how to make background colors with CSS.  Now here we are, creating for-loops, objects and variables so we can duplicate the hour blocks to our “Mountain of Code Tower” with javascript.  We still have our foam board grid and colored pens, but this year we will also create a tower with code (HTML, CSS and Javascript).

We are deep in the woods of our code learning journey and are making progress daily.  I feel like Cheryl Strayed from the book Wild, I’ve gone too far to turn back and I look ahead and see the many miles we need to go.  At least I still have my boots!

We are not perfect, but that's okay.  We are getting some traction and have moved beyond the newbie stage of last year.  With Treehouse, Code Academy, and independent practice, we have delving into: frameworks, advanced CSS, HTML forms, Javascript, jQuery, responsive design, Sass, Console, Git basics, web optimization and more.  All these topics are like different puzzle pieces that we need to learn how put together.  We are starting to understand the different shapes of the puzzle.  Now it’s time start learning how to build something beautiful.

Follow Your Intuition. It Already Knows. . .

July. 2, 2015

A quote from Steve Jobs commencement speech at Stanford: “You can't connect the dots looking forward; you can only connect them looking backward. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.”

This quote really resonates with me because our future is an unknown. We don’t know where we will be in a year or two, but we do know that we both love to code. We are halfway through 2015 and taking stock. We are on track with our hours and continuing to learn - currently jQuery and more Javascript. We don’t really know yet where this code path will lead us, but we trust that “the dots will connect.”

One thing we know for sure is that we need to keep our momentum and passion alive as we move into the intermediate levels. Trusting our intuition is key. We are not afraid to pivot and switch trails when we explore a path that is not connecting with us or we are not ready for. And we have been discovering trails off the path by our natural curiosity.

Lately, we have been building small projects on our own as we practice and implement everything we’ve learned to date, We start each week off with our code challenge goals. A typical day for us these days goes like this:

“What cool thing can we build today? Let’s see if we can do what this site does. How did they do that? Let’s research that. Let’s try it. No, that didn’t work. Why not? Let’s try something else. No, that definitely did not work. OMG, I completely ruined my code! Let’s debug. Let’s check it out with Google Dev Tools. No wonder - it’s got a ‘fatal error,’ “

“Better back-track with some of our trusty resources (Treehouse, Code Academy, Code School, Github, jQuery documentation, W3C, and more). We need to rewatch that tutorial. Let’s try it again. And again. And again. We’re not moving on until we get this. Scratch that way, let’s try it this other way. OMG! it worked! That only took hours and days, but hey - we got it.”

Now we’ve got more of those dots to line up our path. We are doing what we love and the dots will eventually connect. “Let’s go that way. Do you think we can do that?” 

The Mountain of Code

Dec. 31, 2015

The Mountain of Code Visual Board for 2015 is complete, representing our end of year progress. Hour by hour, brick by brick.

With a good handle of HTML and CSS under our belt, we were able move into learning javascript, jQuery, Wordpress, PHP and web design.

Making A New Code Trail

June 1, 2016

My how time flies! We are still on the code path, and are looking out over a scenic view. It has been ten months since our last blog and a lot has happened.

2015 ended with another 500 hours of learning code. Our Mountain of Code visual board was filled up to the top. We spent the rest of the year creating mini practice projects and working with different jQuery plugins. We also continued our tutorials on Wordpress.

When January rolled in, we decided that year three would be our “Internship Year.” We were at a point where we were ready to utilize these skills and start building a portfolio. But before we started to delve into building a project, we decided to first do some research. What makes a website good?

We spent some time investigating numerous websites and developers. A few of the things we looked at (but not all) were: investigating the code through Google Developer Tools, doing speed checks to see how fast pages load, checking W3C code validation, was the site Wordpress or custom, was it responsive (surprisingly, there are many that are not), and was the design user friendly.

So this year, the interns have been truly learning by doing. We built a new visual board, called “The House of Code.” We have been working on our first project, an art site. It is custom with a Bootstrap framework, it has a jumbotron slider and a lightbox art gallery.