Happy Thanksgiving! Lecture, office hours, and section are canceled November 27, 28, and 29.Scores for the midterm have been posted on Gradesource. For more information, see the section notes for November 22 and this grading guide.
The deadline for the fourth and last project is 5pm, Friday December 6. The bonus for early submission is 5% per day early, up to a maximum of four days. One day early means before 11:59pm on Thursday December 5, etc. Use lessons from the explanation of scores for the second project to do well in the current project.
Here are important notes on computer accounts, on how to run PHP programs, and on how to submit each assignment.
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.
For registration in Fall 2002, the section id is 444869. As of September 25, the course is full with over 120 students registered. The course will be offered again in 2003, so you may add 134A now only if you will graduate in June 2003 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.
Lectures will be on Mondays and Wednesdays from 5pm to 6:20pm in Center Hall room 109. Students must also be available for a discussion section between 5pm and 5:50pm on Fridays, in Center Hall room 105.
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 |
Greg Hamerly | ghamerly@cs | TuTh 5-6pm | APM 3349A |
Dana Dahlstrom | M 11am-noon, F 4-5pm | APM 3349A | |
Greg Chun | gchun@cs.ucsd.edu | MW 4-5pm | APM 3349A |
There is a Discus web-based
message board. Please ask all questions here, ecept questions
that are strictly personal. See here
for the message board from last year.
day of week | month | date | event | person responsible |
F | September | 27 | first section (Unix basics) | GC |
M | 30 | first office hour (GC); first lecture; first project assigned | CE | |
W | October | 2 | lecture | CE |
F | October | 4 | section | GC |
M | 7 | lecture | CE | |
W | 9 | lecture; first project due (GC); second project assigned | CE | |
F | 11 | section | GC | |
F | 18 | section | DD | |
F | 25 | section; second project due (GH); third project assigned | DD | |
F | November | 1 | section | DD |
W | 6 | in-class midterm (GH) | CE | |
F | 8 | section | GH | |
M | November | 11 | no lecture because of Veterans' Day | |
F | 15 | section; third project due (DD); fourth project assigned | GH | |
F | 22 | section | GH | |
M | 25 | lecture; CAPE | ||
W | 27 | no lecture due to Thanksgiving | ||
F | 29 | no section due to Thanksgiving | ||
M | December | 2 | lecture | |
W | 4 | review session instead of lecture | CE | |
F | 6 | review session; fourth project due (DD) | all | |
M | 9 | final exam (GC) | CE |
|
topics |
September 30 | Course overview, web services, role of PHP and MySQL, a PHP example |
October 2 | Forms in HTML, using form variables in PHP, GET versus POST, connecting to MySQL, SQL commands |
October 7 | Top eleven usability mistakes, security and input validation, table declarations, queries, and updates in SQL |
October 9 | Grouping in queries, big-O efficiency of queries, definition of scalability, using indexes to improve scalability |
October 14 | User-level design principles, indexes on multiple columns, guidelines for using indexes |
October 16 | Seeing how an SQL query will be executed, avoiding redundancy in db design, stating and enforcing constraints |
October 21 | Cookies and sessions |
October 23 | Alternative storage methods for session data, session callback functions. Screen scraping |
October 28 | Regular expressions in PHP |
October 30 | Intro to VoiceXML: server architecture, traffic report appliance example, dialog elements |
November 4 | Voice user interface guidelines. Leftmost, longest RE matching, efficiency with REs |
November 6 | In-class midterm |
November 13 | Team-work and real-world skills. Intro to XML, document type definitions (DTDs) |
November 18 | XHTML, attribute and entity declarations in DTDs, ids and idrefs, namespaces |
November 20 | Remote procedure call (RPC) concept. SOAP headers and payloads. |
November 25 | Introduction to XSLT. Event-driven programming with templates. |
November 27 | No lecture due to Thanksgiving |
December 2 | Limitations and future of SOAP, application server types, web site architecture |
Section notes will also be published here. Notes may be in HTML
or Acrobat Portable Document Format (PDF).
|
topics |
September 27 | Unix basics relevant to 134A. |
October 4 | MySQL tutorial, Using PHP with MySQL (PDF) |
October 11 | Notes on debugging (PDF) |
October 18 | Sockets and spell-checking, HTTP redirects in PHP, threaded discussions in MySQL |
October 25 | Retrieving data from URLs, extracting content, and scheduling execution |
November 1 | Design principles for voice interfaces |
November 8 | Regular expression exercises |
November 15 | Remote procedure calls and SOAP |
November 22 | Using XSLT inside PHP, sending POST requests to a server. |
November 29 | No section due to Thanksgiving. |
Here are the Spring 2001 midterm and final examination. Sample solutions are not available currently. The Fall 2001 exams were very similar.
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.
Here are the grading criteria for the first project, and here is the explanation of scores for it.
The second project involved building a discussion board. Here is a detailed explanation of scores.
All projects except the first one require you to work in a team of exactly three people and to write a good quality project report. You must understand and follow these general guidelines for each team project. Attached to the report for each project should be one filled-in team self-evaluation form. Perfect academic honesty is always required.
The first 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.
How to Write Unmaintainable
Code by Roedy Green.
Most recently updated on December 2, 2002 by Charles Elkan, elkan@cs.ucsd.edu