You've been sitting in class for three hours now and have had an earful of theory about “computer programming”. It seems that your teacher hasn't yet realised that he could have just left a tape of his voice droning through the room and done something more useful with his time. Just one analogy to compare programming to the real world! As your teacher answers another of his own questions in his monotone drone, you begin dozing off...
Waking up slowly – a situation that is familiar enough for you to wipe the drool from your desk before you even open your eyes – you look around to see if anyone noticed...phew, there's no one here to notice.
Wondering what exciting transmissions of information you missed, you open a browser and go to http://www.w3schools.com to find out what kind of introduction to programming they have on their site. Hey, this is quite useful, I wonder what other introductions to programming are around on the Internet...
Being the nice person that you are, and knowing that there's a 99% chance that no-one else learned any more than you did during the lesson, you decide to create your own "introduction to programming – a student perspective", with links to useful sites on the net where your study-buddies can find further information.
Using your newly found HTML/CSS skills, create a small site that can serve as a tutorial to others wanting to learn about Web Programming. Feel free to make digress and make your site as interesting and/or interactive as you can, but make sure that you touch-base with the following points (remember, always include links to your resources):
General programming principles 
- Why might we want to learn computer programming to design webpages... isn't HTML and CSS enough?
- How can you describe a "variable" to someone who hasn't done programming before?
- What are control structures and what are they good for?
Object-Oriented programming principles 
- What is Object Oriented programming in every-day terms?
- Describe the difference between an object's properties and an object's methods, using an visual example (a drawing, photo or diagram)!
- Referring back to your diagram, describe how the 'dot syntax' works (eg. window.alert() ) with examples from your own drawing of setting properties and using methods.
Web Programming languages 
Investigate 3 of the following languages, describing a bit about their history, popularity and what they're used for.
- ruby on rails
Feel free to choose other web-programming languages if you know of any others!
Remember to keep your post fun and easy to read - other people might learn a lot from your site too!
Examples of other student sites 
None of these links are currently active
- Adam's Introduction to Programming - Created June 2006 as a series of blog posts (which is why the sections are in reverse order).
- Brigitte's Introduction to programming - Created May 2006
- Rob's Introduction to Programming - Created May 2006
- Addye's Introduction to Programming - Created May 2006
HTML: What is HTML, Advanced HTML Tutorial, HTML Challenges, Lists and Tables, The Structure of HTML, Pen and Paper HTML activities
CSS: Learning Basic HTML and CSS, CSS challenges, Embedded CSS, Basic HTML and CSS Tutorial, Inline CSS, Develop cascading style sheets
PHP: Simple functions in PHP, Dynamic websites, PHP challenges, Dynamic websites with PHP, Generating a receipt with PHP, Responding to HTML forms with PHP,
XML: XML challenges
Databases: Creating Database Tables
Projects: A small website project, A step-by-step web design project, Build a basic web page, Build a small website
Activities: Web design group learning activities, Pen and Paper HTML activities, A Web Design Quiz show, Ordering Tasks for a Web Project, Paired Bio Pages, Scoping a Small Project, Emerging Technologies Research Activities
Project management: An introduction to Project Management, Developing a Client Project
Design: Accessibility, Design Principles for Web Design, Design Suggestions
Testing: Testing Website performance, Website Performance Test Plan
Publishing: Getting Your Site On the Web
Certification and standards: Cert IV Website Qualifications in Australia, Australian Qualifications, Web design qualifications
Professional development: Developing your online portfolio, Contribute to personal skill development and learning, Useful Applications, Useful Books, Emerging Technologies, Using the Internet as a Learning Tool
Course meta-information: Web Design, About the web design learning project, New Structure, Sample Timetable