Raven Baxter from the TV show That's So Raven showing appreciation

Oh Snap! I’m Solving Algorithms.

About 6 months ago I first took a look at some algorithms, and these puzzles reminded me of the math questions I saw on the S.A.T. years back. I was able to solve many of those S.A.T. questions, but this… this was a new beast. Looking at algorithms I felt like I was trying to solve the riddle of the Sphinx. Oh and not to mention Big O what? Data Structures who?

Now by no means am I solving the most difficult algorithms. Actually they’re the simplest of the simple. But I’m solving algorithms that I’ve never seen before, on the first try. This goes to reiterate the the idea of my last post that repetition is the key.

Constant practice on programming logic helped to me to have some understanding of how solutions need to be structured to many of these problems. And the funny thing is I wasn’t specifically focused on solving algorithms. I was focused on understanding the logic and building simple, little apps. Goes to show that building things has a way of covering everything else.

Love and Peace,

Danielle

React.js logo

React.js! Let’s Talk About It…

I first got familiar with the concepts of React.js about 5 months ago. I loved the idea of Single Page Apps and how reactive (pun totally intended) the page elements and application were to the user, without reloading the page. And to have a better understanding of React, I set aside some time to work with the DOM (Document Object Model) more, as well as JavaScript. And on top of that I worked on Data Structures, and vanilla JavaScript in the DOM  and boom. It’s like my understanding of DOM manipulation was “clicking” way more just by working with the DOM on a more complex level with React.

Plus having worked to really understand the concepts of using React, it seemed to make DOM manipulation much simpler than before when just working with the DOM without React.js. And at the same time, with a much better understanding of the DOM, my understanding of React has increased. I React.js and especially now that Facebook has changed it AND React Native to the MIT License, I’m really looking forward to creating amazing things with React 🙂

Love & Peace,

Danielle

Image of chalkboard with counting strikes grouped by fives

Repetition Is the Key

More specifically, repetition trying things yourself. It’s easy to get caught up in doing endless tutorials if your a beginner, but I’ve found that unless you’ve put away the book or video and tried to recreate what the tutorial did without the instructors guidance, then you may not really understand the logic behind many of the things that were done. This is how many people can go through a ton of tutorials yet still feel like they can’t program anything.

It’s probably because you never faced that blank text editor and tried to build something yourself. Many people get stuck here and don’t apply to jobs because they feel like they can’t program. Well if you really don’t want to just go for it, then the only way to solve that is to apply what you’ve learned yourself and get some repetition under your belt. Do what you would do at a job, yourself. Build things. Soon enough like John Sonmez formerly of Simple Programmer said, things will start to “click”. If you keep doing it, eventually you’ll start to just “get it”.

This goes along with a concept I read in the book Mastery by Robert Greene. It’s a great book I’ll do a review on. But essentially one of the points he made in it was that our brains are very nimble. We as humans adapt, learn, and re-wire very quickly. When we try to take shortcuts this goes against our nature. Time is our friend when learning new skills. When we expose our brains repetitiously to concepts, this allows our brain to make the connections and adapt. When we try to skip the hard part of doing it, it ends up taking longer to learn because we are working against how our brains work.

In other words, do it. Yourself.

Soon creativity will start to flow and you’ll come up with your own ideas of apps to make. Then build those applications. Start with simple ones. You’ll be amazed how quickly you learn.

Love and Peace,

Danielle

Image of the names of a lot of programming languages

Don’t Learn a Million Programming Languages

Learn one, and understand the logic. At least at first.

When I first started learning programming I used to think that learning the syntax of a couple programming languages was important. Namely JavaScript and PHP. But I came to find that I knew the syntax, but I still couldn’t program. I couldn’t make anything myself. I came to realize that learning syntax is the simple part.

In your first language build things yourself. Building applications yourself will cement the logic in your mind. Start with simple apps.

After you understand the basics of the logic in your first programming language, THEN learn another language if you really want to. Though I would recommend sticking with one for a while. Then you’re really more or less just learning the syntax of the language because you already understand the logic in most programming languages. That is if you picked a common language, not an obscure one that’s different from most.

I’ve also found that sticking to one or a few things is a great confidence boost when learning whole new concepts. It gives you a chance to gain some type of mastery over things and eventually, you start to see over the top of that learning curve.

Love & Peace,

Danielle

DeeDee of Dexters Laboratory typing

Better Typing, Better Programming

One thing that I don’t see mentioned much if at all, is improving your typing ability to improve as a programmer. When I first started learning programming I typed while looking at the keyboard. And with others quite often I would see those who tend to be beginners to programming, staring at the keyboard, pressing one key at a time. Everyone does have to start somewhere. But this really slows things down and puts a lot of stress on your neck. I’ve learned that it really speeds things up, and it’s much healthier to learn to type without having to look.

I’ve worked on my typing accuracy and speed a little bit everyday and I wouldn’t even recognize myself typing the way I used anymore. It’s definitely been instrumental in letting creativity flow and focusing on the programming, instead of where the next key is on the keyboard. A great tool to use that’s inexpensive and simple is Type Fu. As of the time of this writing it’s 9.99 USD on the Mac App Store (OS X) and 4.99 USD on the Chrome Web Store (Windows, OS X, Linux, Chrome OS). I am not affiliated with them but it has helped me tremendously. And there are also lots of free resources online.

And if you’re struggling with some of the things I mentioned, I encourage you to spend a little time everyday on your typing. It doesn’t have to be a big thing. Just 10-15 minutes a day can be very effective. But it will make things so much easier for you.

Love & Peace,

Danielle