Education ∪ Math ∪ Technology

Day: October 25, 2013 (page 1 of 1)

Getting started with programming JavaScript

JavaScript is one of the primary web programming languages. It is the language used in Google Apps Scripting, and in HTML5 interactive documents. Chances are pretty good that most of the interactive features that you see in websites were coded in JavaScript.

Much of the power of JavaScript comes from its power to manipulate and modify HTML, which is the markup language that websites are written in. Therefore, if you want to learn JavaScript, you will sooner or later need to learn HTML (and CSS) as well.

You will want these things to get started:

  1. At least one web browser. This will be where you run your code. I recommend using Firefox with the extension Firebug installed. Firebug is incredibly useful for finding bugs in your code, and for debugging. Google Chrome is also useful for some simple debugging as well. Note: JavaScript does not always run the same in every browser, so one reason to have multiple browsers is to test that the code you write works in all of them.
  2. A good text editor. I recommend Programmer’s Notepad for a PC, and TextWrangler for Mac, both of which are free.
  3. A language reference. I personally like Mozilla’s reference here
  4. Some understanding of how web technologies work. This reference guide, again by Mozilla, is useful.
  5. A folder on your computer dedicated to your projects. It is a good idea to be organized from the beginning.
  6. Blocks of time in your schedule to spend working on programming. Programming is something that will take concentration and focus, and is hard to learn in 10 minute intervals.
  7. I also recommend buying a reference/tutorial book. I found JavaScript for Dummies helpful as a starting place, for example.
  8. A JavaScript library that professionals use (I recommend jQuery). This will allow you to create more interesting projects, while at the same time helping you develop an understanding of JavaScript ideas.
  9. An understanding of the design cycle is useful.

Once you have the things above, my recommendation is try to duplicate someone else’s project. This will help you ensure that you have your development process set up correctly on your computer. Your JavaScript files are loaded by the HTML page you create, and so end up linked in it. Here is a sample template you can use for your JavaScript development. There are a lot of ideas that will want to unpack if you use this template.

Simple HTML template

My workflow for programming in JavaScript is to have the text files I am editing open in one program, and the output open in a browser. When I make changes to my code, and want to see the output, I simply save the changes, and then refresh the page that has my JavaScript in it.

In a future post, I will share a screen-cast of starting my own JavaScript project, and talk through the creation of this project.

So you want to learn to program…

When I was 8, my father gave me my first computer. There were two things I could do on this computer; program or write. I found programming to be much more interesting! So with a little bit of support from my father, and a copy of the Wang BASIC reference manual, I began the long process of teaching myself how to program.

Here is basically what you need to learn how to program:

  1. A goal. Decide on what you want to make. You may find that you can’t make it, but there will probably be some small part of it you can get started on.
  2. You need resources to help with syntax and structure. This could be a good book, or a website, a class, or any combination of the above. I tried programming classes a couple of times and found them pretty boring, but this likely does not apply to every programming class. There are lots of interesting books on learning how to program in a variety of languages.
  3. The patience to struggle, especially in the beginning. When you are first getting started, programming is like non-stop problem solving. It is challenging! 
  4. Time. Learning to program, and to do it well, is not something you pick up in an afternoon.

If this is something you are interested in, you can join a new section of the Edtech community on Google+. This is basically intended to be a peer support group, along with (hopefully) some mentors to help people get started, and to help people when they get stuck. While I cannot promise that joining this group will guarantee that you will learn how to program, I think it will help. Just be willing to lurk, and if needed, ask questions in the “Learn to Program” discussion forum of the group.

P.S. If you know anything about programming and are willing to help out, please join the group and introduce yourself in the section called “Learn to Program.” At the very least, feel free to offer suggestions for starting places for teachers.

We are homeschooling our son

My wife and I decided a couple of weeks ago to withdraw our son from our local community school and homeschool him. We realized that the constraints on the school, and the choices made at the school were going to prevent him from getting the exercise, play, and intellectual stimulation he needs to remain healthy in body and mind.

We were required to send a letter to the superintendent of the school district as the first step of our legal requirements in NY state in order to homeschool our son. Here is a copy of that letter (I have edited out the portions that identified which school and which teacher he had).

Dear [Name Withheld],

We are sending this letter of intent as required of Section 100.10 of the Regulations of the New York State Commissioner of Education. We intend to homeschool our son, who is in grade two, for the remainder of the 2013-2014 school year beginning immediately. We would like explain to you why we are making this decision.

We moved here recently from Vancouver, British Columbia, where our son attended a public Montessori school. In this school, our son learned self-regulation, and as such had tremendous control over what he learned, and when he learned it. The school day started with Tai Chi, and our son had a morning recess, a lunch recess, and physical education every day. It was never difficult to get him to school, as he loved going to school.

This is not the situation this year. We are finding it much more difficult to motivate our son to wake up and get ready for school. Instead of telling us how much fun he had and how much he learned at school, we have to struggle to pull out of him what happened each day at school.

This is not because of our son’s current teacher. She is a caring, hard-working, and thoughtful person. We have no complaint with her character or her ability to teach.

We are concerned about the prescribed teaching method our teacher has been asked to use, specifically the excessive test preparation. We could easily offer this type of education ourselves after a trip to the local education supply shop. What then is the benefit of sending him to school? What the children need is to interact with each other and have at least some time to make their own discoveries which requires independent time and exploratory activities within the classroom.

Our son’s school does not offer a morning recess. At lunch time, unless they are participating in one of the supervised events occasionally run by staff, the children at my son’s school cannot run around. My son only has physical education once a week during which he has so far learned how to walk around a gym. Fortunately my son does have one dance class and one art class each week, but overall, he does not receive sufficient physical activity through school to keep him healthy and to help him focus.

We believe that children need these essential elements in order to become healthy adults; creativity, play, intellectual stimulation, exercise, and opportunities to collaborate with and learn from their peers. None of these elements is present in at my son’s current school in a sufficient degree. We can see that the school is fighting a losing battle to maintain some physical activity and art, and from the research we have done, these are often lacking in many of the public schools in New York City.

My son recently told us that his current school is the “No fun school” but that he is “learning to adjust to it”. Our fear is that in an effort to make school more academically rigorous, many of the things that make school worth attending are being removed.

The definition of rigorous, according to the Merriam-Webster dictionary, is:

  • very strict and demanding

  • done carefully and with a lot of attention to detail

  • difficult to endure because of extreme conditions

With the exception of the attention to detail, we do not believe that these things should be applied to school, particularly not school for children ages 5 to 11. Our son’s current school is teaching children that learning is a chore to be done, and not something to enjoy and to love.

We understand that relatively recent legislation in New York State, where teachers and principals are judged based largely on the test scores of their students, is to blame for this situation. This legislation seems like a gigantic experiment that lacks sufficient evidence to justify such a punitive policy and we see no reason to experiment with our son’s education in this way.

Instead of allowing our son’s school to drain the love of learning from our son, we are removing him from your school’s care.

Sincerely,

David Wees
Vasilia Wees