Heya everyone, would you like to attend a class about the modern web and how to build pages and applications? Yes? Glad to hear it, because I'm teaching one! On May 14th, 2011 (that's a Saturday) I'll be giving a "Professional Development Seminar" for the Bay Area chapter of the ACM covering HTML, CSS, and JS. Here, let me just post the advertising copy I wrote a few minutes ago:
This class will be an end-to-end introduction to the web, starting from the basics of writing pages with HTML, CSS, and Javascript, going through good development practices, and ending with the most exciting modern features of each technology. The class is intended to take you through a wide variety of topics, rather than focusing on any individual topic in depth, so you'll understand all the elements of a web page and how to use them together to develop a site or application. Further reading materials to help you explore individual topics more thoroughly will be pointed out. As well, many of the new, hot topics in these technologies will be introduced with examples of how to use them to make your pages better.
Introduction
The first session will be a fast, light history lesson and overview of the web, and an introduction to the technologies we'll be exploring in later sessions. We'll go over how modern web technologies started, where they are today, and talk about where they're heading in the future.
HTML
In this session we'll dive deep into HTML, understanding the structure of a page, what semantic markup means and how much you should care about it, and how to engineer toward modern browsers while still accomodating older browsers. We'll also spend some time looking at new HTML5 elements like <video>
and <canvas>
and the ability to embed SVG, which let you pump up the power and interactivity of your page without bloating it with inaccessible plugins.
CSS
Here we'll explore the declarative world of CSS, the styling and layout language of the web. Topics will include structuring your markup in smart ways to make applying CSS easier, how to do page layout in modern CSS (with a glimpse of how much easier it will be in the near future!), and how to use progressive enhancement to use exciting new technologies like gradients and animations without hurting users of older browsers.
Javascript
The class will end with a look at modern Javascript, exposing the useful functional language buried underneath the cruft. You'll learn about the DOM which links HTML and JS, event-driven programming, prototypal inheritance, and feature-testing with libraries like Modernizr. We'll also explore some of the powerful functionality exposed by new Javascript APIs like Geolocation, the File API, and localStorage/IndexedDB.
If you're a ninja, you don't need to attend this class - I probably won't be covering anything that you don't already know. But if you're a relative newbie to web programming, or just feel that your knowledge is incomplete or could use a refresher, go sign up and attend! If you're already a member of the ACM chapter, the cost is $95; if you're not, it's either $120 straight, or $115 if you join the chapter ($95 + $20 signup fee).