CSE 5345 & 7345
Advanced Application Programming
Fall 2009

frank p. coyle / senior lecturer / coyle @ engr.smu.edu / 214.768.3086 voice / 214.768.3085 fax

Class Notes DnLoad

 

Session 1

Intro Questions

Session 2

HTTP Handout

Enums

ArrayList

Servlets

Session 3

Regular Expressions

Session4

Exception.slides

Collections.slides

API.MAp

API.Iterator

API.Collections.framework

API.Collections

Collections.code

Observerable.example

Observer.slides

Session 4

Assignment 2

Session 6.

Threading.slides

Session 7

MidTerm Exam Notes

Concurrency Notes 1

Concurrency Notes 2

Session 9

Assignment 3

Threads 1

Threads2

Session 10

A4 Related Code Examples

Session 11

Java SAX& DOM Parsing

Yahoo Site Search

Yahoo News - RSS

Tutorial XML Parsing

Yahoo RSS Feeds

Session 12

What is XML?

 

 

 

------

drC's VIDEO Library

Ask DrC Series

Intro to Streams

Deploying Servlets

 

Rollo asks "Do I Have Java?"

 

Hello World with Input

NetBeans - Downloading

NetBeans - HelloWorld

NetBeans - DOS View


Understanding JAR Files

AVI Versions

JAR Files Pt I
(19 MB)

JAR Files Pt 2
(18 MB)

Flash Versions

Jar Files part 1

Jar Files part 2


ANT

What is ANT?

HelloWorld - in ANT

ANT - TwoTargets.1

ANT - TwoTargets.2

ANT - TwoTargets.3

StringTokenizer

StringTok Part 1

StringTok Part 2

StringTok Part 3

.

Welcome to Advanced Application Programming

Nov 11. The final assignment #4 is now posted. There are several parts so please get started working on the preliminaries. Due date is Dec 13 for both in-class and distance students. Final Exam is Dec 15.

IGNITE! -- at the class class (Dec 8) we will have IGNITE! presentations in class. IGNITE! presentations are 20 slides, 20 seconds per slide, running on a timer. Topics can be anything related to this class. It is a good exercise to tone your presentation skills. Slide reading is just about impossible. For distance students, you should plan on submitting a video or just submit an audio = slides and I can run the slide show with the audio in the background. We've done IGNITE in the past and they are lots o fun. Search IGNITE on Youtube and you'll find some very interesting presentations. The IGNITE home page is at; http://ignite.oreilly.com/ This style of presenting also goes under the name of pecha-kucha - see : http://www.pecha-kucha.org/

Nov 5: Assignment A3 is due Nov 12 (inclass), Nov 14 for distance

Oct 20. See Midterm Notes under Session 7 for detailed info about the midterm.

Oct. 6. There is no class on Fall Break day Oct 13. The Midterm exam will be on October 27. It will cover all material thru Oct 20, including Java Concurrency Practice, chapters 1-5.

Oct 5. You may submit your revised version of Assignment 1 for re-grading. The tests will be essentially the same as previously. To have your A1 assignment regraded, submit your revised zip file with source code to Blackboard where you will find an A1-RESUBMIT link.

Sept 16. Assignment 1 has been modified to include the naming convention for your servlets. The added text is:

SUBMIT/DEPLOY:
So that your servlets can be easily located, please name your project with your userid prefixed by A1. For example, in NetBeans, my project name would be A1coyle which will then create A1coyle.war when you build your project. Each project will have two servlets. Name the servlet for part a, AddServlet and the servlet for part b, WeatherServlet. Then, to test your servlets, the following should work: (replacing coyle with your userid).
http://neo.engr.smu.edu:8080/A1coyle/AddServlet?int1=876&int2=555
http://neo.engr.smu.edu:8080/A1coyle/WeatherServlet?zipcode=90210

When you have tested your servlet code from a browser, package the two source files in a zip file and a readme file that contains the links to your servlets (just in case there is a problem) and submit to Blackboard using the Assignments Link for Assignment 1. Make certain to add a JavaDoc @author tag with your name.
Don't forget to have your servlet set up the HTTP response to tell the browser that you are delivering text/xml. To do this add the line:
response.setContentType("text/xml");

Sept 15. New video on Streams is now available.

Sept 11. View the new Video on Creating and Deploying your Servlet.

Sept 10.

There is a new homework posted to get you up to date with the class. These homeworks will not be graded but will definitely help you make progress with in the class and hone your Java skills. There will soon be a short video posted about how to write and deploy a servlet. Check back here for more information.

Sept 2.

First time using clickers but I think the experience was a success. The question set is available under session 1 handouts.

There is an Assignment 0 posted which will not be submitted or graded but that you should do before session 2. It is intended to get you familiar with some Java string processing and exceptions.

September 1.

Getting a servlet to run on neo.engr.smu.edu.

You will need:

  1. SMU Engineering login & password
  2. A .war file created with the IDE of your choice. The war file should be named a1user.war, where user is replaced by your login id.
  3. Use WINSCP to do a secure login to neo.engr.smu.edu using your login id and password
  4. Navigate to the root directory of neo, then navigate to /usr/tomcat/webapps and upload your war file. You should then see a folder (automatically created) that corresponds to the name of your war file.
  5. Test your servlet: http://neo.engr.smu.edu:8080/a1user/hello -- where user is replaced by your login id. Check the page souce since your browser may not display xml.

The textbook we will use is the Java Concurrency in Practice by Brian Goetz Addison Wesley.

Order here from Amazon.

Recommended Book: Learning Flex 3 by Brian Goetz Addison Wesley.

Order here from Amazon.

 

 

 

To help you jumpstart your Java explorations I have created a few videos that you can download as part of this class. These are short Flash and AVI video how-to sessions which you can download without a password. Just use the links under VIDEOs in the right column. If you would like a short video covering a topic you'd like more info about, let me know.