The Web Explorations Bookshelf

People are often asking me for book recommendations. Here is a list of my favorites that I have on my own bookshelf. I've listed them by category.

Note: I've also used one of my tutorials from Programming Fundamentals (COMP1130) to build automatically build the Table of Contents using the DOM and JavaScript.

ASP.NET

ASP.NET 3.5: IN C# and VB (Programmer to Programmer), by Imar Spaanjaars
WROX, ISBN 9780470187593, 2003

This is the text I am using for my Fall 2009 Web Programming Course. It covers the basic set up using ASP.NET using Visual Studio 2008 Professional as well as Visual Studio Experss.

There's a very good section on using SQL as well as the wide variety of data controls that are available when you program with ASP.NET.

Although the course focuses on using VB.NET as the base language, the book comes with examples in both VB.NET and C#.

 

ASP.NET Data Web Controls, by Stephen Walther
SAMS, ISBN 0-672-32501-2, 2003

This book is an excellent addition to Stephen Walther's book, ASP.NET. In this book he goes into much more detail on how to use the DataGrid and repeater controls.

I've discovered that the Microsoft interface for Visual Studio changes with every new version. In this book Walther's presents solutions as code examples. I've used the examples in this book with several versions of Visual Studio, Matrix, and Web Developer Express without a problem. Once you get away from the click and drag interfaces and the automated wizards, you'll find that the code is all the same, making this book an excellent long-term investment.

CMS - Drupal

Using Drupal, by Angela Byron, Addison Berry, et al.
O'Reilly, ISBN 978-0-596-51580-5<

If you plan to use Drupal as a content management system (CMS) than this is the book for you. Written by the Lullabot team (known as the best in Drupal development and consulting) this books is an excellent starting guide and reference to the world of Drupal.

Each section explains the concepts and terms and then has a practical case study showing how to utilize key modules using real-world examples. The writing is clear and concise and the highlighted "traps" alone are worth the price of this book.

This book and the Acquia version of Drupal (with all the key modules already installed) is an excellent combination for building collaborative web sites.

CSS - Cascading Style Sheets

Eric Meyer On CSS and More Eric Meyer On CSS by Eric A. Meyer
New Riders, ISBN 0-7357-1425-8, 2004

Eric Meyer is considered one of the guru's of CSS. These two books have been very instrumental in helping people move from tables into the more modern design concepts offered by CSS.

This book is very project based. If you need to write and understand a CSS menu, a photo collection, a financial report, or setting up a blog design, than this is the book for you.

He also includes a chapter showing how to design for the CSS Zen Garden , which is shows what can be done with CSS.

This is a great book that will gently guide you into CSS and show you best practices at the same time. Spend your time with this book and the web journal A List Apart and you'll have enough CSS ideas for any project that comes your way.



transcending CSS, The fine art of web design by Andy Clarke
New Riders, ISBN: 0-321-41097-1, 2007

One of my students, Matt Stanton, showed me this book after the Holidays. He had received it as a Christmas present and was very excited about it.

Andy Clarke is an English web designer who is an invited expert to the W3C's CSS Working Group. He has written a very intriguing book that discusses the use of CSS from a designer point of view. The book is a delight to read. It is filled with lots of images, and unlike most technical books incorporates strong design elements on every page.

Andy breaks the topic into four areas: Discovery, Process, Inspiration, and Transcendence. Much of the work focuses on using a grid layout much like newspapers and magazines do. The "transcendence" is using the grid to make dynamically active pages that are fun to look at and relay LOTS of information.

This book would be a great addition to any library that is filled with code-intensive CSS books. It's like adding color to a boring black and white photograph, or striking photo to a dense page of text.



Flash & Flex

Macromedia Flash Professional 8 Hands-On Training by James Gonzalez
PeachPit Press, ISBN 0321293886, 2006

This is the text I use for my Flash - Independent Study course. It offers hands-on training using an easy-to-follow format.


Essential ActionScript 3.0 by Colin Moock
O'Reilly, ISBN 978-0-596-52694-8

If you are working with Flash or Flex programming you will want a copy of this book as a reference. I have tape flags marking the section on E4X, data types, XML, and animation.

The index is excellent and allows you to find things quickly. Many times I've simply typed in the sample code because it is almost exactly what I am looking for.


Flex Solutions, Essential Techniques for Flex 3 Developers by Marco Casario
Apress, ISBN 978-1-59059-876-4

Flex can be a bit overwhelming when you are first learning it. It uses both MXML code (a special Adobe version of XML) and ActionScript 3.0. Often the MXML code just isn't powerful enough and you need to know how to do the same thing in ActionScript.

I first discovered Marco Casario out on the Web as I was looking for some solutions. He teaches Flex seminars around the world and has several sample chapters and demonstration videos that I found very helpful. Now that I have the book I can pull together a Flex project quickly.

I also use the "Expert Tips" section to expand what I already have learned on a topic.


ActionScript 3.0 Game Programming University by Gary Rosenzweig
QUE, ISBN 978-0-7897-3702-1

If you want to be a game programmer, or need to learn basic programming techniques in the Flash environment, than this is a fun book to learn from.

Gary works quickly, showing you many basic techniques used by Flash programmers in the first two chapters. After that, each chapter is dedicated to a different game including matching, word search, action games, and game worlds.

Along the way you'll end up with some great games that you can expand on as well as an excellent knowledge of ActionScript 3.0 and the Flash environment.

I use this book as part of the TechNow Summer programming Institute.


 

Graphic Design

How to Cheat in Photoshop CS3 (4th edition) by Steve Caplin
Focal Press, ISBN:978-0240520629

This is a great book if you are doing any work in Photoshop. It is filled with great effects you can use to create some really great graphics. Each effect is shown step-by-step with shortcut keys for both the PC and the Mac.

I've used this book to create cellophane "tape", make a photo look like a bedraggled poster hanging on a wall, and making photos look old and curled.

If you have an older version of PhotoShop Steve has books for those as well.


The Non-Designers Design Book by Robin Williams
Peachpit Press, ISBN: 0321193857, 2003

One of my students, John Hinnenthal, brought this little book to my Web Programming I class one day. This is a wonderful book. It's one of those books that you'll never stop reading. Every time I open it up I get a new idea for a layout or page design. And each time I find new things and ideas.

The basic concepts of design are wonderfully presented and Robin's little quick quizzes help jumpstart you out of "just-looking-at-the-pictures" mode and into "designer" mode. It's like a coloring book. You just have to fill in the spaces, you can't just look at it.

A little book that packs a lot of wallop.

This is used in a lot of college courses so there are lots of used copies. Buy this one used. You can't afford not to have a copy.



HTML/XHTML

HTML for the World Wide Web - 6th Edition by Elizabeth Castro
PeachPit Press, ISBN 0321430840, 2006

This is an excellent reference for web development work. I use mine all the time. It covers XHTML as well as CSS in a quick, easy-to-find informative format. Now in its sixth edition, this book has become a classic. The web master at South Central College noticed my copy of Castro one day and told me that this was his first HTML book and that he is still using it as a reference today (although he did confess he has a newer edition.)

Elizabeth Castro uses one column for facts and one column to display the results and long explanations. This is one of those type-in-the-code-and-noodle-around type of books.

I use the appendixes to look up tags and CSS attributes almost on a daily basis. And anytime I need a color I just grab my Castro and flip open the color chart folded inside the back cover.

Cover for Secrets of a Web Developer

Secrets of a Web Developer by Peter Johnson
LuLu Press, 2009

This is a collection of all the tutorials from my Web Development Course.

It includes information on the Internet and the Web, using XHTML and CSS. You'll also learn about SEO (Search Engine Optimization) and get a basic introduction to JavaScript.

This book has over 300 pages and is spiral bound so it will lay flat as you work through the tutorials. It contains many links to online videos.


Adobe DreamWeaver CS3 - Comprehensive Concepts and Techniques, by Shelly, Cashman, Wells, Freund
Thomson Course Technology, ISBN 978-1-4239-1242-2

This is the text I use for the DreamWeaver sections of my Web I course . Like all Shelly Cashman textbooks, this book designed to help you learn using proven techniques from the cognitive sciences. First they describe a concept. Then, they take you through an example, step-by-step. Finally, you can apply what you've learned by doing the case studies. Companion files for the book are available as a free download and include all the graphics and content used for the hands-on demonstrations.

The only down-side of this text is its strong reliance on using tables for page layout instead of CSS.

The book is laid out very well and is a delight to the eyes. The projects presented in the text also demonstrate very good page design.



Java

HeadFirst Java, 2nd Edition by Kathy Sierra & Bert Bates
O'Reilly Media, ISBN 0596009208, 2005

Most books are the same. Step-by-step the text plods through from simple to difficult. blah, blah, blah... Nice for reference but not inspiring.

The Head First series breaks the rules. Using cognitive science it presents the material but in a fun and challenging way. The examples take subjects such as objects/classes and inheritance and makes them fun and easy to understand.

Kathy Sierra and Bert Bates are the founders of Java Ranch , a wonderful forum where Java greenhorns and experts work together. The same spirit of adventure and fun that you will find at Java Ranch is found throughout this book.

I own this book and have used many of Kathy's and Bert's examples as the basis for my Java labs.



Introduction to Java Programming - Comprehensive Version, 7th Edition, by Y. D. Laing
Pearson/Prentice Hall, ISBN: 978-0136012672, 2008

I've used this as the textbook for my Java II course for several semesters. It is very complete and covers valuable topics such as Swing, JSP and Servlets, JDBC, internationalization, and data structures. This book is an excellent reference after the course is complete and I refer to it often when I'm writing Java code.

Dr. Laing has also set up some excellent quiz pages on line for each chapter. Instead of just reading the text I recommend that you go through the quiz questions, putting the code in a small Java program and looking at that section of the book as you figure out the quiz question. It's more like doing puzzles than reading a book and you will learn LOTS!


Java Programming - From Problem Analysis to Program Design, 3rd Edition by D.S. Malik
Thomson Course Technology, ISBN 978-1423901358, 2007

This is the text I use for my Java I course . Each semester the people taking my course give universal praise for the book, saying it is easy to read and understand. There are lots of code examples that clearly show the concepts being presented.

This text covers the new features of Java 6.0. It is a great tool for learning the basics of the language as quickly and easily as possible



JavaScript

Beginning JavaScript, 3rd Edition, by Paul Wilton
WROX, ISBN 978-0-470-05151-1

This is the text I use in my Programming Fundamentals course. It presents all of the essentials needed to learn JavaScript in an easy-to-understand format. This is a great book to learn from as well as an excellent reference that you will use often in the future.



DOM Scripting by Jeremy Keith
friendsof, ISBN: 1-59059-533-5, 2005

Jeremy Keith has presented at several conferences. I use his podcasts of these presentations in my courses. You can find them here on his blog http://www.domscripting.com/blog

Jeremy's book changed how I program JavaScript as well as my approach to the DOM. He writes with an easy narrative and his examples and explanations are very clear.

He is a strong proponent of writing web pages that will degrade gracefully if JavaScript or the DOM is not available. This is an important skill to have in today's competitive web development world.

This book also shows how to separate the JavaScript code from your XHTML content, much as we have learned to separate styles using CSS.

I own this book and refer to it often.



ppk on JavaScript By Peter-Paul Koch
New Riders, ISBN: 978-0-321-42330-6, 2007

Peter-Paul Koch is a web designer from Holland and the creator of the popular website QuirksMode You can check out his writing style on his blogs.

I've used many of his examples as part of my class labs. They are very well presented and easy to follow. Here's an excerpt from the book with examples on textarea maxlength, useable forms, form validation, and other really excellent techniques.

 


Miscellaneous

My Job Went To India by Chad Fowler
Pragmatic Bookshelf, ISBN: 0-9766940-1-8, 2005

It just so happens that programmers from India are buying this book. Why? Because they are losing their jobs to China...

This book has 52 ways to save your job as well as position yourself better in today's global market.

Each chapter is short (1-3 pages) and ends with specific action items you can take which will make your career. That's an action item for each week of the year.

Chad writes from experience in a down-to-earth manner. Use this as a instruction manual for positioning yourself where you want to be in the job market.

 



The Art of Changing the Brain by James Zull
Stylus Publishing, ISBN: 1-57922-054-1, 2002

Reading this book is like reading the instruction set for your brain. It is a fascinating book about how we learn. It is written for teachers, but anyone interested in learning how to learn will really enjoy this book.

Zull takes his biology background as well as his teaching experiences and shows how actual learning takes place. And, believe me, it isn't sitting for hours listening to a lecture. It's all about participating in what is going on around you.

He literally uses the techniques he is describing as he unfolds each chapter, taking you deeper and deeper into the brain. You can't help but learn as he unfolds the mysteries.



Learning to Program with Alice, by Wanda Dann, Stephen Cooper, and Randy Pausch
Pearson/Prentice Hall, ISBN 0-13-187289-3, 2006

Alice is a fun way to learn about programming fundamentals, and this is a great guide into this 3-D World of animated objects and characters.

I use this book during the TechNow Summer Programming Camp as well as for the first half of my Programming Fundamentals course. There are lots of excellent screen shots and the text has many interesting things to do. You will hardly know you are learning along the way.

A copy of the Alice programming environment comes with the book or you can download it from alice.org . This is a free, open-source language from Carnige Mellon University.



Emergence, by Steven Johnson
Scribner, ISBN 0-684-86875-X, 2001

The final lecture for my Web III (XML) course is always my favorite. Not because it is the last lecture, but because I get to re-read one of my favorite books: Emergence by Steven Johnson.

This book tells a fascinating story describing how systems like the Web can develop without a central planner. Johnson, a writer for Wired magazine, spins an interesting tale of slime mold, harvester ants, SlashDot.org and the SIMS. This is a fascinating book that will give you an excellent background on how the Web is evolving, giving you insight into the future.

In my last lecture I show how XML is becoming the main communication link to our world and the Semantic Web concepts of Tim Berners-Lee. The Semantic or "smart" web will take us forward beyond the current web in much the same power that we moved from printed materials to web communications in the 1990's.


PHP & MySQL

Beginning PHP5 by Dave Mercer, Allan Kent, et al
WROX, ISBN: 978-0764557835

This is the textbook I've choosen for my Web Programming course.

This is an excellent book for learning PHP as well as as a reference. WROX books almost always have excellent explanations and very good example code.

The book covers all the basics of PHP as well as more advanced subjects such as:

-- Use of XML
-- Using MySQL as a database engine
-- Object oriented programming using PHP
-- PEAR (a database library that has become a programming standard)
-- Using PHP to handle email automation.



SQL

The Programmer's Guide to SQL, by Christian Darie and Karli Watson
Apress, ISBN 1-59059-218-2, 2003

This is an excellent reference book that I use everytime I start writing SQL statements. It includes examples for Access, SQL Server, DB2, MySQL, and Oracle highlighting nuances for each of these databases when they handle things differently. For example, the trick of using # signs around date fields in Access: STR(#2003-01-01#)

This book will give you a quick reference to the many forms of JOIN as well as how to set up stored procedures using variables, triggers, and pattern matching when using SELECT statements.

Tools

Getting Things Done, by David Allen
Penquin Books, ISBN 0-14-200028-0

"It's possible for a person to have an overwhelming number of things to do and still function productively with a clear head and a postive sense of relaxed control." - David Allan

I've tried many systems, trying to be more efficient. David Allen uses the skills we all have and applies them so they work. Along the way he points out why to-do lists only lasted a few days until I got discouraged with them and why a calendar system alone doesn't do the trick in today's world. This book is based on years of practical experience training very busy people who need to get things done.

Although David Allen doesn't promote any particular software, I've been using the open-source program named Chandler which was designed using the Getting Things Done concepts. This book is an excellent how-to manual for the Chandler program.

This book will help you:
(1) Overcome feelings of confusion, anxiety, and being overwhelmed
(2) Plan and unstick projects
(3) Reassess goals and stay focused in changing situations

 

Visual Basic .NET

Starting Out with Visual Basic 2008, 4th edition, by Tony Gaddis and Kip Irvine
Addison Wesley, ISBN 978-0-321-53135-3, 208

This is the text I use in my VB.NET course. Although a bit on the pricey side ($80) it is very complete and has excellent code examples. This is an excellent text for anyone wanting to learn Visual Basic quickly and easily.

Visual Basic.NET - Primer Plus, by Jack Purdum
SAMS, ISBN 0-6723-2485-7, 2003

This is a less expensive book that I used in previous years as part of my VB.NET course . It covers all the essential elements of the VB.NET language in a direct, no-frills manner. Jack Purdum's writing style is easy-to-read and doesn't get bogged down in details.

This book has an excellent index and is not only a good learning tool, but will serve as an excellent reference text as well.



XML

Beginning XML, 3rd Edition, by Hunter, Watt, Rafter
WROX, ISBN 0-7645-7077-3, 2004

This is an excellent reference book for XML. I first used this text for the XML course as part of my Master's degree. The material is presented smoothly and with very good examples. There's no extra clutter.

I especially like the chapter on XSLT and SOAP. XML introduces many technologies and requires a lot of tools. I really appreciated the fact that this text uses all open-source tools such as RelaxNG, the XMLDistilled Editor and the Topologi Schematron Validator.

I use this as my textbook for my Web Programming III (XML) course.


I also have the WROX Professional XML, 2nd Edition. But, I prefer the Beginning XML as a great overall reference to anything XML. It is often said that the more authors a book has the lower the quality. This is certainly true between WROX's Beginning XML (5 authors) and WROX's Professional XML (13 authors).

If you want an good overall reference book for your XML work, than this is the one to have on your bookshelf.