| Semester: | Spring 2008 |
| Time: | Monday and Wednesday, 5:20PM - 6:40 PM |
| Location: | Engineering 143 is the official room, but we will meet often in CS2311 |
| Texts: |
|
| On-line texts |
|
| Instructor: | Dr. Robert Kelly |
| E-mail: | Robert.Kelly@stonybrook.edu |
| Office hours: | Tuesdays, 9:00AM-10:30AM |
| Office location: | Computer Science 2427, 2nd floor. |
CSE 336 will provide students with an introduction to the technology of Internet Electronic Commerce. While the business and tools of Electronic Commerce are still evolving, the underlying technology has become fairly well established. This technology takes the form of various standards, architectural approaches, interfaces, and programming APIs. The programming APIs are particularly relevant in that they provide an abstraction of the underlying technology. CSE 336 uses the programming APIs (primarily Java) to present the technology of the Internet and of Electronic Commerce. The course presents the concepts needed to build enterprise-wide solutions, particularly the server-side components of those solutions. Students are expected to complete many programming assignments that develop components of E-Commerce solutions.
Completion of CSE 219 is required to enroll in this course.
The principal objectives of the course are:
You should use an Interactive Development Environment (IDE) to complete the programming assignments. The official IDE for the class is NetBeans. However, you can use any Java IDE supporting Java SDK 5.0 and servlet/JSP development and testing (JSP 2.0).
NetBeans is available as a download from the NetBeans site; use the standard 6.0 version . If you have not already installed the Java 5.0 SDK, it also might be easier to download and install the Java SDK with NetBeans at the Sun site.
Other Java IDEs that you might use are Eclipse and Borland JBuilder Developer. Both of these are available as downloads, however, the Developer edition of JBuilder has only a 30 day license. The download of Eclipse might contain a virus, so be sure to do a virus scan after the download and install.
We will not cover the use of any Java IDE in class. However, all the information you need to use it successfully is provided at the download site. In addition, the TAs will help you with NetBeans during TA sessions.
For HTML development, Nvu is a very capable HTML tool supporting your HTML and CSS development, and is available for a free download. Dreamweaver is the industry standard tool, but it is not available with a free unlimited license. However, if you already have access to it, it should be fine for this course.
We will be following the syllabus closely. The assigned reading for the class contained in the textbook and in documents (articles, standards, etc.) available on the Internet. The readings are included in the class notes and in a page on the class Web site. A sizable portion of the reading will include XML, servlets, and JavaServer Pages.
Click on the lecture topic below to download a PDF file containing the class notes.
| Date | Topics | Textbook | Assignment | |
|---|---|---|---|---|
| 1/28 (M) | Introduction (2-up) | Due 2/3 | ||
| 1/30 (W) | URL, TCP/IP (2-up) | |||
| 2/4 (M) | DNS, MIME (2-up) | |||
| 2/6 (W) | HTML (2-up) | Due 2/13 | ||
| 2/11 (M) | CSS Style Sheets (2-up) | Due 2/17 | ||
| 2/13 (W) | XML and XHTML (2-up) | Due 2/20 | ||
| 2/18 (M) | Servlet Intro (2-up) | Ch.1 | Due 2/24 | |
| 2/20 (W) | Servlets (2-up) | Ch. 2 | ||
| 2/25 (M) | Form datasets (2-up), Http (2-up) |
Ch. 4 | ||
| 2/27 (W) | Client-side data sharing (2-up) | Ch.5 (pp. 185-208) | ||
| 3/3 (M) | Sessions (2-up), Java Beans (2-up) | Ch. 3 | Due 3/9 | |
| 3/5 (W) | JSP Intro (2-up) | Ch.7 (pp. 279-307) | ||
| 3/10 (M) | JSP/Beans (2-up) | Ch.8 (pp. 341-365) | ||
| 3/12 (W) | Mid-term exam#1 | |||
| 3/24 (M) | EL (Expression Language) (2-up) | Due 4/9 | ||
| 3/26 (W) | JSTL Tag Library (2-up) | Ch. 8 (pp. 366-386) | Due 4/9 | |
| 3/31 (M) | JSP/Servlet Interaction (2-up) | Ch. 9 (pp. 433-457) | Due 4/10 | |
| 4/2 (W) | JSP tags (2-up) | Ch. 5 (page 203) Ch. 9 (pp. 466-477) |
Due 4/14 | |
| 4/7 (M) | E-Mail (2-up) | Ch. 10 (pp. 502-536) | Due 4/16 | |
| 4/9 (W) | Javascript, DOM (2-up) | |||
| 4/14 (M) | JavaScript (continued) | Due 4/27 | ||
| 4/16 (W) | Mid-term exam#2 | |||
| 4/21 (M) | No class (Passover) | |||
| 4/23 (W) | Ajax (2-up) | Due 4/30 | ||
| 4/28 (M) | Java Persistence API (2-up) | Due 5/14 | ||
| 4/30 (W) | Java Persistence API (continued) | |||
| 5/5 (M) | JSP/XML (2-up) | Due 5/14 | ||
| 5/7 (W) | XSLT (2-up) | |||
| 5/12 (M) | Review | |||
| 5/19 (M) |
Final Exam (5:00PM-7:30PM) - Engineering 143 (exam will be 90 minutes - held during the first part of the allotted time for the exam). |
Hands on use of the Internet through the Java APIs is critical to your success in this class. Every week there will be assigned reading and for most weeks there will be programming assignments. Don't fall behind in this work. It will be difficult to catch up with the class.
There will be a few small assignments and two large programming assignments for the class. Since each of the large assignments will cover a number of topics, these assignments will be developed incrementally, with each part assigned as the associated topic is covered in class. You should plan on spending between three and seven hours per week on the assignments.
On-time submission of the assignments will count as the assignment portion of your grade. The correctness of each assignment will not count toward your final grade, so submit what you have completed by the deadline - you only learn through trying. The material in the programming assignments constitute a large component of the mid-term and final exams.
You will submit the programming assignments electronically to the TAs, beginning with Assignment # 2. Just send the Java files (not the class files). Also, the sooner you submit the assignment, the sooner it will be returned to you. You will find the e-mail address of your assigned TA on the unofficial class roster. The assignments are due at Midnight on the due date listed in the class Web site. However, TAs will not begin grading until the next morning, so if you submit it a few hours after midnight it will also be accepted.
You may work on the assignments either individually or as part of a small group (maximum of 3 students in a group). If you do work in a group, remember that you have a responsibility to understand all aspects of the assignment.
When you submit an assignment to your TA, please include the following in the body of the e-mail.
If a group works on an assignment, only one e-mail need be submitted.
This is a three credit graded course. Your final grade is based primarily on your exam scores (2 mid-terms and 1 final). The assignments are used to raise or lower your grade. The approximate weighting of the midterm and final exam is 30/30/40.
You are required to submit all but two assignments to receive a passing score in the assignment portion of your grade (meaning that your grade will neither be raised nor lowered due to the assignments). If you have fewer missing assignments, your grade can be improved and if you have more than two missing assignments, your grade can be lowered. A maximum of two assignments can be submitted late (up to 2 days) without affecting your grade.
All the exams will be closed book, however relevant class libraries and APIs will be provided to you. The exams will be composed of some short answer questions and some programming questions. For the programming questions, your understanding of the concepts will be more important than your knowledge of the exact syntax.
Be sure to bring your student ID to all exams. The TAs will check your ID, and no one will be allowed to take an exam without the proper ID. Any incidents of cheating will be reported to the University committee on academic honesty.
Be sure to be there for you assigned examination time since there will be no make-up exams.
The Pass/No Credit (P/NC) option is not available for this course.
The class is a hands on programming class, so you will require access to a computer and a Java development environment. The NetBeans development environment is available on the workstations located in the Transaction Lab. The Trans Lab is actually two labs in rooms 2114 and 2126 of the Computer Science building. Your initial account number in the lab is predetermined. Remember, you can always change your password during any Trans Lab session. And you should change your password so it is not your ID.
If you need to quickly set up account, please go to room 1309. You will need to provide the CS Systems staff with a student ID and an e-mail address. An e-mail will be sent to you when the account is ready.
Also, be sure to follow the Trans Lab Policies.
The class TAs are available to help you in understanding the material in many ways. They will provide hints and suggestions when they respond to your submission of a homework assignment. They will also be available in teaching sessions given in the Computer Science Teaching Lab. Click the link in the TA names below to pop up a mail window.
The CSE336 graduate TA (Mohammad Irfan) will be holding office hours on Thursdays in CS1206 from 5:15PM to 6:45PM.
In addition, TA sessions will be held in the Teaching Lab (CS 2129/2131), with a topic for each session. These sessions should be a great help in learning to use the tools (e.g., NetBeans) and in completing the assignments.
The sessions, along with the date, time, and assigned TA are:
We may use the Stony Brook Blackboard system for the on-line forums. If you used Blackboard during the previous semester, your login information (Username and Password) has not changed. If you have never used Stony Brook's Blackboard system, your initial password is your SOLAR ID# and your username is the same as your Stony Brook (sparky) username, which is generally your first initial and the first 7 letters of your last name.
For help or more information you can access the on-line Stony Brook Blackboard Help Desk. For problems logging in, go to the helpdesk in the Main Library SINC Site or the Union SINC Site , you can also call: 631-632-9602 or e-mail: helpme@ic.sunysb.edu.
As a student at Stony Brook, you have agreed to follow the university's rules regarding academic honesty and appropriate conduct. You should read both the academic honesty information and procedures and the student code of conduct, which can be found in the student handbook.
Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Any suspected instance of academic dishonesty will be reported to the Academic Judiciary. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary web site.
If you have a physical, psychological, medical or learning disability that may impact on your ability to carry out assigned course work, I would urge that you contact the staff in the Disabled Student Services office (DSS) in the ECC building (where the Computer Store used to be), 632-6748v/TDD. DSS will review your concerns and determine with you what accommodations are necessary and appropriate. All information and documentation of disability are confidential.
If you need general computer help, you can use the Computer Science Help Desk. Services offered include setting up an account on a department server, using Windows NT, using a browser, and connecting to the campus network. The Help Desk office is located in the SBCS Office - Room 2110.
The following list will contain links and references that will be useful in the course. To access some of the documentation, you have to register for the Sun Java Developer Connection and the IBM DeveloperWorks.