﻿<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="courses.xsl" ?>
<courses name="Fawcett">

  <btitle>Books</btitle>
  <theme src="HomeTheme.css" />

  <visible>
  <title>Recommended Book List</title>
  <revised>07 May 2008</revised>

  <hnav/>
  <cnav/>

  <hilight>
    <html><a href="#Contents">Contents</a></html>&#32;
    <html><a href="#OOD">OOD</a></html>&#32;
    <html><a href="#Win32">Win32</a></html>&#32;
    <html><a href="#.Net">.Net</a></html>&#32;
    <html><a href="#C++">C++</a></html>&#32;
    <html><a href="#COM">COM</a></html>&#32;
    <html><a href="#Web">Web</a></html>&#32;
    <html><a href="#Math">Math</a></html>&#32;
    <html><a href="#Bioinformatics">Bioinformatics</a></html>&#32;
    <html><a href="#Security">Security</a></html>&#32;
  </hilight>

  <images>
    <imageItem src="./Pictures/ProCSharp35.jpg" size="200" />
    <imageItem src="./Pictures/ProAspNet35.jpg" size="200" />
    <imageItem src="Pictures/BulletProofWebDesign.jpg" size="200" />
    <imageItem src="Pictures/ZenOfCSSDesign.jpg" size="200" />
    <imageItem src="Pictures/DOMScripting.jpg" size="200" />
    <imageItem src="Pictures/DesignPatterns.jpg" size="200" />
<!--
    <imageItem src="Pictures/PatternsOfEnterpriseArch.jpg" size="200" />
    <imageItem src="Pictures/EnterpriseIntegPatterns.jpg" size="200"/>
    <imageItem src="pictures/RefactoringToPatterns.jpg" size="200"/>
    <imageItem src="Pictures/OrganizationalPatterns.jpg" size="200"/>
-->
  </images>
  <caption>Books for Summer Classes</caption>
  
  <quote source="Ambrose Bierce, The Devil's Dictionary">
    The covers of this book are too far apart.
  </quote>

  <html><a name="contents"/></html>
  <p/>
    <center>Here you will find mostly book citations, but there are also a few links to interesting web sites.</center>
  <p/>  
  <html><a name="Security"/></html>
  <section title="Some Author Links">
    <ilink title=".Net Authors">www.artima.com/articles/index.jsp?topic=intv</ilink>&#160;
    <ilink title="Juval Lowy">www.idesign.net/idesign/BAC/DesktopDefault.aspx?tabindex=2&amp;tabid=20</ilink>&#160;
    <ilink title="Jeff Prosise">www.wintellect.com/about/instructors/prosise/default.aspx</ilink>&#160;
    <ilink title="Ingo Rammer">www.ingorammer.com/Articles/default.html</ilink>&#160;
    <ilink title="Chris Sells">www.sellsbrothers.com/</ilink>&#160;
    <ilink title="Bjarne Stroustrup">www.research.att.com/~bs</ilink>&#160;
    <ilink title="Julian Templeman">www.templeman-consulting.co.uk/writing.htm</ilink>&#160;
  </section>

<!--  <block>  -->
  <ind>
  <p/>  

<!-- Books on Hold in Sci-Tech Library -->

  <section title="Books on Hold in Sci-Tech Library">
      <litem>
        Programming Microsoft .Net, Jeff Prosise, Microsoft Press, 2002
        <ind>
          Covers .Net types, WinForm programming, ASP, XML, and Remoting.  We use Parts I and III for CSE681 - Software Modeling and Analysis
          and Part II for CSE686 - Internet Programming.
        </ind>
      </litem>
    <litem>
      Patterns of Enterprise Architecture, Martin Fowler, Addison Wesley, 2003
      <ind>51 patterns that focus on automating business processes, especially using the web.</ind>
    </litem>
    <litem>
      Head First Design Patterns, O'Reilly, 2004
      <ind>Another view on the 23 patterns discussed in the original Design Patterns book.</ind>
    </litem>
    <litem>
      Enterprise Integration Patterns, Gregor Hohpe and Bobby Woolf, Addison Wesley, 2004
      <ind>65 patterns that focus on building message-passing middleware.</ind>
    </litem>
    <litem>
      Organizational Patterns of Agile Software Development, James Coplien and Neil Harrison, Prentice-Hall, 2005
      <ind>Patterns for concurrent and networked objects.</ind>
    </litem>
    <litem>
      Pattern-Oriented software Architecture, Douglas Schmidt, et. al., Wiley, 2000
      <ind>51 patterns that focus on automating business processes, especially using the web.</ind>
    </litem>
      <litem>
        Refactoring to Patterns, Joshua Kerievsky, Addison-Wesley, 2005
        <ind>
          Discusses improving existing code with patterns.  Collects refactorings into Creation, Simplification,
          Generalization, Protection, Accumulation, and Utilities.
        </ind>
      </litem>
  </section>

<!-- Books Recommended by Microsoft -->

  <section title="Books recommended by Microsoft for Applicants for SDTE Positions:">
    <olist>
      <litem>Writing Solid Code, Steve McGuire</litem>
      <litem>Code Complete, Steve McConnell</litem>
      <litem>Testing Computer Software, Cem Kaner</litem>
      <litem>How to Break Software, James A Wlittaker</litem>
      <litem>The Art of Software Testing, Glenford Meyers</litem>
    </olist>
    They also recommend:
    <olist>
      <litem>All I Ever Needed to Know in Business I Learned at Microsoft, Julie Bick</litem>
      <litem>Business at the Speed of Thought, Bill Gates</litem>
      <litem>The Road Ahead, Bill Gates</litem>
    </olist>
  </section>

  <section title="Developers Book Kit">
    I mentioned, during a Friday morning help session, a couple of books that I thought should be on every developer's bookshelf.
    There seemed to be enought interest that I've compiled my list of essentials - a Software Development book kit.  Most of these
    are references and texts for experienced developers, listed below as <note>Core References</note>.
    I've also included links, emphasizing <note>Tutorial Links</note>.<p/>
    <olist>
      <litem>
        <u>C++</u><br/>
        <note>Core references:</note><br/>
        "The C++ Programming Language", 3rd Edition, Stroustrup, "The C++ Standard Library", Josuitus, 
        "C++ Coding Standards", Sutter and Alexandrescu, "Effective C++", 3rd Edition, Scott Meyers,
        "Design and Evolution of C++", Stroustrup<p/>
        <note>Tutorial references:</note><br/>
        "C++ Primer Plus", 5th Edition, Prata
        <p/> 
        <note>Tutorial links: </note><br/><ilink title="cplusplus">www.cplusplus.com/doc/tutorial/</ilink>, <ilink title="C++ FAQ - Marshall Cline">www.parashift.com/c++-faq-lite/</ilink><br/>
        C++0x Links:<br/><ilink title="C++0x">en.wikipedia.org/wiki/C%2B%2B0x</ilink>, 
        <ilink title="Dawning of a new Standard">www.devx.com/SpecialReports/Door/38865</ilink>, 
        <ilink title="Simpler Multithreading">www.devx.com/SpecialReports/Article/38883</ilink><br/>
        Other Links:<br/><ilink title="The C++ Source">www.artima.com/cppsource</ilink>
      </litem>
      <litem>
        <u>C# and .Net</u><br/>
        <note>Core references:</note><br/>
        "Effective C#", Wagner, "More Effective C#", Wagner, "Windows Forms 2.0 Programming", Sells and Weinhardt,
        "Concurrent Programming on Windows", Joe Duffy, 
        "C# Network Programming", Blum, ".Net and COM, The Complete Interoperability Guide", Nathan
        <p/>
        <note>Tutorial Links:</note><br/>
        <ilink title="C# Station Tutorials">www.csharp-station.com/Tutorial.aspx</ilink>, 
        <ilink title="Threads Tutorial">www.albahari.com/threading/</ilink><br/>
        Other Links:<br/>
        <ilink title=".Net Quickstarts">www.dotnetjunkies.com/quickstart/</ilink>
      </litem>
      <litem>
        <u>Java</u><br/>
        "Java Concurrency in Practice", Brian Goetz, et. al., "Concurrent Programming in Java", 2nd Edition, Lea
      </litem>
      <litem>
        <u>Win32 Systems Programming</u><br/>
        <note>Core References:</note><br/>
        "Windows via C/C++", Jeffrey Richter
        <p/>
        <note>Tutorial Links:</note><br/>
        <ilink title="theForger's Win32 Windows">www.winprog.org/tutorial/</ilink><br/>
        Other Links:<br/>
        <ilink title="Sysinternals">technet.microsoft.com/en-us/sysinternals/default.aspx</ilink>, <ilink title="Catch22 Win32 Windows">catch22.net/tuts</ilink>
      </litem>
      <litem>
        <u>WCF</u><br/>
        <note>Core References:</note><br/>
        "Inside Windows Communication Foundation", Justin Smith, Progamming WCF Services, 2nd Edition, Juval Lowy, 
        "Windows Communication Foundation 3.5, Unleashed", McMurtry, et. al.
        <p/>
        <note>Tutorial Links:</note><br/>
        <ilink title="MSDN Tutorial">msdn.microsoft.com/en-us/library/ms734712.aspx</ilink>,
        <ilink title="Wahlin Blog">weblogs.asp.net/dwahlin/archive/2006/10/29/Getting-Started-with-Windows-Communication-Framework.aspx</ilink>, 
        <ilink title="WCF Security Samples">www.pnpguidance.net/post/WCFSecurityVideosTutorialsSamples.aspx</ilink>,
        <ilink title="WCF Rest Samples">www.pnpguidance.net/Post/WCFRESTTutorialsCreatingRESTfulnessWebServicesWCF.aspx</ilink>, 
        <ilink title="WCF Tutorial links">searchwindevelopment.techtarget.com/generic/0,295582,sid8_gci1191213,00.html#tutorial</ilink> <br/>
        Other Links:<br/>
        <ilink title="secure messaging">www.c-sharpcorner.com/UploadFile/john_charles/WCFApplicationimplementingtheAnonymousclient_over11172006131249PM/WCFApplicationimplementingtheAnonymousclient_over.aspx</ilink>
      </litem>
      <litem>
        <u>WPF</u><br/>
        <note>Core References:</note><br/>
        "Programming WPF", Sells, "Pro WPF in C# 2008", MacDonald<p/>
        <note>Tutorial Links:</note><br/>
        <ilink title="MSDN Tutorial">msdn.microsoft.com/en-us/library/ms752299.aspx</ilink>, 
        <ilink title="Tutorial Videos">windowsclient.net/learn/videos_wpf.aspx</ilink>, 
        <ilink title="WindowsClient Tutorials">windowsclient.net/getstarted/</ilink>, 
        <ilink title="BeaCosta Blog">www.beacosta.com/blog/?page_id=47</ilink>, 
        <ilink title="CoreDotNet Data Binding">coredotnet.blogspot.com/2006/05/wpf-data-binding-tutorial.html</ilink>, 
        <ilink title="DotNetSlackers">dotnetslackers.com/articles/silverlight/WPFTutorial.aspx</ilink>, 
        <ilink title="WPF and Xaml Tutorials">weblogs.asp.net/pleloup/archive/2007/05/22/wpf-and-xaml-tutorials.aspx</ilink>, 
        <ilink title="AspAlliance Tutorials">aspalliance.com/articles/LearnWPF.aspx</ilink>, 
        <ilink title="Christian Moser's Tutorials">www.wpftutorial.net/Home.html</ilink>, 
        <ilink title="Paranoid Ferret Tutorials">blog.paranoidferret.com/index.php/category/all-tutorials/</ilink>, 
        <ilink title="Erno de Weerd Code Samples">blogs.infosupport.com/ernow/articles/1878.aspx</ilink>, 
        <ilink title="SearchWinDevelopment Tutorials">searchwindevelopment.techtarget.com/generic/0,295582,sid8_gci1189329,00.html#tutorial</ilink><br/>
        Other Links:<br/>
        <ilink title="C# Corner Articles">www.c-sharpcorner.com/Articles/ArticleListing.aspx?SectionID=1&amp;SubSectionID=191</ilink>
      </litem>
      <litem>
        <u>Web Development</u><br/>
        <note>Core References:</note><br/>
        "Pro Asp.Net 3.5 in C# 2008", MacDonald and Szpuszta, "Bulletproof Web Design", Cederholm, "DOM Scripting", Keith,
        "PPK on Javascript", Koch, "HTML Dog, the Best-Practice Guide to XHTML &amp; CSS", Griffiths<p/>
        Other References:<br/>
        "Beginning XSLT 2.0", Tennison<p/>
        <note>Tutorial Links:</note><br/>
        <ilink title="Code.Google Web Security">code.google.com/edu/security/index.html</ilink>, 
        <ilink title="Code.Google Ajax Programming">code.google.com/edu/ajax/index.html</ilink><br/>
      </litem>
      <litem>
        <u>Microsoft's COM Technology</u><br/>
        <note>Core References:</note><br/>
        "ATL Internals", Sells et. al., "Understanding ActiveX and Ole", David Chappell<br/>
        Other References:<br/> 
        "Developer's Workshop to COM and ATL", Troelson,
        "Inside OLE2", Kraig Brockschmidt<p/>
        <note>Tutorial Links:</note><br/>
        <ilink title="Simple COM Server">www.codeproject.com/KB/COM/simplecomserver.aspx</ilink>, 
        <ilink title="Intro to COM, Part I">www.codeproject.com/KB/COM/comintro.aspx</ilink>, 
        <ilink title="Intro to COM, Part II">www.codeproject.com/KB/COM/comintro2.aspx</ilink>, 
        <ilink title="COM STA, Part I">www.codeproject.com/KB/COM/CCOMThread.aspx</ilink>, 
        <ilink title="COM STA, Part II">www.codeproject.com/KB/COM/CCOMThread2.aspx</ilink> 
      </litem>
      <litem>
        <u>Distributed and Enterprise Computing:</u><br/>
        <note>Tutorial Links: </note>
        <ilink title="Code.Google Distributed Computing">code.google.com/edu/parallel/index.html</ilink><br/>
        Other Links:
        <ilink title="Udi Dahan's Articles">www.udidahan.com/articles/</ilink>,
        <ilink title="ACE, Corba">www.cs.wustl.edu/~schmidt/PDF/CORBA4.pdf</ilink>, 
        <ilink title="Corba Tutorials">www.cs.wustl.edu/~schmidt/tutorials-corba.html</ilink>,<br/>
        Distributed Computing Research Links: 
        <ilink title="Distributed Programming with Mozart">www.mozart-oz.org/documentation/dstutorial/</ilink><br/>
      </litem>
      <litem>
        <u>Database Development</u><br/>
        "The Hitchhiker's Guide to Visual Studio and SQL Server", 7th edition, Vaughn, "Murach's SQL for SQL Server", Syverson<p/>
        <note>Tutorial Links:</note><br/>
        <ilink title="Code.Google MySQL Database links">code.google.com/edu/tools101/mysql.html</ilink>
      </litem>
      <litem>
        <u>Algorithms</u><br/>
        <note>Tutorial Links:</note><br/><ilink title="Code.Google Algorithms">code.google.com/edu/algorithms/index.html</ilink><br/>
      </litem>
      <litem>
        <u>Software Engineering</u><br/>
        <note>Core References:</note><br/>
        "The Mythical Man Month", Frederick Brooks<p/>
        <note>Tutorial Links: </note><br/>
        <ilink title="Code.Google Configuration Management">http://code.google.com/edu/tools101/scm.html</ilink><br/>
      </litem>
      <litem>
        <u>Writing</u><br/>
        <note>Core References:</note><br/>
        "Writing with Style", Second Edition, Trimble
      </litem>
    </olist>
  </section>

<!-- Object Oriented Design -->

  <html><a name="OOD"/></html>
  <section title="Object Oriented Design">
    <olist>
      <litem>
        Design Patterns, Erich Gamma, et. al., Addison-Wesley, 1995
        <ind>
          This wonderful book is the text we use in the summer course of that name.  
          You have to write software using the patterns to understand in detail what 
          the book is saying, but well worth reading even if you don’t follow my advice.
        </ind>
      </litem>
      <litem>
        UML Distilled, Fowler and Scott, Addison-Wesley, 1997
        <ind>
          Good introduction to the Unifed Modeling Language.
        </ind>
      </litem>
      <litem>
        Practical Statecharts in C/C++, Miro Samek, CMPbooks, 2002
        <ind>
          Book focuses on modeling event driven systems with Hierarchical State Charts (Chapter 4) and
          concurrent processing with Active Objects (Chapter 7).  The text is wordy - the author spends
          as much time telling why the method is great as he does about the method.  However, the
          fundamental ideas seem useful and effective.  I haven't tried any of these in code yet, so the
          jury is still out.
        </ind>
      </litem>
      <litem>
        Object-oriented Software Construction, Bertrand Meyer, Prentice-Hall, 1994
        <ind>
          Lot’s of OOD wisdom by the author of the Eiffel Language.
        </ind>
      </litem>
      <litem>
        Agile Software Development, Principles, Patterns, and Practices, Robert C. Martin, 
        Prentice-Hall, 2003
        <ind>
          A thoughtful text, full of examples in Java and C++, that discusses most of the 
          design principles we cover in this course.
        </ind>
      </litem>
    </olist>
  </section>

<!-- Design Patterns -->

  <html><a name="DP"/></html>
  <section title="Design Patterns">
    <olist>
      <litem>
        Design Patterns, Gamma, et. al., Addison-Wesley, 1995
        <ind>
          CSE776 - Design Patterns is an excellent follow-on to CSE687 - Object Oriented Design.  This book is the
          text we use for CSE776.  It's a great book, and by far, the best on the topic.
        </ind>
      </litem>
      <litem>
        Refactoring to Patterns, Joshua Kerievsky, Addison-Wesley, 2005
        <ind>
          Discusses improving existing code with patterns.  Collects refactorings into Creation, Simplification,
          Generalization, Protection, Accumulation, and Utilities.
        </ind>
      </litem>
      <litem>
        Patterns of Enterprise Application Architecture, Martin Fowler, Addison-Wesley, 2003
        <ind>
          Presents 51 patterns related to building distributed enterprise systems.
        </ind>
      </litem>
      <litem>
        Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, Volume 2, 
        Douglas Schmidt, et. al., Wiley, 2000
        <ind>
          Focuses on middle-ware.  The first listed author lead the work on the ACE middleware communication
          platfrom and TAO CORBA ORB.
        </ind>
      </litem>
    </olist>
  </section>

<!-- Win32 Systems Programming -->

  <html><a name="Win32"/></html>
  <section title="Win32 Systems Programming">
    <olist>
      <litem>
        Win32 System Programming, Second Edition, Johnson Hart, Addison-Wesley, 2001
        <ind>
          File system, registry, security, memory-mapped files, processes, threads, interprocess communication,
          network programing, services, asynchronous I/O, RPC and COM, Win64
        </ind>
      </litem>
      <litem>
        Win32 System Services, Second Edition, Marshall Brain, Prentice Hall, 1996
        <ind>
          About the same contents as Hart, uses lots of small examples.
        </ind>
      </litem>
    </olist>
  </section>

<!-- .Net Toolkit -->

  <html><a name=".Net"/></html>
  <section title=".Net Toolkit">
    If you are working every day with .Net, then the following will be essential parts of your toolkit.
    <olist>
      <litem>
        Programming Microsoft .Net, Jeff Prosise, Microsoft Press, 2002
        <ind>
          Covers .Net types, WinForm programming, ASP, XML, and Remoting.  We use Parts I and III for CSE681 - Software Modeling and Analysis
          and Part II for CSE686 - Internet Programming.
        </ind>
      </litem>
      <litem>
        Effective C#, Bill Wagner, Addison-Wesley, 2005
        <ind>
          My attitude had always been: you don't need to buy a C# book.  Look at Prosise (above) and the www.gotdotnet.com website to get all you need.
          This book changed my mind.  Wagner has lots of good ideas, insights, and things you just hadn't thought of.  Highly recommended.
        </ind>
      </litem>
      <litem>
        Windows Forms Programming in C#, Chris Sells, Addison-Wesley, 2004
        <ind>
          Very good discussion of Windows Forms programming, including design-time support.
        </ind>
      </litem>
      <litem>
        Pro C# 2008 and the .Net 3.5 Platform, Fourth Edition, Troelsen, Apress, 2007
      </litem>
      <litem>
        Programming in the .Net Environment, Watkins, Hammond, Abrams, Addison-Wesley, 2003
        <ind>
          Good treatment of Types, Metadata, the execution system, and deployment.
        </ind>
      </litem>
      <litem>
        Essential .Net, Volume I, Don Box, Addison-Wesley, 2003
        <ind>
          Good treatment of .Net object model, application domains, and an introduction to security.
        </ind>
      </litem>
      <litem>
        Applied .Net Attributes, Bock and Barnaby, APress, 2003
        <ind>
          How .Net attributes work, building custom attributes, compile-time and run-time behavior
        </ind>
      </litem>
      <litem>
        Programming .Net Components, Juval Lowy, O'Reilly, 2003.
        <ind>
          A clearly written account of the component model and how it is implemented in .Net.  Some comparisons with COM 
          as well.  The book ends with a very well written chapter on .Net security with example code and configuration files.  
        </ind>
      </litem>
      <litem>
        COM and .Net Component Services, Juval Lowy, O'Reilly, 2001.
        <ind>
          A clearly written description of component services provided by COM+.  Contains a brief chapter on using COM+
          services from managed code.  The book has a chapter devoted to COM+ security.
        </ind>
      </litem>
      <litem>
        Advanced .Net Remoting, Ingo Rammer, APress, 2002
        <ind>
          A readable and useful book on .Net Remoting.  I have based most of my work on material in this text.
          Discusses programming with components in the remoting chain to intercept, react, and possibly modify
          messages before they are received.  
        </ind>
      </litem>
      <litem>
        Microsoft .Net Remoting, McLean, Naftel, and Williams, Microsoft Press, 2003
        <ind>
          Contains fairly detailed description of the remoting channel model and its use of sinks and formatters.
        </ind>
      </litem>
      <litem>
        C# Network Programming, Richard Blum, Sybex, 2001
        <ind>
          Focus on .Net Sockets classes, socket-based web protocols, e.g., ICMP, SNMP, SMTP, and HTTP.  Also contains brief
          chapters on remoting and active directory.
        </ind>
      </litem>
      <litem>
        Debugging Applications for Microsoft .NET and Microsoft Windows, John Robbins, Microsoft Press, 2003
        <ind>
          Covers MSIL, testing, and debugging in the .Net environment.
        </ind>
      </litem>
      <litem>
        Essential Guide to Managed Extensions for C++, Challa and Laksberg, Apress, 2002
        <ind>
          Written by two developers on the Visual Studio C++ team, does a nice job of covering the use of
          managed C++ and interoperation between managed and unmanaged C++.
        </ind>
      </litem>
      <litem>
        .NET Web Services, Keith Ballinger, Addison-Wesley, 2003
        <ind>
          Creating web services and web service clients, XML and schemas, XML serialization, SOAP, WSDL, and UDDI.
        </ind>
      </litem>
      <litem>
        Expert .Net 1.1 Programming, Simon Robinson, APress, 2004
        <ind>
          IL, assemblies, garbage collection, performance, generating code at run-time, threading, WMI, security, cryptography
        </ind>
      </litem>
      <litem>
        Essential ASP.NET, with Examples in C#, Fritz Onion, Addison-Wesley, 2003
        <ind>
          Great discussion of Webforms, configuration, the ASP pipeline, data binding, caching, state management,
          and ASP security.
        </ind>
      </litem>
      <litem>
        ASP.NET Unleashed, Second Edition, Stephen Walther, SAMS, 2004
        <ind>
          Simple introduction to ASP, great breadth of scope, lots of examples.  This book is now my primary reference.
        </ind>
      </litem>
      <litem>
        Microsoft ADO.NET, David Sceppa, Microsoft Press, 2002
        <ind>
          Examines ADO details with examples in C# and VB.  I use this as a secondary reference.
        </ind>
      </litem>
    </olist>
  </section>

<!-- Other Books about .Net -->

  <section title="Other Books about .Net:"> 
    <olist>
      <litem>
        The C# Programming Language, Anders Hejlsberg, Scott Wiltamuth, Peter Golde, Addison-Wesley, 2004
        <ind>
          Covers C# Language as it is now defined and adds a section on the changes coming in the next release of Visual Studio.  This includes 
          generics, anonymous functions, iterators, and partial types.  Describes the grammar clearly and presents a nicely balanced set of examples.
        </ind>
      </litem>
      <litem>
        .Net Common Language Runtime Unleashed, Kevin Burton, SAMS, 2002
        <ind>
          Interop, resource management, threading, networking, security, reflection, debugging, and profiling.
        </ind>
      </litem>
      <litem>
        Programming Microsoft Windows with C#, Charles Petzold, Microsoft Press, 2002.
        <ind>
          Demonstrates how to do a lot of the things, that MFC does, in a simpler, clearer way, 
          using WinForms.  Exceptionally lucid presentation.  We used this book 
          for Advanced Windows Programming last summer.
        </ind>
      </litem>
      <litem>
        C# In A Nutshell, Peter Drayton, et. al., O’Reilly, 2002
        <ind>
          Nice reference for the C# language and a lot of the .Net Framework.  
          Discusses the most important .Net System Libraries and their Types.  Not many examples.
        </ind>
      </litem>
      <litem>
        Understanding .Net, David Chappell, Addison Wesley, 2002
        <ind>
          Excellent introduction to the .Net technologies.  Almost no code, 
          but very clear descriptions of the various pieces.
        </ind>
      </litem>
      <litem>
        Professional C#, 2nd Edition, Robinson, et. al., Wrox Press, 2002
        <ind>
          Discusses C#, some of the Framework classes, using Visual Studio.Net, 
          WinForms, ADO, Win Controls, File and Registry Operations, ASP, 
          Custom Controls, COM+, Web related parts of the Framework, .Net Remoting, 
          and .Net Security.  Lots of material with a reasonable amount of sample code in C#.
        </ind>
      </litem>
      <litem>
        GDI+ Programming: Creating Custom Controls Using C#, Eric White, Wrox Press, 2002
        <ind>
          Good reference for building custom GUI widgets.  We will use this as a reference
          for CSE775 - Distributed Objects this spring.
        </ind>
      </litem>
      <litem>
        Professional Windows Forms, Jason Bell, et. al., Wrox Press, 2001
        <ind>
          A typical Wrox book, lots of good information, not always presented in the most
          graceful manner.
        </ind>
      </litem>
      <litem>
        ASP.NET Website Programming, Bellinaso and Hoffman, Wrox Press, 2002
        <ind>
          New book that I've just begun to look at.  Looks like a good step-by-step tour of
          the construction of a major website, with lots of tools.
        </ind>
      </litem>
      <litem>
        Developing Applications with Visual Studio.Net, Richard Grimes, Addison Wesley, 2002
        <ind>
          A very detailed look at some of the most interesting .Net technologies.  There is detail 
          here that you just can’t find anywhere else.  It is by no means complete coverage however.
        </ind>
      </litem>
      <litem>
        Applied Microsoft .Net Framework Programming, Jeffrey Richter, Microsoft Press, 2002
        <ind>
          Clear presentation of the Common Language Runtime (CLR) core of the .Net Framework.  
          Does not discuss remoting or web services except in the introduction.
        </ind>
      </litem>
      <litem>
        C# Web Services, Ashish Banerjee, et. al., Wrox Press, 2001
        <ind>
          This was my first reference for Web Services.  Well written with some interesting
          ideas.
        </ind>
      </litem>
      <litem>
        C# Programmer's Reference, Grant Palmer, Wrox Press, 2002
        <ind>
          A clear, and fairly complete tour of the C# language.  A good reference to keep at your
          desk, after you have read the Prosise book, above.
        </ind>
      </litem>
      <litem>
        C# and the .Net Platform, Andrew Troelsen, Apress, 2001
        <ind>
          Clear discussions of C#, WinForms, Active Data Objects (ADO) and Active Server Pages (ASP) 
          as they now appear in the .Net platform
        </ind>
      </litem>
      <litem>
        C# .Net Web Developer’s Guide, Adrian Turtschi, et. al., Syngress Publishing Inc., 2002
        <ind>
          A relatively simple introduction to most of the most useful Web related .Net technologies.
        </ind>
      </litem>
      <litem>
        Professional .Net Framework, Hoffman, et. al., Wrox Press, 2001
        <ind>
          Discusses CLR, System Namespace, .Net Components and Controls, ADO and XML 
          classes, Web Services, .Net Remoting.  Lots of material with a reasonable amount of sample 
          code in C#.  One interesting example is the use of “managed” and “unmanaged” C++ in the 
          same program (pgs 88-91).
        </ind>
      </litem>
      <litem>
        Microsoft Visual C# .Net, Step by Step, John Sharp and Jon Nagger, Microsoft Press, 2002
        <ind>
          Covers C#, WinForms, ADO, ASP, WebForms, and XML Web Services.  Its main attribute is that the 
          examples are short, simple, and very detailed, in that you get explicit directions for every step, 
          including the use of Visual Studio IDE features to create working demonstrations.  
          This book is very similar in design and intent to “Practical Visual C++ 6.0”, by Bates and Tompkins, 
          Que which I have put in the library for reference during the Advanced Windows Programming course.
        </ind>
      </litem>
      <litem>
        Professonal ASP.Net, Anderson et. al., Wrox Press, 2001
        <ind>
          Very thorough coverage of ASP.  
        </ind>
      </litem>
      <litem>
        ASP.NET, Web Developer’s Guide, Mesbah Ahmed, et. al., Syngress Publishing Inc., 2002
        <ind>
          Seems to have a good mix of topic coverage, small examples, and a larger continuing example.
        </ind>
      </litem>
      <litem>
        ASP.NET: Tips, Tutorials, and Code, Scott Mitchell, et. al., SAMS, 2002
        <ind>
          Covers lots of server-side programming techniques, including some details I haven’t found elsewhere.
        </ind>
      </litem>
      <litem>
        C# Essentials, Ben Albabari, et. al., O’Reilly,  2002
        <ind>
          Two of the authors are also authors of the C# in a Nutshell book.  Presents material in less 
          condensed fashion than the Nutshell book, but has about the same coverage of C# and much less 
          of the Framework.
        </ind>
      </litem>
      <litem>
        Host Secure, Lightweight Client-Side Controls in Microsoft Internet Explorer, Jay Allen, MSDN, February 2001
        <ind>
          Discusses using .Net controls in web-pages, a topic not discussed anywhere else that I can find.
        </ind>
      </litem>
    </olist>
  </section>

<!-- C++ -->

  <html><a name="C++"/></html>
  <section title="C++ Programming Language Toolkit:">
    If you are working every day with C++, then the following will be essential parts of your toolkit.
    <olist>
      <litem>
        The C++ Programming Lanaguage, Bajarne Stroustrup, Addison Wesley, 1997
        <ind>
          We use this book as our first required reference for CSE687-Object Oriented Design.
          This is not a great tutorial book, but, it is simply the best 
          general reference on the C++ language there is.  If you continue on with C++ 
          you will grow to appreciate the book more and more.  It is always my first,
          and often my last place to look for answers about the language and how to use it.
        </ind>
      </litem>
      <litem>
        The C++ Standard Library, Nicolai Josuttis, Addison-Wesley, 1999
        <ind>
          The best general coverage of the Standard Library.  We use this as the
          second required text in CSE687 - Object Oriented Design.
        </ind>
      </litem>
      <litem>
        C++ Coding Standards, Herb Sutter, Andrei Alexandrescu, Addison-Wesley, 2005
        <ind>
          Outstanding book devoted to managing the complexity of C++ through thoughtful
          design idioms and recommended strategies.  Any book by either of these authors
          will be worth your time.  This one is essential reading.
        </ind>
      </litem>
      <litem>
        C++ Gotchas, Avoiding Common Problems in Coding and Design, Stephen Dewhurst, 
        Addison-Wesley, 2003
        <ind>
          Dewhurst was one of my favorite columnists (C/C++ User's Journal) and this 
          is a useful reference to read, then keep by your desk.  It covers many of the
          same topics, in a somewhat different way, as C++ Coding Standards, above.
        </ind>
      </litem>
      <litem>
        Effective STL, Scott Meyers, Addison-Wesley, 2002
        <ind>
          Great introduction to the right mindset to use with the STL.  Has lots of tips 
          and instructions for daily use of this powerful library.
        </ind>
      </litem>
      <litem>
        The Design and Evolution of the C++ Language, Bjarne Stroustrup, Addison-Wesley, 1994
        <ind>
          By far the best written of his books, it explains the reasons why he made the choices 
          for C++ that he did.  Your perspective will mature a lot as you digest this book.
        </ind>
      </litem>
      <litem>
        Modern C++ Design, Andre Alexandrescu, Addison-Wesley, 2001
        <ind>
          Alexandrescu is just smarter than the rest of us.  He does high magic in 
          this book – all focused on templates.
        </ind>
      </litem>
      <litem>
        Imperfect C++, Matthew Wilson, Addison-Wesley, 2005
        <ind>
          A constructive criticizm with practical solutions.  Some interesting ideas here.
        </ind>
      </litem>
      <litem>
        Exceptional C++, Herb Sutter, Addison-Wesley, 2000
        <ind>
          Lot’s of good design ideas here.
        </ind>
      </litem>
      <litem>
        More Exceptional C++, Herb Sutter, Addison-Wesley, 2002
        <ind>
          More good design ideas here.  
        </ind>
      </litem>
      <litem>
        Exceptional C++ Style, Herb Sutter, Addison-Wesley, 2005
        <ind>
          Generic programming, exception safety, class design, resource management, efficiency, Pitfalls, and Case Studies.
        </ind>
      </litem>
      <litem>
        Effective C++, Scott Meyers, Addison-Wesley, 2nd Edition, 1998
        <ind>
          Provides design guidelines for using C++ effectively.
        </ind>
      </litem>
      <litem>
        More Effective C++, Scott Meyers, Addison-Wesley, 1996
        <ind>
          More of the same.
        </ind>
      </litem>
    </olist>
  </section>

<!-- Other Books about C++ -->

  <section title="Other Books about the C++ Programming Language:">
    <olist>
      <litem>
        C++ Primer Plus, Third Edition, Stephen Prata, Waite Group, 1998
        <ind>
          Large, thorough coverage of the C++ Language with lots of small examples.
          I put this book on reserve in the SciTech Library when I'm teaching CSE687 - 
          Object Oriented Design.  Recommended supplement if you find the primary 
          class text too hard.
        </ind>
      </litem>
      <litem>
        Accelerated C++, Andrew Koenig, Barbara Moo, Addison-Wesley, 2000
        <ind>
          Good beginner’s book.
        </ind>
      </litem>
      <litem>
        C++ Templates, the Complete Guide, Vandevoorde and Josuttis, Addison-Wesley, 2003
        <ind>
          An excellent book to sharpen your C++ template skills after finishing CSE687.
        </ind>
      </litem>
      <litem>
        C++ Complete: A Reference and Tutorial to the Proposed C++ Standard, Wiley, 1994
        <ind>
          Contains a very nice condensed description of the language grammar using syntax diagrams and well planned discourse.
        </ind>
      </litem>
      <litem>
        Large Scale C++ Software Design, John Lakos, Addison-Wesley, 1996
        <ind>
          Addresses the issues we talked about in the Design Principles Notes.
        </ind>
      </litem>
      <litem>
        Essential Guide to Managed Extensions for C++, Challa and Laksberg, Apress, 2002
        <ind>
          Written by two developers on the Visual Studio C++ team, does a nice job of covering the use of
          managed C++ and interoperation between managed and unmanaged C++.
        </ind>
      </litem>
    </olist>
  </section>

<!-- Windows Programming -->

  <html><a name="AWP"/></html>
  <section title="Books on Windows Programming:">
    <olist>
      <litem>
        Windows Forms Programming in C#, Chris Sells, Addison-Wesley, 2004,
        ISBN 0-321-11620-8
        <ind>
          This is the primary text for CSE778 - Advanced Windows Programming.  
          It's an extraordinary book.  Because getting started with WinForms is easy, we tend to think that
          we know most of what there is to know about the topic.  Not so!  Chris Sells has provided an exceptionally
          readable account of a lot of details that are useful, often necessary, and help you make very professional
          looking and operating user interfaces.  If you don't have a copy, go get one.
        </ind>
      </litem>
      <litem>
        Programming Windows with C#, Charles Petzold, Microsoft Press, 2002
        <ind>
          Coverage: Visual C#, ver 7.0, a.k.a. .Net, using WinForms.<br/>
          This was our main text for CSE778 - Advanced Windows Programming last year, and is an excellent text.
          Very clearly written.  Goes into micro-detail about many, many WinForm programming issues.
        </ind>
      </litem>
      <litem>
        Programming Windows with MFC, Jeff Prosise, Microsoft Press, 1999
        <ind>
          Coverage: Visual C++, ver 6.0, using MFC.<br/>
          This is our secondary text for CSE778 - Advanced Windows Programming.
          Very clearly written.  This is, by far, the best book I've seen on MFC programming.
        </ind>
      </litem>
      <litem>
        Practical Visual C++, Bates and Tompkins, Que Press, 1999
        <ind>
          Coverage: Visual C++, ver 6.0, using MFC.<br/>
          This is a really good recipe book, e.g., it has clear instructions with screen shots showing
          you how to do all the typical MFC things and some not so typical as well.
        </ind>
      </litem>
      <litem>
        Beginning MFC COM Programming, Julian Templeman, WROX Press, 1997.
        <ind>
          This is a very well written book that addresses just what it says it does, the support provided
          by MFC for creating and using COM objects with MFC programs.  It is now out of print, but I've 
          seen it advertised by a few booksellers, so you may want to order a copy right away if you expect
          to be doing MFC programming.
        </ind>
      </litem>
      <litem>
        The MFC Answer Book, Eugene Kain, Addison-Wesley, 1998
        <ind>
          Coverage: Visual C++, ver 6.0, using MFC.<br/>
          Explores the Document/View Architecture, managing Documents and Files, Views, Splitter 
          Windows, Dialog Boxes and Property Sheets, Toolbars, Menus, and Printing, all in a question
          and Answer format.  Has information you are not likely to find elsewhere.
        </ind>
      </litem>
    </olist>
  </section>

<!-- COM -->

  <html><a name="COM"/></html>
  <section title="Books on COM, COM/.Net Interoperability, and Components:">
    <olist>
      <litem>
        COM and COM+ Primer, Alan Gordon, Prentice Hall, 2000
        <ind>
          We use this book this year for CSE775 - Distributed Objects.  It is a very well written book that
          walks you through the process of implementing and building COM components in a very clear manner.
          The material on COM+ is also relevant for .Net.  This is one of two texts we use in CSE775 - Distributed Objects.
        </ind>
      </litem>
      <litem>
        Programming Microsoft Internet Exlorer 5, Scott Roberts, Microsoft Press, 1999.
        <ind>
          One of the very few resources that discusses the IE programming model.  IE exposes a number of COM interfaces that
          support the programmatic use of the Explorer control, which you may wish to embed in a WinForm, or use through the
          MFC HTMLview class.  The book is getting out of date, but is very clearly written and will be valuable as long as
          IE implementation is based on COM (I would not be surprised to see a .Net-based implementation with the next release
          of Windows.
        </ind>
      </litem>
      <litem>
        Programming .Net Components, Juval Lowy, O'Reilly, 2003.
        <ind>
          A clearly written account of the component model and how it is implemented in .Net.  Some comparisons with COM 
          as well.  
        </ind>
      </litem>
      <litem>
        COM and .Net Component Services, Juval Lowy, O'Reilly, 2001.
        <ind>
          A clearly written description of component services provided by COM+.  Contains a brief chapter on using COM+
          services from managed code.
        </ind>
      </litem>
      <litem>
        The .NET and COM Interoperability Handbook, Alan Gordon, Prentice-Hall, 2003
        <ind>
          A readable, pragmatic, and useful book on COM in the .Net Environment.  I have put Alan Gordon's earlier book, 
          The COM and COM+ Programming Primer, in the Science and Technology Library this semester.
          This book is as well written as the reference book - see the citation below.
        </ind>
      </litem>
      <litem>
        .NET and COM, The Complete Interoperability Guide, Adam Nathan, Sams, 2002
        <ind>
          A very detailed book, written by a member of the Microsoft Development team.  Contains the best description I've seen of
          getting events to work across COM managed code boundaries.  Covered in Chaps 5, 6, 14, and 19.
        </ind>
      </litem>
      <litem>
        COM Programming with Microsoft .Net, Templeman and Mueller, Microsoft Press, 2003
        <ind>
          This is the first book I have seen that discusses, in any detail, ATL 7.0 Attributed Programming.  I expect to use this
          text frequently.
        </ind>
      </litem>
      <litem>
        ATL Internals, Brent Rector and Chris Sells, Addison Wesley, 1999.
        <ind>
          Best book around on ATL 3.0.  I hope there will be an edition for ATL 7.0.
        </ind>
      </litem>
      <litem>
        Inside Distributed COM, Guy Eddon and Henry Eddon, Microsoft Press, 1998
        <ind>
          This is an excellent book for developers new to COM.  It has, by far, the best collection of 
          example code, sensibly organized and accessible, of any other COM oriented text I've read.
          We used the book for two years for CSE775 - Distributed Objects.
        </ind>
      </litem>
      <litem>
        Essential IDL, Martin Gudgin, Addison Wesley, 2001
        <ind>
          One of only two books I know of devoted to Interface Definition Language (IDL).  It is an 
          excellent book, clearly written and containing virtually everything you might ever need to
          understand about IDL.
        </ind>
      </litem>
      <litem>
        Understanding COM+, David S. Platt, Microsoft Press, 1999
        <ind>
          An excellent overview of the COM technologies, in the style of 
          David Chappell’s books.
        </ind>
      </litem>
      <litem>
        Developing Applications with Visual Studio.Net, Richard Grimes, Addison Wesley, 2002
        <ind>
          A very detailed look at some of the most interesting .Net technologies and some discussion
          of building and using COM components in a .Net environment.  
          There is detail here that you just can’t find anywhere else.  It is by no 
          means complete coverage however.
        </ind>
      </litem>
    </olist>
  </section>
  
<!-- Web Programming -->

  <html><a name="Web"/></html>
  <section title="Web Programming:">
  Note: All of the books on ASP and Web Services, in the .Net section, above, also fit into 
  this category, but most citations have not been duplicated here.
    <olist>
      <litem>
        Programming Microsoft .Net, Jeff Prosise, Microsoft Press, 2002
        <ind>
          Very readable introduction to ASP, ADO, XML and Web Services on the .Net platform.
          This is the text we use for CSE686.  Includes a discussion of Client Callbacks, e.g., 
          AJAX, a technology for updating data on a page without posting back a whole page.
        </ind>
      </litem>
      <litem>
        Pro Asp.Net 3.5 in C# 2008, Second Edition, MacDonald and Szpuszta, Apress, 2007
        <ind>
          Very complete, with lots of discussion and quite a few examples.  I'm thinking about using
          this for CSE686 - Internet Programming this year.
        </ind>
      </litem>
      <litem>
        Essential ASP.NET with Examples in C#, Fritz Onion, Addison-Wesley, 2003
        <ind>
          Deep coverage of the ASP programming model and its roots in the .Net FrameWork
          Class Library.  Quite a few straight-forward examples are presented with the text.
        </ind>
      </litem>
      <litem>
        Professional XML, Didier Martin, et. al., Wrox Press, 2000
        <ind>
          Most of what you need to know about XML can be found here.
        </ind>
      </litem>
      <litem>
        XSLT Programmer's Reference, 2nd Edition, Michael Kay, Wrox Press, 2001
        <ind>
          Great - the one book to buy on XSLT.  Using XSLT to generate HTML from 
          XML is a very effective way to build a web site.  That's what I did when
          I totally revised my web site at SU, of which this page is a part.
        </ind>
      </litem>
      <litem>
        DOM Scripting, Jeremy Keith, Apress, 2005
        <ind>
          Discusses designs using Javascript and CSS via the W3C Document Object Model.  I will use
          material from this book for examples in CSE686 - Internet Programming.
        </ind>
      </litem>
      <litem>
        Bulletproof Web Design, Dan Cederholm, New Riders, 2006
        <ind>
          Discusses developing XHTML structures and CSS styles for navigation and page layout in a way
          that is robust in the presence of design changes and supports accessibility.  Highly recommended.
        </ind>
      </litem>
      <litem>
        The Zen of CSS design, Shea and Holzschlag, New Riders, 2005
        <ind>
          Focus on using CSS to accomplish specific design affects.  The first chapter provides an interesting
          discussion of how CSSZenGarden.com was structured to support presentation of many different design
          concepts.
        </ind>
      </litem>
      <litem>
        Murach's SQL for SQL Server, Bryan Syverson, Mike Murack &amp; Associates, 2002,
        ISBN: 1-890774-16-2
        <ind>
          Very clear and detailed discussion of each of the SQL Commands, stored procedures,
          transactions, and locks, with good examples.  Brief introduction to db design.
        </ind>
      </litem>
      <litem>
        Relational Database Design, 2nd Edition, Jan Harrington, Morgan Kaufmann, 2002
        <ind>
          Clear discussion of the relational model, normalization, and joins, with several
          case studies.
        </ind>
      </litem>
      <litem>
        Dynamic HTML, The Definitive Reference, 2nd Edition, Danny Goodman, O'Reilly, 2002
        <ind>
          My primary source for DHTML information.
        </ind>
      </litem>
      <litem>
        Cascading Style Sheets, The Definitive Guide, Eric Meyer, O'Reilly, 2000
        <ind>
          My primary source of information about CSS.  I used XML, XSLT, and CSS on every 
          page of my web site at SU.
        </ind>
      </litem>
      <litem>
        Inside Dynamic HTML, Scott Isaacs, Microsoft Press, 1997
        <ind>
          A very knowledgeable treatment of HTML and JavaScript, especially from the 
          Microsoft point of view.  Now a little out of date – written at the time of 
          Internet Explorer 4 – but still a great source of information and reusable code.
        </ind>
      </litem>
      <litem>
        Programming Internet Explorer 5, Scott Roberts, Microsoft Press, 1999
        <ind>
          Detailed look at the COM structure underlying IE 5.0, it provides a great source 
          of information for including the Microsoft Browser control in your applications.
        </ind>
      </litem>
      <litem>
        XHTML Black Book, Steven Holzner, Coriolis Group, 2000
        <ind>
          Covers HTML 4.01 and XHTML.  This book has a lot of examples and covers most of 
          the important topics.
        </ind>
      </litem>
    </olist>
  </section>
  
<!-- Math -->

  <html><a name="Math"/></html>
  <section title="Mathematics and Computer Graphics:">
    <olist>
      <litem>
        <link title="Articles and columns from American Scientist">www.americanscientist.org/subject/Com-math.html</link>
      </litem>
      <litem>
        Algorithms in C++, 3rd Edition, Parts 1-4, Fundaments, Data Structures, Sorting,
        Searching, Robert Sedgewick, Addison-Wesley, 1998
        <ind>
          Clear, simple, graceful exposition of Algorithms and Data Structures.  
        </ind>
      </litem>
      <litem>
        Algorithms in C, 3rd Edition, Part 5, Graph Algorithms, Robert Sedgewick, 
        Addison-Wesley, 1998
        <ind>
          Clear, simple, graceful exposition of graphs and graph algorithms.
        </ind>
      </litem>
      <litem>
        Introduction to Algorithms, Corman, Leiserson, Rivest, Stein, MIT Press, 2001
        <ind>
          Nearly ideal description of data structures, sorting, optimization, graph algorithms, and other selected topics,
          along with a decent introduction to complexity analysis.  Highly recommended.
        </ind>
      </litem>
      <litem>
        Linear and Nonlinear Programming, David Luenberger, Addison-Wesley, 1984.
        <ind>
          A wonderfully lucid presentation of basic and some quite advanced optimization processes.  There are perhaps half
          a dozen books that I would love to have written.  Luenberger wrote three of them.
        </ind>
      </litem>
      <litem>
        The Algorithm Design Manual, Steven Skiena, Springer/Telos, 1998
        <ind>
          This book is an encyclopedic listing of algorithms from the linear algebra, graphs, combinatorics areas.
          It provides advice about usage, cautions, and links to many implementations.  Note that it provides few
          implementations itself.
        </ind>
      </litem>
      <litem>
        Linear Algebra and its Applications, Gilbert Strang, Academic Press, 1976
        <ind>
          Simple exposition about a topic indispensible for computer graphics.  This book provides the basics in
          a simple and clear way.  You will need other references to complete your background in this area (see below).
        </ind>
      </litem>
      <ind>
        <ulist>
          <litem>
            <link title="Prof. Strang's lectures on Linear Algebra">web.mit.edu/18.06/www/Video/video-fall-99.html</link>
            These are terrific video tapes of his lectures to undergraduates at MIT.
          </litem>
          <litem>
            <link title="Great links from Prof. Strang's web site">web.mit.edu/18.06/www</link>
            Look toward the bottom of the page.
          </litem>
        </ulist>
      </ind>
      <litem>
        3D Game Engine Design, David Eberly, Morgan Kaufmann, 2001
        <ind>
          Don't even open the cover until you are comfortable with the material in Strang, above.
        </ind>
      </litem>
      <litem>
        Computer Graphics, Principles and Practice, Foley et al., Addison-Wesley, 1996
        <ind>
          A standard text, used in many graduate programs for Computer Graphics courses.
        </ind>
      </litem>
      <litem>
        Cooperative Association for Internet Data Analysis: <ifile title="Walrus Page">walrus.xml</ifile><br/>
      </litem>
    </olist>
  </section>

<!-- Bioinformatics -->

  <html><a name="Bioinformatics"/></html>
  <section title="Computational methods in Bioinformatics">
    <olist>
      <litem>
        An Introduction to Bioinformatics Algorithms by Neil C. Jones (Author), Pavel A. Pevzner, 
        MIT Press, ISBN: 0262101068
      </litem>
      <litem>
        Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids by Richard Durbin, Sean R. Eddy, Anders Krogh, Graeme Mitchison,
        Cambridge University Press, ISBN: 0521629713, 1997
      </litem>
      <litem>
        Introduction to Computational Biology: Maps, Sequences and Genomes by Michael S. Waterman, published by Chapman &amp; Hall/CRC, ISBN: 0412993910, 1995
      </litem>
      <litem>
        Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology by Dan Gusfield, 
        Cambridge University Press, ISBN: 0521585198, 1997
      </litem>
    </olist>
  </section>

<!-- Security -->

  <html><a name="Security"/></html>
  <section title="Security">
    <olist>
      <litem>
        <ilink title=".Net Developer's guide to Windows Security, Keith Brown, Addison-Wesley, 2003">pluralsight.com/wiki/default.aspx/Keith.GuideBook.HomePage</ilink>
        <ind>
          On-line version, appears to be very thorough and well written
        </ind>
      </litem>
      <litem>
        Programming .Net Components, Juval Lowy, O'Reilly, 2003.
        <ind>
          A clearly written account of the component model and how it is implemented in .Net.  Some comparisons with COM 
          as well.  The book ends with a very well written chapter on .Net security with example code and configuration files.  
        </ind>
      </litem>
      <litem>
        COM and .Net Component Services, Juval Lowy, O'Reilly, 2001.
        <ind>
          A clearly written description of component services provided by COM+.  Contains a brief chapter on using COM+
          services from managed code.  The book has a chapter devoted to COM+ security.
        </ind>
      </litem>
      <litem>
        Programming Microsoft .Net, Jeff Prosise, Microsoft Press, 2002
        <ind>
          Covers .Net types, WinForm programming, ASP, XML, and Remoting.  We use Parts I and III for CSE681 - Software Modeling and Analysis
          and Part II for CSE686 - Internet Programming.  The book contains a very nice chapter on ASP security.
        </ind>
      </litem>
      <litem>
        <link title="Understanding .Net Code Access Security">www.codeproject.com/dotnet/UB_CAS_NET.asp?target=%2ENet%7CSecurity</link>
      </litem>
      <litem>
        <link title="Secure Architecture Design Methodologies">www.codeproject.com/dotnet/codesec.asp?target=%2ENet%7CSecurity</link>
      </litem>
      <litem>
        <link title="Insight into Security Model using Principal and Identity Objects in .Net">www.codeproject.com/dotnet/SecurityModelDotNet.asp?target=%2ENet%7CSecurity</link>
      </litem>
      <litem>
        <link title="NT Security Classes for .Net">www.codeproject.com/dotnet/ntsecuritynet.asp?target=%2ENet%7CSecurity</link>
      </litem>
    </olist>
  </section>
  </ind>
<!--  </block> -->
  </visible>  
</courses>
