CSE 135: Server-Side Web Languages

Summer 2016 | University of California, San Diego CSE Department

Course Statement

Web programming is by far one of the most difficult forms of programming facing today's computer scientists and while there are many site builders, few are truly skilled in the field. One of the primary reasons for this is the sheer number of programming technologies in a modern Web site. To attack the construction of Web site technologies it is often necessary to divide the study between those which are primarily client-side and those that are server-side In this class we present a complete overview of server-side Web technologies in light of the role in a complete Web system. We start first with a quick review of the environment of Web development with a full overview of pieces that may have missed by students not versed in client-side development. Next we make sure to in more detail discuss the architecture of the server-side discussing HTTP, Web servers, server-side programming technology in general and infrastructure issues. Once the environment is well understood we turn our attention to the programming technologies starting with older technologies, working our way through scripting environments such as PHP and server-side programming environments such as Java servlets. The main aim of the survey approach is to emphasize the same ness and reliance on HTTP as opposed to the differences of framework or language issues. Special topics including Web application security, Web services, delivery optimization, server-side JavaScript, and general site management. These topics as well as the cultural effects on Web app developers are woven throughout the course. Node.js and the use of server-side JavaScript for a full end-to-end JavaScript application solution will be explored in this edition of the course.

Tentative Schedule

Week 1 : August 1-4

Week 2 : August 8-11

Week 3 : August 15-18

Week 4: August 22-August 25

  • REST and API Introduction
  • 1-up 3-upTraditional DB Driven Web Apps, MVC and Templates
  • SPA Focused DB Driven Web Apps

Week 5: August 29 - September 2

Grading

  • Attendance - 10%
  • Homework - 40%
  • Midterm - 25%
  • Final - 25%

Homework

All the homework is going to eventually support the development of a Web end point using NodeJS. Other technologies will be explored along the way such as CGI or PHP but the main emphasis is server-side JavaScript. Given that some students will have little experience with client-side technology the form of the assignments may favor more of a REST style end point but students will appropriate background in client-side technology have the opportunity to augment their solution appropriately. Performance and security along with standard programming practices for quality is integral for successful mastery of the project.

Contact Information

Prof. Thomas A. Powell

E-mail: tpowell@pint.com
Phone: 858.270.2086
On Campus Office Hours: After lecture every day for aprox. 30mins to 1hr, Thursday 4-6PM @ CSE 2128 and by arrangement
Off Campus Office Hours: By appointment @ PINT Main Office

Teaching Assistant & Tutor

Nikos Koulouris

E-mail: nkoulour@ucsd.edu
Office Hours: CSE 4217 Tu 9:30 - 10:30am and Wed 6-7pm

Martin Gao

E-mail: marting.gao@gmail.com
Office Hours: Tu 3-5pm and Th 9:30 - 10:30, Location TBD but most likely Slack Channel Based


Class Slack Channel