Textbooks and Materials for CISC474, Spring 2006

Short List

Required Textbooks

Not required, but very useful to have

Details

Required Textbooks

Cover of Sebesta Text 3rd Edition

Programming the World Wide Web, 3rd Edition
Robert W. Sebesta, University of Colorado, Colorado Springs
ISBN: 0-321-30332-6
Publisher: Addison-Wesley
Copyright: 2006
Format: Paper; 672 pp
List Price: $83.20

UD Bookstore New: $83.20, Used: $62.40

This book covers a wide range of topics in Web Development, including some coverage of almost all of the main web related technologies.

Sebesta will be our main text for the following topics: HTML and XHTML, CSS, JavaScript, Dynamic HTML, XML (including DTD and XSLT), and Database Access using SQL, the MySQL database, and using JDBC with MySQL.

This text will be in a secondary role for the following topics: Servlets and Java Server Pages (JSP).

Also covered in this book are the following topics that we may or may not cover, depending on available time: Java Applets, XML Schema, Perl, Perl CGI Programming, PHP, ASP.NET, Database Access using Perl and PHP.

Head First Servlets and JSP cover image

Head First Servlets and JSP
Passing the Sun Certified Web Component Developer Exam

By Bryan Basham, Kathy Sierra, Bert Bates
First Edition August 2004 
Publisher: O'Reilly, Series: Head First
ISBN: 0-596-00540-7
886 pages, List Price: $44.95 US

UD Bookstore: New $44.95, Used: $33.75.

This book will be our main text for learning Java Servlets and JSP, and associated technologies including the Tomcat servlet container, the MVC design pattern, EL (Expression Language), the JSP Standard Tag Library (JSTL), and web app security.

You are likely to find this book is very different from most textbooks you have encountered. At first glance, you might see all the wacky cartoons and pictures, and think this is a "xxx for dummies" style book. Don't be fooled. This book will challenge you to think more than most.

Look over pages xix through xxvii in the "preface" (I know—the part nobody ever reads). It answers the question "We know what you're thinking. How can this be a serious programming book?" What you read there may help you not only understand how this textbook works, but also help you understand how your brain works (which might be even more useful than learning about servlets).

Better Faster Lighter Java Cover Image

 

Better, Faster, Lighter Java

By Bruce A. Tate, Justin Gehtland
First Edition: May 2004
ISBN: 0-596-00676-4
262 pages, $34.95 US

At first I resisted the idea of having a third required textbook—after all, textbooks are expensive for students, and (shocking though you may find this!) many students don't spend that much time actually reading the assigned texts.

I changed my mind after reading a book called "What the Best College Teachers Do". The authors of that book did an in-depth of study of the best college teachers they could find—one's that were not only "popular" with students, but could be shown to have had an significant and measurable effect on what students actually learn. What they found was that the best teachers didn't just ask their students to memorize details about the subject matter. They asked them to form opinions and wrestle with interesting and significant questions about their field.

So, back to Better Faster Lighter Java, or BFLJ as we'll call it. This book takes some controversial stands. For instance, it suggest that inheritance is not, despite what you may have been told, the be-all and end-all of software reuse. It suggest that there are some traps that programmers fall into such as the "Golden Hammer" syndrome (i.e. "the most recent technology I learned must be the right tool for every job"). It talks about some real problems with the current state of Java software development, and suggests a way out of the mess.

Another story about BFLJ. Over the last two years, as I prepared to teach CISC474, I sat down with some "real-world" professionals that were UD graduates. I also listened to what the best students in class were telling me they were discovering about web-app development on their own—i.e., the latest technologies that every professional Java developer ought to know about. They kept talking about things like "Unit Testing", "Inversion of Control", "Dependency Injection", "Hibernate", "Spring", "log4j", and others. It was bewildering— the more I looked into it, it seemed, the less I found out that I knew. To quote the cartoonist Ashleigh Brilliant, "There has been an alarming increase in the number of things I know nothing about.".

But these technologies weren't in the textbooks I was finding. That is, until I found BFLJ. Here, in one small book—one that compared to other college textbooks is relatively inexpensive—were most if not all of the pieces my "real world" contacts told me were missing from the current curriculum for CISC474. Plus, enough controversy and interesting "questions" to provide some challenge to students to really think about the material.

So, that's why you have three textbooks. I'm looking forward to reading your comments on the Discussion Board on WebCT about all three textbooks, but especially about BFLJ.

"About PBL", or, "Why you should bring a laptop to class"

This course will be taught using Problem Based Learning (PBL). If you haven't experienced it before, it is very different from what you are probably used to in most college courses.

Picture of Memorial Hall 110 Laptop Cart

Most college courses are delivered in lecture format. The instructor talks, and you listen. (Or not.) There may be some back and forth discussion, but even then, the discussion in centered around a dialog between the instructor, and usually, at most, one student at a time. So, most of the time, you are an observer, not a participant.

In a PBL classroom, you will much more often be doing something. Typically, you've been given a "problem to solve" (hence the name, "Problem Based Learning". You'll sometimes work alone, but more often you'll be working in groups. My job as the instructor is to give you a problem to work on, help you get started, help you when you are stuck, and occasionally lead discussions based on what you've learned from working on the problem.

So, since this is a web development course, you typically are going to need a computer to get much of anything done. You'll also use the laptops to record the results of discussions with your classmates, and to look things up on the Internet.

This also explains why our course is meeting in Memorial Hall 110. You'll notice that there are seven desks shaped like hexagons (which will be interesting, since we are likely going to have 9 or 10 groups). Memorial Hall has sixteen laptops (the picture shows them in their "recharging cart" available in the classroom for shared use. There is a web page with information about the use of these laptops.

However, if you have your own, you'll probably find it helps to bring it to class with you; you'll get started working more quickly, and you'll always be guaranteed to have a place to work. Your teammates will appreciate it too.


Valid XHTML 1.1 Valid CSS!