The review session was on Tuesday June 12 from 11:30am to 1pm, in Sequoyah Hall room 147. Sequoyah Hall is north of APM and south of RIMAC, near the Economics building.
The following documents are good references for topics not covered in the PHP and MySQL books:
You should read and understand the parts of these documents that cover topics discussed in class and mentioned in the online lecture notes, in the same way that you study relevant parts of the PHP and MySQL books.Session Handling with PHP4 by Tobias Ratschiller A Blueprint for Building Web Sites Using the Microsoft Windows DNA Platform, Microsoft, January 2000. Analysis [of web application servers] by Timothy Dyck, PC Magazine, May 2001 Tellme More by Jonathan Eisenzopf, internet.com, February 2001 XML in a Nutshell by Elliotte Rusty Harold and W. Scott Means, O'Reilly, January 2001, Chapters 1, 2, and parts of 3 and 7. (You may use other XML references--this particular book is not required.) Web Services and the Simple Object Access Protocol by Pete Loshin, Microsoft, December 1999.
The midterm was on Wednesday May 16 in class. The final exam will be in the usual classroom on Thursday June 14, from 3pm to 6pm.
There will be three projects using PHP and MySQL. Each project will require working in a team of exactly three people and writing good quality documentation or a project report. Attached to the report for each project should be one filled-in team self-evaluation form. Complete academic honesty is required.
Here is the description of the second project, due Monday May 14 at 4pm. Be sure to look at the Discus board for questions about the second project and for instructions about how to submit your work.
The first
project was due Monday April 23. Updates to the project description
were on the Discus
discussion board and the QuickTopic
discussion board. Here are general comments
about the submissions for the first project. Use these comments as
guidelines for later projects.
date | topics |
April 2 | Course policies, role of PHP and MySQL, three-tier client-server architecture |
April 4 | Nesting of PHP code inside HTML, processing forms, GET versus POST, maintaining state |
April 9 | SSL pros and cons, HomeWorth user interface issues, PHP syntax and semantics |
April 11 | Information extraction from HTML using regular expressions. Efficiency issues. |
April 16 | MySQL client/server database system. Tables, rows, columns. SQL select queries. |
April 18 | Summarization queries, join queries, efficiency of joins, insert/update/delete commands |
April 23 | Null values, column type modifiers, indexes, primary keys, efficiency of indexed access |
April 25 | Using an index to avoid table access, guidelines for choosing indexes, query performance experiments |
April 30 | SQL explain command, avoiding redundancy in db design, constraints, unique indexes. Cookies. |
May 2 | Principles of cookies. Session management in PHP4, session id propagation. |
May 7 | Ending a session, storing session data, callback functions. Web site architectural objectives. |
May 9 | Web site security domains, firewalls. Servers with and without state. Replication and fault-tolerance. |
May 14 | MySQL configuration. Page-based, component-based application servers. Enterprise Java Beans. |
May 16 | Midterm |
May 21 | No lecture |
May 23 | VoiceXML |
May 28 | No lecture |
May 30 | Portability and user interface design. What XML is and isn't. Markup, tags, elements. |
June 4 | Document type definitions (DTDs) for XML. Element and attribute properties. |
June 6 | Simple Object Access Protocol (SOAP). Future of web services. |
Two reference books will be used extensively:
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.
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.
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, web server design, HTML, user interface design, and text processing using regular expressions.
CSE 134A is open only to CSE upper-division majors and graduate students. The prerequisite is CSE 100, Data Structures. CSE 134B is recommended but not required. For registration, the section id is 409377.
Lectures will be on Mondays and Wednesdays from 4:40pm to 6pm in CSB 002. Students must also be available for a discussion section between 4:40pm and 5:30pm on Fridays, in Warren Lecture Hall, room 2005.
The course is now full, with 90 students registered. The course will be offered again in Fall 2001. You may add 134A now only if you will graduate in June 2001 or September 2001. To add the course, you must bring proof of June or September graduation to the CSE undergraduate affairs office. Pat Raczka will verify your documentation and then enroll you immediately in 134A for this quarter.
The section meets on Fridays from 4:40 to 5:30 in Warren Lecture
Hall, room 2005.
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.
Name | Telephone | Office or Lab Hours | Office or Lab Location | |
Charles Elkan | elkan@cs | 534-8897 | TBA | APM 4856 |
Hector Jasso | hjasso@cs.ucsd.edu | Wednesday 12pm-1pm
Thursday 2pm-3pm |
APM second floor lab with Windows PCs | |
Alan Su | alsu@cs.ucsd.edu | Monday 1pm-2pm | APM 3337A (or a lab) | |
Minh Truong | truong_tan_minh@hotmail.com | Tuesday 8:30-9:30 | APM 3337A |
There is a web-based message board or questions that would be of interest
to other students also.
Use diagrams, charts, and tables when useful. Always provide labels and legends.
Follow all the rules of good writing explained by Strunk and White (see below).
If you refer to sources such as the textbooks for the course, do not just give a general bibliography. Instead, cite the sources you use in the body of your report at each location where a source is relevant. Give full bibliographic information in a "List of References" at the end of the report, not in footnotes.
The main part of a report should not include raw printouts.
Instead, each report should have two appendices, which are not counted
in the ten-page length limit. The first appendix should be a printout
of the programs written by your team for the assignment (i.e. listings),
and the second appendix should be a printout of sample executions of your
programs (i.e. a transcript).
"The Writing Center offers the UCSD community FREE one-to-one conferences on any kind of writing project ... Various workshops are offered, including ... essay writing ... The OASIS writing test assesses your strengths and weaknesses in writing and editing academic papers. ... Individual tutorial services are available to students whose first language is not English."The OASIS Writing Center is located in Center Hall. Call 534-3760 to make an appointment.
The best book on the basics of good writing is The Elements of Style by William Strunk Jr. and E. B. White, Macmillan, New York, third edition, 1979. The full text of the 1918 edition is out of copyright and available online.
The following report contains everything that a computer scientist needs to know about technical writing. Although the report is protected by copyright law, it is available for viewing on the web.
Technical Writing for Computer Engineers and Computer Scientists by Kevin Karplus and Dan Scripture.
From the report: "This document contains course notes and exercises for a course in technical writing. The course is intended for third-year computer engineering majors, and emphasizes technical documentation directed to engineers, engineering managers, technical writers, and other specialized audiences. Exercises include job applications and résumés, memos, electronic correspondence, algorithm description, in-program documentation, naive-user documentation, survey articles, recommendation letters, proposal writing, document specification, progress reports, formal technical reports, and an oral presentation."After you have mastered the mechanics of writing, the next challenge is to develop a sense of style. The book Clear and Simple as the Truth: Writing Classic Prose by Francis-Noel Thomas and Mark Turner is a wonderful treatise on the topic of writing style. Be sure to explore the authors' online guide to good writing.
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 July 19, 2001 by Charles Elkan, elkan@cs.ucsd.edu