Week of | Topic | Readings / Due Dates |
|
1 (1/17)
(Tues) | Introduction to Course; Introduction to the WWW, Web Protocols, Ethical, Global, Societal Impacts of WWW Slides
|
Mashups: The new breed of Web app
Internet Minute |
(Thurs) | 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 | Web 2.0 Podcast Intro to Web 2.0 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 Slides
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 |
http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html
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! Slides
|
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 | ShoppingCartAsJavaIntro.doc GoShopping2.java ShoppingCart.java Item.java
|
|
5 (2/14) |
Java: Inheritance, Overloading, Overriding,
Abstract Classes, Interfaces, Exceptions, Polymorphism/Inheritance (Main.java),
Wrapper Classes.
Java SE, EE, ME
Slides |
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 MyFirstServletNow.java MySecondServletNow.java 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 |
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
Create-DeptEmp-Derby.sql
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
JPA 101 Tutorial
JPA:
New Enterprise Standard
|
http://www.objectdb.com/java/jpa/persistence |
|
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
http://coreservlets.com/
|
|
|
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
(6:30m)
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
http://www.packtpub.com/article/jsf-20-features-extension
http://java.dzone.com/articles/fluent-navigation-jsf-2
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
http://www.slideshare.net/jimdriscoll/jsf-2-and-ajax
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
Cloud-AppEngine
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)
T:\itk353\NetBeans\ISUYQL
Web site performance (http://www.webpagetest.org)
Course Wrap-Up
Pre-Test2
|
|
|
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)
| |