Welcome to the fall semester of Advanced Java (CSE 5345/7345)
Dec 1. Tonite is Pecha-Kucha night! If you have any pre-recorded video files to send please be aware that the SMU mail server rejects zip files. You can get around this by renaming the file with the extension .ip -- and then I can rename at this end. BUT, beware that files over a few MB will be rejected by the server and overflow my mailbox capacity. HOWEVER, Joe Swindler (thanks Joe!) used www.sendthisfile.com where you can upload a giant zip and send a link so I can easily download. If submitting, pls do this as early in the day as you can.
Nov 28. NewUpload Scheme.
Due to problems resulting from my crashed hard drive I have added everyone in the class to the Blackboard: CSE 7345 Advanced Java. Please log in and with your SMU access ID and password to http://courses.smu.edu and you should see CSE 7345. Go the grades section and see if any assignments you have completed and submitted are not graded. If so (and there are a several, especially A4, A5 & A6) then go to the Assignments link andre- upload your zip file. There are also links for A7 and A8 where you can submit your zip files after to deploy and test your servlets. If you upload any files, there is no need to email me since I can see new submissions in Blackboard and will grade them as they appear. Sorry for the inconvenience.
Nov 23. Assgn A7 & A8. The assignment servlets should be named a7yourid and a8yourid - but what to name the class file so I can test it. The easiest is to name the class the same as the servlet. For example, if your id is jsmith then I will test your servlet using: http://neo.engr.smu.edu:8080/a7jsmith/a7jsmith?url=xxx
Since a7jsmith is a cheesy name for a servlet, you can always name the class file anything you like and then do a mapping by changing your web.xml file. For example if you name your class com.jsmith.SuperRssReader, you can set up your web.xml file as:
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>a7jsmith</servlet-name>
<servlet-class>com.jsmith.SuperRssReader</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>a7jsmith</servlet-name>
<url-pattern>/a7jsmith</url-pattern>
</servlet-mapping>
...
The bottom line is that the test for jsmith will be:
http://neo.engr.smu.edu:8080/a7jsmith/a7jsmith?url=http://www.xx
Sorry for any confusion on this.
Nov 20. Sigh! As you may have heard during the last class, I had a power surge and my Vista machine crashed (although the XP machine did just fine!) .. but my class files were on the Vista machine and I'm in the process of extracting my data files which included the source code for the upload program as well as many of the A5 & A6 submissions I had retrieved and was ready to grade. I expect to have things back in order within the next few days, so please hang on and when things are back, I'll post a note on the class web site. along with a program where you will be able to see all your grades to date! [as a postscript to this problem, I have purchased a Lacie 500 GB external USB 2.0 hard disk from the SMU Computer Corner for $89 which will let me move all my data to another PC if there is a crash, just by reconnected a USB cable. The price seems quite good and if interested, contact the Computer Corner at SMU.
Nov 16. Assignment 8 says to return a file - but it should read "return xml" - the intent is for the servlet to respond with xml that can be viewed in a browser .No file action required. Don't forget to include:
response.setContentType("text/xml");
before you output any text.
Nov 15. Notes are up for session 12. Some info about working with XML from Flex and some semantic web material (the future of the web, IMHO).
Nov 10. Notes are up for session 11 as well as Assignment 7 & 8. If you elect to do any extra credit, the due date for both project and A7/A8 is Dec 10. If you elect to do a project only OR A7 and A8 (only), the due date is Dec 3. These are dates for both in-class students and distance students.
Unless there is demand, there will be no online quizzes, and the 20% associated with the online quizzes will be spread across the other grade components (class participation, assignments, midterm, project (or A7, A8)).
Final Exam. Students who scored below 60 on the midterm must take the final exam which will re-cover topics from the midterm PLUS JDOM. Students who scored above 60 may take the final exam. Your grade on the final exam will be averaged with the midterm to figure into the midterm grade component.
Project Students --please prepare:
- a 2 to 5 page report describing your project: what you did, a description of the technologies involved, how you integrated them, what you learned, and what were the obstacles.
- commented source code
- if a web service, the link to the web service (in your report)
- a 20 slide -- 20 seconds per slide -- pecha kucha
Pecha-Kucha: On Dec 1 (the last class),students doing a project should prepare a pecha-kucha presentation outlining their project. Your project does not need to be complete in order to do the presentation, but it should be presented as if everything will work our great. Some things to consider:
- explain the technologies you use;
- illustrate gotchas;
- show off your code,
- show output (real or imaginary)
In the pecha-kucha format, there are 20 slides and each slide is timed and shown for exactly 20 seconds. This is the opposite of death-by-powerpoint. Pecha-Kucha details can be found at http://www.pecha-kucha.org/ and http://www.joelonsoftware.com/items/2008/07/18.html.
Distance Students should consider recording a pecha-kucha presentation and making it available on the web or sending it to drC prior to the Dec 1 class -- or send drC the powerpoint with text and drC will present for you.
Extra Credit Pecha-Kucha.
Want to boost your class participation? Present a technology-related pecha-kucha any time prior to or on Dec 1. A successful pecha-kucha can help raise your grade by a half-letter based on a to-be-determined formula.
Nov 3. Notes for session 10 are now available. Pay special attention to the news about the project - now optional if you elect to do two additional assignments.
Oct 28. The uploader has been adjusted to allow for the upload of A6 and A6 optional assignments. A6 should be named a6userid.zip and optional should be a6optuserid.zip. (replace with your userid).
Oct 6. Handouts for session 7 are now available.
Oct 4. There is a new (refactored) Rollo Tester that requires a login and will make it easier to add tests to the mix. Drop by and try to fool Rollo.
Sep 29. The CSE7345 class assistant, Rollo, has created a source code tester and will be available to give you feedback about your source code before you submit. You will need to have Adobe Air installed on your machine. Download Adobe Air here.
Download the FREE Adobe Flex Development Tool.
Sep 26. The port assignment on neo is now available under Class Links. Please use only your port.
A JavaDoc example has been added under Class Links so you can see how JavaDoc comments are done.
Sep 25. OOPS on Upload! For those of you who were early uploaders, great! However, the most recent upload of a3add.java ended up overwriting any earlier a3add.java - and so, the only uploads sent prior to 8 AM on Sept 25 that I could read were from R. Alawadhi, J. Swindler & C. Bates, and-- some mysterious uploader namedf Xyrus. If you uploaded prior to Sep 25, and are not in the above list, please uploaded again using the revised uploader.
Now Upload A3 will expect a zip file named as a3user.zip where user is the userid you use to login. The nice thing about the Flex UI being used for this, is that Flex makes it easy to enforce the file name rule!
Some source code tips:
- use javadoc comments for methods and your class; they don't need to be extensive; just to the point
- use the @author tag in a javadoc so I know who you are and can give you credit
- remove extraneous comments from the IDE; remove any commented out source code
- don't use tabs
- use java opening brace style: if (x>2) {
Sep 24. Upload program for source code for assignment 3 is now ready. Your file should begin with "a3" and have a .java suffix. If you have multiple source files, please rename them to start with "a3" and upload individually. You may zip multiple source files but for this assignment separate uploads are preferred.
Sep 22. Assignment 4 is now available. It is a multi-part assignment where you will modify existing code and create a web server of your very own to rival that of Tomcat and GlassFish. In addition you will control your own testing of your server using WebInject which is available for download at www.webinject.org (documentation available in the Session 5 list of docs).
Almost ready for release is a File Upload service where you can upload your code for A3 as well as the output and source code for A4. So, get your code cleaned up. Be very aware of:
- well written comments within the code
- JavaDoc - get familiar with it.
- your name and user id should appear in your code
- NO TABS! - indent with spaces
- meaningful variable and method names
Sep 21. Happy Autumn. The Tester is now ready to accept your tests for Assignment 3. The problem of incorrect grades from A1 and A2 has been fixed.
Sep 15.
The tester for Assignment 3 is still under construction. Note that for assignment 3 you will also be submitting source code. Be sure to have comments in your code, include your name, name your variables well and write modular code.
Sep 10
The Tester is now ready for Assignment 2 testing. Only proper parameters will be tested. In Assignment 3 you will need to provide error messages, but not in A2.
Sep 9.
Assignment 3 (Numerology) ha sbeen revised. Make certain you download the revised version(that says *** REVISED *** V3) before tackling the assignment. Download revised version here.
Sep 3.
The Tester porgram now has an option to enter a password to make the score official (so we know it's really you). When using a password, you can still resubmit if you are not satisifed with your grade. If you don't yet have a password, email drC and give him your SMU Engineering login.
Class Discussion Group: If you have not already received a notice about joining Google Groups, visit the web site http://groups.google.com/group/cse7345/ where you will have an option to apply for group membership. You do not need to create a Google Gmail account to sign up. You can use your email but you must create a Google Groups password to login and post messages. Anyone is able to read the postings.
Sep 2.
Session 2 will cover the HTTP protocol, testing of servlets using WebInject and using regular expressions. You can download WebInject from: http://www.webinject.org/
Aug 31.
A Flash video demo of how to write and deploy a servlet on neo is now available at: http://www.engr.smu.edu/~coyle/askdrc/howto/servlet
Getting your servlet to run on neo.engr.smu.edu.
You will need:
- SMU Engineering login & password
- 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.
- WINSCP to do a secure login to neo.engr.smu.edu using your login id and password
- 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.
- 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.
Aug 30. The Tester Program is now up and ready for you to test Assignment 1. The Tester requires a falsh plug-in for your browser. If you do not have Flash, you will be asked to install. No password is required. This version is for your testing pleasure only. Click here to run the tester.
Class Discussion Group:
This semester we'll be trying out Google Groups to manage our class discussions. The link is: http://groups.google.com/group/cse7345/
If you have not already received a notice about joining Google Groups, visit the web site http://groups.google.com/group/cse7345/ where you will have an option to apply for group membership. You do not need to create a Google Gmail account to sign up. You can use your email but you must create a Google Groups password to login and post messages. Anyone is able to read the postings. Happy postings!
The textbook we will use is the Java Cookbook by Ian Darwin, O'Reilly Publishers.
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.
senior lecturer /