Variables
One of the classes I teach is a freshman introduction to object oriented programming. I teach it using AS 3 and Flex Builder. Unfortunately, there are no textbooks that teach object oriented programming to brand new programmers in AS 3. So I write a series of handouts.
In the degree program, Web Design & Interactive Media, all students learn the core concepts and skills of web design, web development, information architecture, and usability during their first four semesters. Hopefully by that point, they have figured out where their interests and talents lie and they take the appropriate advanced electives during their last four semesters. What this means for my intro to oop class is that I have a mix of students who have some programming experience and want to focus on development and students who have never written code (with WYSIWYG editors, many have never even written HTML or CSS) and have absolutely no interest in development. It can be a challenge to say the least.
The mix of students means that the handouts have to be written at a level that new programmers will understand. This is not a computer science degree so they also don't contain many of the actual details of how programming/computers work (pointers, stacks, etc.). And certain things have to stressed more than others for a population who has grown up IMing, texting, and Facebooking (is that even a word?) where "close enough" is good enough when it comes to spelling, grammar, and punctuation. Many students really struggle with the fact that every character they type matters and there are certain rules they just have to follow.
I'm posting the first handout I give on an introduction to variables. I know many of you are well beyond this basic introduction. But maybe some could use a refresher. A few of the emails I've received lead me to believe that a few readers are brand new to oop. So, I'm going to try to balance the RIA development material with an intro/review of oop concepts. If this mix doesn't work, just let me know. Otherwise, happy coding!
Getting Back to It
Since my last post, life has been full of unexpected opportunities and challenges. They’ve left me with very little time to work on the application I planned to write about here.
Now, the time has finally come to get back to work on this app. This semester I’ll be co-teaching an advanced rich internet application development class and using this application as a teaching example. Students in the class will be working in development teams of three: designer, developer, and project manager. Each team will design, build, and release an RIA by the end of the semester. Each student will be required to be either the designer or the developer for a team and will also have the opportunity to serve as project manager for another team. My colleague Chris MacDonald will be working with the designers in Flash Catalyst. I will be working with the development students in Flash Builder. Together we will be talking about project management, version management, client relations, etc. while working together on sample applications. Its going to be a lot of work, but I’m looking forward to it.
Part of the preparation I have been doing for this class has focused on improving my (somewhat non-existent) design skills. Through years of teaching, I have developed a decent eye for critique, but I need to improve my ability to create or tweak a design. So, I started by rereading Robin Williams Non-Designer’s Design & Type Books. Then I stumbled upon what quickly became my new favorite design resource: Jason Cranford Teague’s Fluid Web Typography. This is a brand new (2010) publication from New Riders that covers web typography and design principles and a variety of current and new techniques for implementing your designs. Thanks to Dale Cruse, I have also been using (OK, just playing so far) Think Ink:Color Unleashed on my iPhone. I forsee someday using this nifty app to create a color palette for my website from the paint job on my race car. I still have a long way to go, but at least I’m one step closer to no longer using the default styles when I build a UI in Flex/Flash Builder.
Classes start next week. Building applications, co-teaching for the first time, and using beta software in the classroom should provide plenty of interesting posts.
Coffee-Stained Resources
I'm frequently asked to recommend resources. Some of the most helpful online resources are blogs. I've included all the ones I subscribe to in my blogroll. Other online resources I use include the Adobe Flex Cookbook, the Adobe Developer Connection and lynda.com.
I also like to have a good book or two within reach when I'm working. I know that makes me old school to some but I like the tangible experience of highlighting text, jotting notes in the margins, "dog-earing" pages, and having multiple books open on my desk to compare explanations, sample code, etc. And I can spill coffee on a book without doing any serious damage.
Here are the books I tend to reach for while building a database driven RIA. Many of these books are also required or recommended reading for my classes. This is by no means an exhaustive list or a list of the "best" books. Its simply a list of books you are likely to find me using while I work.
- Professional Adobe Flex 3 (Wrox Programmer to Programmer) by Joseph Balderson
- Flex 3 Bible by David Gassner
- Essential ActionScript 3.0 (Essential) by Colin Moock
- ActionScript 3.0 Bible by Roger Braunstein
- Head First Object-Oriented Analysis and Design by Brett D. McLaughlin
- Head First Software Development by Dan Pilone
- Head First Design Patterns by Elisabeth Freeman
- ActionScript 3.0 Design Patterns: Object Oriented Programming Techniques (Adobe Developer Library) by William Sanders
- Advanced ActionScript 3 with Design Patterns by Joey Lott
- Object-Oriented Design and Patterns by Cay S. Horstmann
- Head First PHP & MySQL by Lynn Beighley
- Beginning Database Design (Wrox Beginning Guides) by Gavin Powell
- Learning MySQL by Seyed M.M. (Saied) Tahaghoghi
- Beginning PHP and MySQL 5: From Novice to Professional, Second Edition (Beginning from Novice to Professional) by W. Jason Gilmore
What do you use?


