Alan Cohen

Thoughts about learning how to code

Read this first

FreeCodeCamp – a great way to learn how to code

I love FreeCodeCamp. This site provides an intensive curriculum that teaches you how to code, allow you to earn certificates of completion, all free of charge. You can earn certificates for front end, data visualization, and back end development. Technologies learned are:

Front End Certification

  • HTML
  • CSS
  • JavaScript
  • JQuery, and
  • Bootstrap

You need to complete ten front end projects to earn this certification.

Data Visualization Certificate

  • Sass
  • React, and
  • D3

You need to build five React apps and 5 Data Visualization apps using D3 to earn this certification.

Back End Certification

  • Node.js
  • Express, and
  • MongoDB

You need to build five APIs and five full stack apps to earn this certification.

The course assumes that you are a beginner. Each lesson provides hands-on training and you cannot continue to the next lesson until you complete the current lesson. FreeCodeCamp is fun...

Continue reading →


It’s about creating and learning

I’ve been thinking about why I want to learn how to code. It’s about creating. I love to create whether writing blog posts, creating websites, or coding examples. I also find coding relaxing. Once I get an idea and start coding, I get in the zone and time just flies. It is a great feeling!

Using what I learn and applying it to a real application is important. It allows me to use my knowledge in a serious way. Instead of creating silly, little examples, I create something useful. To learn, I decided to create a to-do list. At first, my program was just a few print and input statements. When I learned about arrays, I used them for my to-do list. I created arrays for must do, important, and want to do tasks. I needed to save this information so I could access them each day. I learned about reading, writing, and appending to a file.

My to-do list program is a small application, but it is...

Continue reading →


Learning to code the free way

Learning to code is inexpensive. All you need is some initiative and time. There are many online resources from video classes to self-study materials. Both work well. I prefer the self-study materials because I learn better by reading as opposed to watching videos. I find that I also get better at debugging, determining why the coding examples are not doing what they are supposed to do. However, people learn differently. Choose the method that works best for you.

Cousera and edX provide excellent online classes. You can audit the classes and for a reasonable price, you can receive a certificate and class credit.

Free Code Camp is an interesting site. You learn and have the opportunity to do some good as you put your skills to work. In their words,

“Welcome to Free Code Camp. We’re an open source community that helps you learn to code, then practice, by building projects for...

Continue reading →


Scratch and Python

There are many reasons to have children learn the basics of coding. The goal is not to set the foundation for your child to become a programmer. If they want to, fine, but learning to code provides other benefits. It teaches logical thinking and problem solving, is creative, your child can build things, explore mathematical concepts, create games and art, and most importantly, have fun.

Drag and drop style programming languages are a popular coding paradigm for children to explore and learn how to code. The child drags and drops puzzle-like pieces that represent commands. The completed puzzle is the program. Scratch is one of these languages that is a free and fun to use. MIT developed this language.

image1.PNG

Scratch overview
Scratch teaches programming by telling stories. Your code instructs cartoon-like characters to do things, move around the screen, draw images (using Logo-like Turtle...

Continue reading →


Seven Languages in Seven Weeks

Seven Languages in Seven Weeks - A Pragmatic Guide to Learning Programming Languages by Bruce A. Tate, aims to provide the reader an introduction to seven programming languages.

7languages.JPG

They are:

  1. Ruby
  2. Io
  3. Prolog
  4. Scala
  5. Erlang
  6. Clojure, and
  7. Haskell

I’ve skimmed through the book and found that the exercises are relatively easy, especially for someone like me who is not a programmer, just someone curious about programming languages. I am interested in the linguistic aspects of programming languages, how the languages express the problem to solve, their syntaxes, and semantics. Seven Languages in Seven Weeks gives you insight into how these different languages express themselves.

My programming experience encompasses procedural or imperative programming and some object-oriented programming. Procedural programming consists of steps that define how to solve the problem. It is a set of...

Continue reading →


Reading code and %s %d

Today’s Learn Python the Hard Way lesson taught me an easy way to become more fluent with Python or any programming language. The lesson instructs you to type in a short program and then to write a comment for each line of code. The comments explain what each line does. I like this because you need to read each line of code and determine what it does.

Certainly, the lesson’s example was simple. However, reading code is an important skill. I’ve sat in some programming interviews when I worked at a startup. Many of the college grads brought examples of programs they wrote. However, they could not read a program we gave them and to tell us what the program did. Debugging was another concern. These are skills that I don’t believe CompSci teaches. I may be wrong. Please let me know.

Programming languages are specific. They can define a distinct character or group of characters to represent...

Continue reading →


Learning the hard way

I’m beginning my journey to learn the art of programming with Learn Python the Hard Way and Learn Ruby the Hard Way. I have some experience with these languages from playing around with them, thinking about an idea and then creating it by trial and error. However, I thought it would be useful to take a course. The Learn the Hard Way series comes with a free online book and videos which you can purchase for a reasonable fee. I’m using just the free online book since I learn better by reading and doing as opposed to watching videos and doing.

Why Learning the hard way? The author states that he uses this description because he tells you to do something and you learn that concept by typing in the example and running the program. You learn through exercises and repetition. It is not a glamorous approach. He doesn’t use animation, graphics, games, gamification, etc., but an old, traditional...

Continue reading →


Learning to code

I’ve decided to learn to code. When I was a college student, I majored in Music Theory. The musical notes and symbols fascinated me. While the sounds of music may be an international language, music is also a printed language.

As a technical writer, fonts, typefaces, page layout, and other typographical elements fascinate me. I’ve documented code and have written code examples for tutorials. My interest is the way different programming languages express logic, the grammar they use, and their readability. It is the linguistic aspects that interest me.

These interests have led me to learn how to code and to write about it. I am going to start by learning and comparing Python and Ruby. Some of my co-workers have said that I would make a good programmer. Maybe I will.

View →