learn2code lesson 1 - getting started

Welcome to my new project: learn2code!

In my 13ish years as a librarian I've met a lot of people who either wish they knew how to code or were somehow convinced they couldn't learn. The thing is, though, it's easier than ever before to learn programming, and there are more benefits than ever before in a librarian's professional life to know more about coding. Rather than spending any more time being frustrated about it, I figure maybe I should just help people learn.

The great thing is, now we have Processing. Processing is a programming environment created by artists and programmers to do programmable art. It's also fun, easy to get started with, and a really good way to get comfortable with the ideas behind and processes for writing code. I'm no expert in Processing, but I really enjoy using it, and I think you can too.

Everybody can learn to code, even if you're a complete beginner. Here's one way to get started.



learn2code - lesson 1 - getting started from Dan Chudnov on Vimeo.

A few quick notes:

  • I've never done video production before. There's a lot to learn! Sorry about the rough edges (especially the sound). I'll get better after more practice.
  • The first step is to download Processing. Get the right version for your computer, and install it. When you're done installing it, there should be a "Processing 0135" folder, and inside of that is the application "Processing 0135". That's what you run to get started!
  • In this lesson, you'll learn:

    1. How to write a program, run it, and stop it
    2. Setting up the display window and its grid with size()
    3. Drawing shapes with point(), line(), rect(), and ellipse()
    4. How to save your sketch code
    5. How to save your sketched image with save()
  • Save your sketch to a location you'll remember. That'll create a folder and a file inside that with a name ending with ".pde". This means "Processing code", and it's just a text file.

  • Then the filename you give to save() will be the name of the file that contains your image, which will be in the same directory as your .pde file.
  • The code for my self-portrait is attached to this post. You can try my code for yourself if you want.
  • My wife (a cataloger, and not a coder - yet!) watched this and then coded up her own face very quickly. It was totally different from and much better than mine!
  • Questions or comments? Leave them here, or on the video at vimeo.com.

Give it a try for yourself. Watch it all once, then try it on your own, or watch a little and try everything yourself as you go, or whatever works for you.

When you're done, upload the picture to a site so the rest of us can see it! If you use a public image sharing site, tag your photo with both "learn2code" and "learn2codel1" so we can filter it into a big stream of photos and admire each others' work. Here are tag links for flickr:

I hope you enjoy this, and remember, this is only the start! Much more to follow. If you get tired of waiting, I'd recommend you look around the processing.org site to learn more about the cool things other people are doing with Processing.

AttachmentSize
learn2codel1.pde186 bytes

Trackback URL for this post:

http://onebiglibrary.net/trackback/254

Nice. Sorta kinda reminds me

Nice. Sorta kinda reminds me of logo, the graphics-oriented programming language they used to teach to kids.

Yeah, it definitely fits a

Yeah, it definitely fits a similar role to Logo, but built on a contemporary platform (java) that's widely used and useful. And I'm hoping we can prove that it's a smoother stepping stone to doing practical work with code for a wide variety of people in a wide variety of contemporary languages, too.

Thanks for the comment!

congratulations!

fantastic tutorial!

thanks!

Great ! keep on with those super tutorials !

thanx , you are a very good and nice teacher , i loved to see the second, third and more advanced parts 8D

thanks for reading and

thanks for reading and watching, albagcorral and TweakingKnobs!

My summer project

Dan, this is fantastic! I've been looking for a project this summer to teach myself something valuable. For a long time I've been wanting to find a way to learn the basics of coding. I hope this will be as fun as programming in BASIC on an Apple II was for me when I was an adolescent in late 70s/early 80s.

I hope this works for you!

I hope this works for you! Oh, and, nice ant!

Should be called "Cooking

Should be called "Cooking with Dan"

You're right, it should.

You're right, it should.

Similar to...

I always wanted to try to get somebody to learn how to code from scratch with Hackety Hack. Maybe that's just my Ruby Uber Alles world view.

Thank you

Just wanted to thank you for taking the time to do this! I'm a librarian who would like to delve into coding, and this is the perfect way for me to start , as you go step by step :)

Great!

AWESOME tutorial Dan. It´s the lesson 2 coming soon? Pleeeease!! :D

Awesome

I've wanted to learn to code for a while, and have made a few botched starts. I would love to come on this journey with you.

Good luck.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <pre> <code> <img> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <form> <input> <span> <object> <embed> <br>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <apache>, <bash>, <css>, <diff>, <dot>, <java>, <javascript>, <mysql>, <perl>, <php>, <python>, <rails>, <ruby>, <sql>, <xml>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
2 + 0 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.
Syndicate content

This site is Copyright (c) 2005-2008 by Daniel Chudnov. All rights reserved.

All opinions stated here are my own, and do not reflect those of my employer.