Mission High School Career Fair

Computer Programming and Website Development Resources

February 2012
Matthew Denson
Lead Developer
Dayspring Technologies, Inc.
http://dayspring-tech.com
mdenson@dayspring-tech.com

The following links are for reference about the craft of programming and software development for various categories.

If you have never programmed before

These are links to programming systems, programming languages and tutorials to get a taste of the programming craft.

Software to Use to Begin Programming (And Free Too)

  1. Light Bot http://armorgames.com/play/2205/light-bot
    A game that introduces thinking used by programmers.
  2. Scratch http://scratch.mit.edu/
    A “no typing” programming introduction. Some tutorials.
  3. Small BASIC http://smallbasic.com/
    BASIC like I started with and used for a decade. But this is a modernized version.
  4. Processing http://processing.org/
    Another starter language that will grow with you for some things. This one will let you put your programs on an Android smartphone.

Stuff to Read

  1. Introduction to Programming
    http://www.deansdirectortutorials.com/Lingo/IntroductionToProgramming.pdf
  2. What Does a Programmer Do?
    http://www.wisegeek.com/what-does-a-computer-programmer-do.htm
  3. Obligatory Wikipedia article - Programmer
    http://en.wikipedia.org/wiki/Programmer

If you want to learn more

These are links to things that will help you develop more skills.

References and tools for building dynamic awesome web sites

  1. HTML http://diveintohtml5.info/
    HTML is what you use to build a web page. With it you indicate what is the title, what is a paragraph, what is a link to another page, etc. The link is to a great book about HTML 5.
  2. CSS http://www.w3.org/MarkUp/Guide/Style
    You use CSS to tell the browser how to display the different parts of the web page. Use bold text or italics, show the text as blue and on the right side of the page, etc. Using CSS you change you plain document into a slick brochure.
  3. Javascript http://eloquentjavascript.net/
    You use Javascript to make elements on the web page change or react to your mouse clicks or typing. You can make graphs and charts or make a game. Use Javascript to change your slick brochure into a user interface.
  4. PHP http://www.webmonkey.com/2010/02/php_tutorial_for_beginners/
    PHP is the easiest way to get your web site to save data for the next time or the next user. With PHP your game can now save your best score to brag to your friends. Using PHP you make your web page into an application.

Programming languages that I enjoy (and a link for each to get you started)

  1. Haskell http://learnyouahaskell.com/
    This is my latest language. I’ve been enjoying it. You could start here or come back to it later.
  2. LISP http://nostarch.com/lisp.htm
    This one you can’t get on-line. You can get it from the San Francisco Public Library online. Ask a librarian how to access Safari Technical Reference Books. You should do that anyway. There are tons of books on various programming languages.
  3. Scheme http://racket-lang.org/
    Very similar to LISP (but different). Used to be you would have to learn scheme in your undergraduate CS courses. The text would probably be SICP http://mitpress.mit.edu/sicp/.
  4. Javascript http://eloquentjavascript.net/
    This is a language I use everyday without fail.
  5. SQL http://www.sqlcourse.com/index.html
    Some people would probably scratch their head at why I put this here. It isn’t a “programming language” maybe, but the more I use it the more amazing it is to me. This is another one I use every day.
  6. Python http://www.manning.com/sande/
    Not a free book but there is a sample chapter and I believe it is also in the SFPL online Safari collection.
  7. Go http://golang.org/
    This is a new language. Be on the cutting edge of programming. I have only dabbled in it.

Sites that have problems to solve (use your favorite language)

  1. Programming Praxis http://programmingpraxis.com/
    Some of these are pretty tough, but many of them will only take a couple hours and really will improve your programming chops. Plus you may be asked one on a job interview.
  2. Project Euler http://projecteuler.net/
    These are math related problems. I have done quite a number of these. They get progressively harder probably, but you will find that what you learn on one helps with the next.

If you want to make real lights flash and motors turn

  1. Arduino http://arduino.cc/
    You can get one of these at Radio Shack now.
  2. Netduino http://netduino.com/
    A competitor with the Arduino.
  3. LEGO Mindstorm http://mindstorms.lego.com/en-us/Default.aspx
    Pricey but very cool.