We have a Discus discussion board for 134A. Please use this for any and all questions of general interest concerning the course.
The fourth
and last project description is now available. The project is
due at noon on Monday December 3. See Discus and the
November
16 section notes for help. Here are grading
criteria for the fourth project.
Here are grading criteria and comments for the third project, and grading criteria and comments for the second project. These will explain the score you received for each project.
See these important
notes written by Greg Hamerly about ieng9 and MySQL accounts
for 134A.
|
|
topics |
| Sept 24 | Course policies, web services, role of PHP and MySQL |
| Sept 26 | PHP and Apache, forms in HTML and PHP, GET versus POST, functions |
| Oct 1 | Web design mistakes, three-tier architecture, using the MySQL server, declaring and querying tables in SQL |
| Oct 3 | Clauses in select queries, delete/update/insert SQL commands, summary and join select queries |
| Oct 8 | The team self-evaluation form, database indexes, use for query evaluation, efficiency and scalability |
| Oct 10 | How cookies in the browser and with PHP. Sessions and how to use them with PHP. |
| Oct 15 | Session variables, cookies and URL rewriting for session propagation, storage methods for sessions |
| Oct 17 | When to use table indexes, good database design, avoiding redundancy. |
| Oct 22 | Enforcing database constraints. Regular expression (RE) basics. |
| Oct 24 | Leftmost, longest RE matching and efficiency. Using REs to extract or replace parts of a string. |
| Oct 29 | Voice server architecture, VoiceXML syntax, forms and fields, telephone-based user interface design |
| Oct 31 | In-class midterm exam (PDF, revised to increase clarity) |
| Nov 5 | Web site design objectives and architecture. Security zones, firewalls. |
| Nov 7 | UI principles. Page-based versus component-based application servers. |
| Nov 12 | No class because of Veterans' Day. |
| Nov 14 | Introduction to XML, document type definitions (DTDs), and SOAP |
| Nov 19 | SOAP requests, payloads, and responses. XML namespaces and data types. |
| Nov 21 | DTDs: internal and external, entities such as images, attribute definitions. |
| Nov 26 | Basics of XSLT, the XML stylesheet language |
| Nov 28 | Limitations of SOAP and web service needs, Microsoft .NET. The Google pagerank measure. |
The following section notes are in HTML or Acrobat Portable Document
Format (PDF).
|
|
topics |
| Sept 28 | MySQL tutorial, Using PHP with MySQL (PDF) |
| Oct 5 | A sample solution for Project 1 |
| Oct 12 | Sockets in Unix and PHP. Advice for building a server to check spelling. |
| Oct 19 | (PDF) Threaded discussions in MySQL and PHP. Sessions. |
| Oct 26 | Retrieving and extracting data from web pages in PHP, Unix crontab file |
| Nov 2 | Project 2 returned, XML intro, VoiceXML examples and PHP, more on Unix cron. |
| Nov 9 | Software and report guidelines, more on VoiceXML |
| Nov 16 | Project 4 help: Overview, XSL, BLOBs in MySQL, sending email and calling POST forms from PHP |
| Nov 23 | No section due to Thanksgiving. |
| Nov 30 | How to code a SOAP client and server in PHP |
The course will cover architectures for server-side web-based systems that scale to thousands and even millions of users. The topics discussed will be related to Windows DNA, Microsoft .NET, and Sun ONE, but will not be vendor-specific. Standards for information exchange over the Internet including XML and SOAP will be covered.
If time permits, the course will also cover algorithms for organizing and searching web-based information, such as those used by the Google search engine.
Topics that will be mentioned in 134A but not covered
systematically include IP networking, relational database systems in general,
the internals of web servers, HTML and Javascript, and user interface design.
Lectures will be on Mondays and Wednesdays from 4:40pm to 6pm in Center Hall, room 109. Students must also be available for a discussion section between 4:40pm and 5:30pm on Fridays, in the Cognitive Science Building, room 001.
The course has one instructor and three excellent teaching assistants
(TAs):
| Name | Office Hours | Office Location | |
| Charles Elkan | elkan@cs | send email for an appointment | APM 4856 |
| Joe Drish | jdrish@cs | Friday 11am-noon | APM 3337D |
| Gyozo (Victor) Gidofalvi | gyozo@cs | MW 10-11am | APM 3337A |
| Greg Hamerly | ghamerly@cs | TuTh 5-6pm | APM 3349A |
There is a Discus web-based message board for questions that would be of interest to other students also.
The Fall 2001 offering of 134A is now full, with over
140 students registered. The course will be offered again in 2002/2003.
You may add 134A now only if you will graduate in June 2002 or earlier.
To add the course, you must bring proof of your graduation date to the
CSE undergraduate affairs office. Pat Raczka will verify your documentation
and then enroll you immediately in 134A for this quarter.
Here are the Spring 2001 midterm and final examination. Sample solutions are not available currently. The Fall 2001 midterm was very similar. The final will be similar in format and style, but the questions will be different.
For the exams you may bring and use the following materials: one PHP book and one MySQL book, your own personal hand-written notes, documents handed out in class, and a printed copy of the published lecture notes. You may not use any other materials.
The midterm will count for 1/6 of your overall grade and the final for 1/3. Your grade will therefore be based 1/2 on your individual work, as reflected in the exams, and 1/2 on your project work.
Grading will not be based on arbitrary numerical standards, nor will there be a fixed "curve." There is no fixed correspondence between letter grades and numerical scores on the assignments or on the exams. You can evaluate your performance in the class by comparing your scores with the means and standard deviations, which will be announced. However there is also no fixed correspondence between letter grades and standard deviations above or below the mean. If all students do well in the absolute and compared to previous years, then all students will get a good grade.
You should not drop CSE 134A just because you are unhappy with the score
that you receive on the midterm or on a project assignment. Instead,
you should make an appointment to discuss with the instructor or with a
TA how you can do better on the final and on following projects.
The second and later projects require you to work in a team of exactly three people and to write a good quality project report. Attached to the report for each project should be one filled-in team self-evaluation form. Complete academic honesty is required. You must understand and follow these general guidelines for each team project. Also, be sure to learn from these notes on the first projects and these general comments about the submissions for the Spring 2001 first projects.
The submission instructions for the second project say that the report is due on Monday October 23, while your software is due before 4:40pm on Tuesday October 23. We canceled the part of the project where you must implement your own server for spell-checking. The reason is that this part of the project requires different knowledge that we haven't covered in lecture yet. If you have worked on this part already, please don't be upset. You will be able to use your work and what you have learned in the third team project. The rest of the current project is unchanged. You now have more time to an excellent job on all the other project parts, including interfacing with the server on rick.ucsd.edu, and the report.
Here are grading criteria and comments for the second project.
For the third project you will retrieve news items from the web, and republish them through a toll-free telephone voice-based interface. This project is due on Wednesday November 14. Follow these submission instructions. Here are grading criteria and comments for the third project.
The fourth and last project description is now available. The project is due at noon on Monday December 3. Here are grading criteria for the fourth project.
The first warm-up project will be worth 5% of your total grade.
Each of the three team projects will be worth 15%. Both parts of
each project (your working code and your team report) will be due before
class begins on the due date. If a project is late, you will
lose 20% of the maximum possible score for that project, for each day or
part of a day that the project is late.
Quite a few of the topics discussed in class will not be in either book,
or will be explained differently.
Coming to lectures and taking notes
carefully is important. As the quarter progresses, it is your
responsibility to locate relevant chapters of the books and to study
them. Use the indexes of the books! Examinations will be based
mainly on the projects and the online lecture notes, but may ask questions
that involve knowledge in the books.
Are expensive database systems worth the money? on Slashdot.
Scripting: Higher Level Programming for the 21st Century by John K. Ousterhout, IEEE Computer, March 1998.
How to Write Unmaintainable
Code by Roedy Green.
Most recently updated on December 13, 2001 by Charles Elkan, elkan@cs.ucsd.edu