SITACS School of Information Technology & Computer Science Subject Outline ITCS907 - Java Programming and the Internet Autumn Session 2002 GENERAL INFORMATION Lecturer & Subject Co-ordinator: Dr N.A.B. Gray Co-Ordinators Telephone Number: (02) 42 213812 Email: nabg@uow.edu.au Location: 3.206 Lecturer's Consultation Times During Session Day Time Tuesdays 9:30am to 11:30am Thursdays 10:30am to 12:30pm These times are subject to variation. If they are permanently altered, students will be notified in lectures. Subject Organisation Session: Autumn Session, Wollongong Campus Credit Points: 6 credit points Contact hours per week: 3 hour lecture, 2 hour laboratory Lecture Times: Tuesday 1.30pm - 2.30pm Thursday 5.30pm – 7.30pm Location: 40.Hope (Tuesday), 40. Hope (Thursday) Laboratory Times (From Week 2 - No Labs in Week One) See notice and sign-in system @: www.itacs.uow.edu.au/general/labs Location: "Sun Java Laboratory" 3.229 Note: The University Timetable is subject to variation. Please confirm lecture/lab/tutorial times via the web - http://www.uow.edu.au/student/sols/timetables.html or with your Lecturer and/or Tutor Head of School - Professor Peter Croll, Tel: (02) 42 21 3606, Fax: (02) 42 21 4170 Content This subject provides: 1. an introduction to the Java language and some of its standard class libraries 2. experience with object oriented design and implementation techniques 3. an understanding of the Internet and its importance to modern software systems. Topics will include: Java language, subset of Java class libraries (windowing, graphics, networking, threads), object oriented design and implementation, Internet issues, basics of TCP/IP protocols, Web technologies, HTML and Javascript, CGI programming, introduction to security issues. Objectives A student who successfully completes this subject should be able to: (i) relate Java to other Web technologies including CGI, Javascript and other browser technologies (ii) build Java applets and stand alone applications that exploit the abstract windows toolkit (or swing toolkit), (iii) implement programs exploiting the threads and networking capabilities of Java, (iv) explain the security problems in a networked environment and detail Java's security mechanisms. Method of Presentation Laboratories will relate to the lecture topics. There will be no laboratories in week 1. Satisfactory attendance at lectures and laboratories is a requirement for the successful completion of this course. Satisfactory attendance is deemed to be attendance at approximately 80% of the allocated contact hours. However, attendance per se is not a component of assessment. It should be noted that according to Course Rule 003 {Interpretation Point 2 (t)} each credit point for a single session subject has the value of about 2 hours per week including class attendance. Therefore, the amount of time spent on each 6 credit point subject should be at least 12 hours per week, which includes lectures/tutorials/labs etc. Students should check the subject's web site regularly as important information, including details of unavoidable changes in assessment requirements will be posted from time to time. Any information posted to the web site is deemed to have been notified to all students. ITCS907 Subject Outline, Autumn Session 2002 Page 2 Main reference: C.S. Horstmann and G. Cornell, Core Java 1.2. Volume 1 Fundamentals SunSoft Press (Prentice Hall). --- C.S. Horstmann and G. Cornell, Core Java 1.2. Volume 2 Advanced Features SunSoft Press (Prentice Hall). Neither text is essential for ITCS907, but these books are very useful as references for this subject and for more advanced subjects that you may take subsequently The books by Horstmann and Cornell give a more balanced presentation than most Java books and are the best selling texts. Alternatives in the SunSoft series include Just Java (too introductory and opinionated), and Java by Example . If you prefer a different style, you will find Learn Java in - 21 days, - today, - 10 minutes, - now; Java for C/Pascal/C++/Lisp/... Programmers; Java Gently, Java Firmly, Java with Attitude, ... and of course Java for Dummies. (There are at least 1200 Java related texts currently available.) There are numerous Web based resources relating to learning Java. You will find useful tutorial material by following “tutorial” links from http://java.sun.com. another site of interest is http://www.javaworld.com. More general sites, with links to material on HTML, CGI programming, Java, Javascript, web site design, etc include http://www.wdvl.com, http://www.w3schools.com and http://www.webdeveloper.com. Sun's own Java tutorial is very good. It has some introductory material on programming in Java and then specialist sections exploring specific aspects of the Java libraries; many of these tutorials cover topics that are beyond the scope of ITCS907 but which may be of interest in later course such as CSCI311. Sun keeps its own on-line tutorial up to date. Sun's copyright rules prohibit other sites from having copies of the tutorial that are accessible through the Internet; local copies are permitted. A local copy, usable only from machines on campus, can be found in the "File" url /packages/javatute/index.html. A compressed archive of this tutorial (more suitable for Linux than Windows) is in /share/cs-pub/213; You can obtain a Java development environment (Windows, or Linux) from the web; again the main Java site at Sun is the most effective contact point. We mostly use Sun’s basic JDK-1.3. If you strongly prefer an Integrated Development Environment, you can download Forte Community Edition from the Sun site. If you don't want to download the latest version from Sun, there are Linux and Windows versions of the development kit in the /share/cs-pub/213 directory. If you do decide to run the Java development kit on your own PC, you will also need the library documentation (this is considerably larger than the development kit itself). Again, you can download the latest version from Sun, however there is a zip file of the documentation in /share/cs-pub/213. ITCS907 Subject Outline, Autumn Session 2002 Page 3 Assessment This subject has the following assessment components. Assessment Items Percentage of Final Mark Provisional dates 1. Assignments 5*10% A 1: April 7 A 2: April 19 A 3: May 10 A 4: May 24 A 5: June 7 2. Final examination 50% Examination Period Assignment due dates are provisional; the actual dates will be given in lectures. The electronic "turnin" submission system will be set to close at close of business, normally 11:59pm on the due date of submission. The "Late" submission system will accept assignments for up to 4 days after the specified date; unless prior arrangements for late submission (on grounds of health etc) have been made, these late submissions attract a 1 mark penalty per day. • If the examination component is passed, the final mark is the sum of laboratory and examination components. If the examination is not passed, a scaling formula may be used to reduce the weighting accorded to the laboratory component; the final mark then will be the sum of examination mark and a scaled down laboratory mark. General assessment information including scaling formula can be obtained at http://www.itacs.uow.edu.au/current/regulations.html • Assignments are to be submitted electronically using the turnin system on Unix. The "turnout" command can be used to check your submitted files. It is important that you comply with the specifications given for the file organizations of submissions. Submissions are prepared for the markers by Unix shell scripts and Perl scripts; marks will be deducted on submissions that cannot be automatically processed by these scripts. Penalties will apply to all late work, except in the case of protracted (and certified) illness. Assignments will be returned during laboratory classes. • Plagiarism may result in a FAIL grade being recorded for that assessment task. Assignments 1 use of JDK environment, Java language basics 2 practice simple class hierarchy in Java, 3 CGI exercise involving HTML and implementation of a CGI server program (in C++) 4 applet, code and accompanying HTML files 5 simple networking and/or database example, Java client and server applications communicating via sockets; use of JDBC Assignment are available now via http://www.uow.edu.au/~nabg/213/index.html. ITCS907 Subject Outline, Autumn Session 2002 Page 4 Lecture Schedule The lectures will run as two strands. Strand A (on Tuesdays) will cover the general context of the Internet, the Web, and an overview of uses of Java including aspects such as security issues. Strand B (on Thursdays) will cover the Java language, its class libraries, and OO program design and implementation. Strand A topics will include: Introduction to the Internet How the Internet works Hypermedia and the Web Internet Web clients Web servers HTML and Javascript Server side scripting Security model for Java Java and the enterprise Java virtual machine (Students are now expected to have developed simple web sites in assignments for 100 level CS or Elec subjects; consequently, some of the more introductory materials are no longer covered in ITCS907.) Strand B topics will include: Java language basics Object oriented programming concepts Event based programming Overview of Java class libraries Programming with the AWT (or Swing) Object oriented design Introduction to java.net Programming with java.lang.threads Other Important Information • Java dialect will be 1.3 (except for Applets, where stick to Java 1.1 features). Caution, the class libraries in different versions of Java are not always compatible. If you do your development using your own Java tools, which may have different versions of libraries, do check that your program runs on the University’s Unix system. • The lecture overheads will be made available as PDF files. These files will be accessible at: http://www.uow.edu.au/~nabg/213/index.html No passwords are needed to access this page. This page will also include links to the assignments. • Some additional example code may be provided in /share/cs-pub/213 (local access only, not accessible via web); code examples for the assignments are almost all linked to the assignment web pages. • You should bookmark the API documentation pages. ITCS907 Subject Outline, Autumn Session 2002 Page 5 The documentation will be in /packages/java/jdk/1.3.1/docs/api/index (a web-accessible version of the documentation is available from Sun at http://java.sun.com. Internet Access The University provides Email and Internet Access for all students. This access is for academic purposes only. Students should be aware that quotas are strictly enforced and students are expected to use the free email account provided by the University. Students are warned that use of HotMail (and other non-UoW web mail accounts) consumes quota at a high rate. Quotas will not be renewed for students using their access for non-academic purposes such as downloading music, entertainment or recreation or access to other mail accounts such as HotMail. Details of the University Policy and Guidelines for Email and Internet Access are available at http://www.uow.edu.au/student/sols/ under "email & internet". The Guidelines clearly explain the quota system that the University applies. Student Reception and Resource Centre The Faculty now has a “one stop shop” for all student enquiries. This is located on the first floor in Building 3. If you have any enquiries or are not sure what your options are this is your first point of contact. Staff are available to assist with helpful advice, such as “what course of action is open to you” or “who to see”. Any forms you are required to complete will be available, as well as material on all courses offered by the Faculty. The staff will be able to make appointments for you to see the Sub-Dean, International Officer, the Dean and other relevant academic advisors. The contact number (02) 4221 3606. Disability Services - Disability Liaison Officer The Disability Liaison Officer (DLO) can provide advice on how particular disabilities affect university study and information on resources available at the University for assisting students with disability. Students who need assistance during their studies should contact Hazel England, the Disability Liaison Officer by phone (02) 4221 3445; or facsimile (02) 4226 2399 or call in at the office located on the third floor of the UniCentre building. Students commencing courses are advised to contact the Disability Liaison Officer prior to the beginning of their first session of study. Non-sexist and non-racist language University of Wollongong staff are committed to the use of non-sexist and non-racist language in all work submitted for assessment. This outline should be read in conjunction with the following documents School Computer Usage Rules http://www.itacs.uow.edu.au/general/rules97.html SITACS' Student Guide to Some of the University's Regulations, Codes of Conduct and School Policies http://www.itacs.uow.edu.au/current/regulations.html University Codes of Practice – Teaching and Assessment http://www.uow.edu.au/about/teaching/teaching_code.html http://www.uow.edu.au/about/update.html SITACS Style Guide for Footnotes and Documentation http://www.itacs.uow.edu.au/general/styleguide.pdf ITCS907 Subject Outline, Autumn Session 2002 Page 6 Subject Outlines http://www.itacs.uow.edu.au/current/subject_outlines ITCS907 Subject Outline, Autumn Session 2002 Page 7