Weekly Schedule

Home News Syllabus Weekly Schedule Assignments Project FAQ Sample Programs Handouts Course Links Class Notes


(Very) Tentative Schedule (This is subject to change as the semester progresses. Page last updated on 04/19/12.)

Locations of visitors to this page

denotes a "online" class meeting (see Syllabus for the implications for such kind of meetings)

Week of


Readings / Due Dates


1 (1/17)


Introduction to Course; Introduction to the WWW, Web Protocols, Ethical, Global, Societal Impacts of WWW



Mashups: The new breed of Web app


Internet Minute


HTML/XHTML Programming + CSS + Web 2.0

Sample HTML/CSS docs

HTML5 Showcase (Apple's Safari browser only), Another one

HTML5 Deep Drive


W3 Schools (Free tutorials on various web technologies)


Google University (Various courses that Google employees take, now made available to all)


CSS Cheat Sheet

  1. Web 2.0 Podcast

  2. Intro to Web 2.0

  3. QEDWiki


20 Essential Things About HTML5


Facebook Hacked


mapping network drives guideline


Growth of Web services


2 (1/24)

Intro to JavaScript

HelloWorld, For-In Loop 1, 2, Combination of Features Demo, ArraysInPage



Misc: Array Example 1, 2, Functions


More JavaScript Programming (Syntax, Control Structures, JS Object Model, DOM, Event Handling) Form+Events, byId vs. byName

17 Hours of JS from the Masters


More JS tutorial


JavaScript Performance 3.0 vs. 3.1


Firebug, Aptana JavaScript IDE


JavaScript Debugging w/ Firebug



JavaScript 101 Using NetBeans


JavaScript Programming: String, Radio 1, 2, Submit, Date

Lab 1 Due



Last Day to Drop a Course with no Withdrawal Grade and Full Refund

3 (1/31)

JavaScript Programming (Checkbox, onChange, onBlur, TextArea, Select 1, 2, onFocus, Location, Image 1, onMouseOver, 2, 3, .js 1, 2,), browser detection




JS Misc. (Hidden, onLoad/focus(), Window 1, 2, WebQuiz, onKeyUp, JavaScript Libraries: jQuery, script.aculo.us, X Library )


jQueryExample, Live Examples from jQuery, 2



jQuery in NB

4 (2/7)

Introduction to Java ("hello world," application vs. applet, data types, casting), Java: arrays, command-line args, parameter passing, static variables and methods, coding guidelines; classes, Interfaces. Online Activities <== NO face-to-face meeting today!




Assignment 1 Due


NB/JUnit Lab in OU 129 or regular classroom (if it is a lab)


Java: OO Programming, Access Specifiers, JUnit Testing


NetBeans 101,

JUnit 101 in NetBeans 6.x



  1. GoShopping2.java

  2. ShoppingCart.java

  3. Item.java

5 (2/14)

Java: Inheritance, Overloading, Overriding, Abstract Classes, Interfaces, Exceptions, Polymorphism/Inheritance (Main.java), Wrapper Classes.

Java SE, EE, ME


Dice Tech Salary Survey 2010-2011


Comparison of WebApp Frameworks


Overview of EE 6, EE 6 and GlassFish (screencasts at Parley's)
Full Overview of EE 6 (Sun's PDF)



Web App 3-Tier Architecture


Server-Side Programming; HTTP request/response model (CGI, Servlet, GET vs. POST, and JSP Programming); JSF Architecture, EL




MyFirstJSPNow.jsp code fragment

JSF Slides ("big picture" slides for now)


Lab 2 Due


URL Encoding

6 (2/21)

Server-side Lab in OU 129 or regular classroom (if it is a lab)


(Managed Beans, Scope of Web App, Property Binding, Event Handling)


JSF 2.0: ProfileMatch Web App (radioGroup, dropDown, checkboxGroup, listbox, Managed Bean, (Implicit) Page Navigation)



JavaServer Faces HTML Tags Reference, More here

JSF Tutorial, Similar One (mirror?) Here

Navigating Pages in a Web Application

Redirection When Session Times Out

What's new in JSF 2.0?


More Web/JSF: JDBC Insert (ProfileMatchAppJSF2.0WithDA.htm); Test Review (Test Study Guide)

Slides Pt1


Hot IT Skills for 2012

Amazon Silk Browser: Next Browser Architecture

7 (2/28)

Server-side Lab in OU 129 or regular classroom (if it is a lab)


(Web App Debugging, Server Error codes, Database Setup, Connectivity, SQL Exceptions)


Setting Up Derby/JavaDB + JDBC INSERT


Adding more functionality to the ProfileMatchApp: SELECT + DataTable component


How to modify the default "welcome files": Under the project node, look at "Web Pages" then "WEB-INF." Double click to open "web.xml". Then goto the "Pages" or "XML" tab. Note the welcome page listed; "faces" context

Assignment 2 Due


Test 1



8 (3/6)

(Web) Databases via JDBC



Debugging JSF apps (T:\itk353\NetBeans\DeptEmpAppJSF2.0WithDA-SELECT-dataTable-WithErrors (with Retrieval functionality, compound object); Errors: navigation not matched, property not found, what if deptNo (say 1000) is not found?, syntax SQL errors, etc.)


Adding JSF validations (<f:validateLongRange ...): What if deptNo (say 111) is entered?


How to fix the errors in the above app?

Pair/Team Programming Challenge


Discuss Test1


Continue w/ JSF project debugging, validation, etc.


Converters and Validators in JSF (T:\itk353\NetBeans\ConverterAndValidators)


Lab 3 Due

Mid-Semester Survey

Friday = Last day to withdraw w/ WX

9 (3/13)

Spring Break


Spring Break



JPA: Query Examples
JPA: Best Practices


JSF2 (various topics)


Grad Research Paper Midterm Report Due



10 (3/20)

JSF Architecture: A Closer Look; Web Dev Roles; Life Cycle, Scope


new! ProgLang Voting App: 1 vote per user (per session); Tallies (T:\itk353\NetBeans\PL-VotingWebApp)


Exercise: add max of N tries for Guessing Game (Start with: UserNumberBean.txt; Solution in: T:\itk353\NetBeans\jsf2.0_guessnumber_Max1Try)


 Slides Pt2  Slides Pt4


Team Roster and Responsibilities Due

Dice Technical Skills Glossary




JPA 101 Tutorial

JPA: New Enterprise Standard



11 (3/27)

JPA Lab in OU 129 or regular classroom (if it is a lab)


JPA 102


(stay) DRY principle: JSF2 Templating (T:\itk353\NetBeans\JSF2.0Templating and T:\itk353\NetBeans\JSF2.0TemplatingPlanetsWNB6.8)


Q: How to request the newjsf.xhtml (in the 1st template app)?

A: .../faces/newjsf.xhtml

Entity Lifecycle Management


Another templating example


CRUD App From DB / JSF Pages From Entity Classes (T:\itk353\NetBeans\DeptEmpAppJSF2.0WithJPA_AutoJSFPages)


Custom Tags in JSF 2.0 



Using JavaScript, CSS in JSF/NetBeans (T:\itk353\NetBeans\JavaScriptConfirmPasswordApp)

Wrapping up on DB Webapp (T:\itk353\NetBeans\UpdatePrepopulate)



Slides Pt1, Slides Pt3


Assignment 3 Due (class time!)


Peer Evaluation for Assign 3


Integrating Images with JSF, CSS with JSF, and JS with JSF


What's new and cool with JSF 2?


Many more Web samples at: http://netbeans.org/kb/trails/java-ee.html


Past Challenge: Sample app at: T:\itk353\NetBeans\Restaurant


JSF 2.0 Component Model screencast


12 (4/3)

Introduction to XML

XML Slides


Stanford Videos on (1) XML, Well-Formedness (DB perspective) 13 mins, on (2) XML, Validity, XML Schema 13 mins


Read the XML slides above, watch the videos, and/or tutorials on XML (e.g., http://www.w3schools.com/xml/default.asp ) and answer the questions given in XML activity. You must have this done before the beginning of the next class meeting. It is worth 20 pts.


address.xml and address.xsd



More XML; Web Services

Web Services Slides


Many more Web services samples at: http://netbeans.org/kb/trails/web.html

Mashups (1. Another article about My Maps 2. Video)


Yahoo's BOSS, YDN Amazon WS

Ubiquity, more
Mini-Mashup ("Web Slices") in IE8

Other "real-world" WS examples:


  • Consuming Zillow Web Services in NetBeans 6.1
  • Consuming StrikeIron Web Services in Web Applications
  • Improving Performance of Healthcare Systems with SOA
  • eSynaps Web Services Search
  • List of Web services (XMethods)
  • Google Maps Tutorial


  • 13 (4/10)

    Web Service Lab in OU 129 or regular classroom (if it is a lab)

    Web Services 101


    Pre-rendering Event w/ <f:event (T:\itk353\NetBeans\PrerenderApp)

    PreRenderViewEvent Example 






    Comparing Web Frameworks (59m)

    User Authentication Web App Using Java EE 5


      State-of-the-art Web Technologies (e.g., AJAX, Mobile Commerce) AJAX Slides, "Check-as-you-type" App (AJAX straight-up) (Run It!; ) avail at: T:\itk353\NetBeans\OldStuff\AJAX-Pragmatic

    Also, JSF AJAX apps at: T:\itk353\NetBeans\AJAX-CayLoginOutText and T:\itk353\NetBeans\AJAX-Hall

    Hall's JSF 2.0 AJAX

    Lab 4 Due


    AJAX: Intro 1 (Sun), Intro 2 (IBM), 3 (W3Schools)

    AJAX Design Strategies


    Security (AJAX vulnerability (6-20 min, 31-37 min),Jikto (11:22-16:30 min)


    Top 10 reasons Websites get hacked

    Anatomy of a Hack

    How to Hack and Secure your Java Web App

    School Supplies App on Google's AppEngine Cloud


    Composite Component (T:\itk353\NetBeans\CompositeComponent2ndCompoAdded; CompositeComponent-SwitchList)

    14 (4/17)

    Accessing Managed Beans from Another Managed Bean; <ui:repeat>  (T:\itk353\NetBeans\CheckPageBeforeRenderPlusMBAccess)


    Bringing It All Together Sample app at: T:\itk353\NetBeans\Restaurant (RestaurantDB is at T:\itk353\NetBeans\DerbyDBFiles)


    PetShop WebApp (JSF 2.0, MVC, JPA) Available at: T:\itk353\NetBeans\catalog. Be sure to copy the "Sample" DB from T:\itk353\NetBeans\DerbyDBFiles.



    State-of-the-art Web Technologies

    Last Set of Slides


    Using the School of IT GlassFish and Derby Servers


    SQL Injection and XSS Scripts


    Using JavaMail API (T:\ITK353\NetBeans\JavaMailApp)


    RESTful Web Services:

    YouTube Video: RESTful Web services using JAX-RS

    SOAP vs. REST Web Services (http://www.youtube.com/watch?v=v3OMEAU_4HI&feature=related)



    Web site performance (http://www.webpagetest.org)


    Course Wrap-Up




    15 (4/24)

    Test #2




    Pair Programming Challenge Prototype Due



    16 (5/1) Final Project Presentation in OU 129 (Be prepared for a marathon, beyond standard class time session!) 
      Final Project Presentation in OU 129 (Be prepared for a marathon, beyond standard class time session!)

    17. Final Project Turn-In (To Be Arranged)



    Project Day (see "marathon" next week)

    Web Security Online Activities

    Interesting/Useful Articles

    http://netbeans.org/kb/docs/web/jsf20-crud.html (CRUD, JSF2)
    http://wiki.netbeans.org/DevelopJavaEE6App (EE6, JSF2, 3-Tier)
    http://netbeans.dzone.com/news/generation-jsf-20-crud-in-netbeans-68 (JSF2, DB)
    http://www.andygibson.net/blog/index.php/2009/12/16/getting-started-with-jsf-2-0-and-cdi-in-jee-6-part-1/ (JSF2, CDI)
    http://weblogs.java.net/blog/2009/07/24/jsf-20-jpa-glassfish-and-mysql (JSF2, JPA, PetStore)
    http://www.ibm.com/developerworks/java/library/j-jsf2fu1/index.html (JSF2: streaming app dev ...)

    File Upload (http://www.netbeans.org/kb/docs/web/fileupload.html

    NetBeans Visual Web Pack
    NetBeans Visual Web Pack (VWP) Introduction
    NetBeans Visual Web Pack (VWP) demo on using a Web service


    CSS w/ JSC/VWP
    http://blogs.sun.com/winston/entry/css_layout (described for JSC; works for VWP as well?)


    Servlets and JavaServer Pages Revisited Servlets Slides JSP Samples

    DoGetPostServlet.java SubmitViaPost.htm


    Student.java StudentDB.java RegisterToDB.html RegisterEmailURLToDB.txt

    Using Servlets in JSF 


    http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9016799&source=NLT_AM&nlid=1 (EC2, S3)

    1. Sun BluePrints AJAX 

    2. Installing AJAX into NetBeans

    3. Using AJAX Map Viewer

    4. Woodstock AJAX project


    5. jMaki AJAX Framework,

    6. jMaki 2nd Screencast


    IBM's GMaps4JSF in the JSF 2.0 Ajax world

    How to Configure GMaps4JSF in NetBeans

    Google's GMaps4JSF Library

    (Check out the OnlineDemos (another one here) and HowToUse sections)


    Spring Break