Fall 2018 | University of California, San Diego CSE Department
Web programming is by far one of the most difficult forms of programming facing today's computing professionals. While there are many Web developers, few are truly skilled in the field. A primary reason for this lack of true expertise is the sheer number of technologies required to masterfully build a modern Web application and the perception of continuous change. Couple this challenge with a common lack of formal study of the delivery, security environment and other core aspects of the medium and we arrive at the inconsistent state of knowledge and development practices. To more appropriately address the study of web application development we divide and conquer by focusing on client-side and server-side individually, but acknowledge that both are required in any modern site or application. In this class we present a complete overview of client-side web technologies in light of the role in a complete Web system meaning we must present examples in context with working network or server-side components. To this end we start first with base ideas and environmental context, because without such grounding we are often set on the wrong course. We shift next to study presentation technologies such as HTML, CSS and images in support of static web sites. We continue our exploration by discussing client-side interactivity using JavaScript with a focus on rise of single page applications and their related frameworks. Usability, appropriate user-interface design, network awareness, and security will be a significant emphasis through-out the class and will be an important factor in homework and project grading.
The emphasis this quarter will more syntax oriented for a firm mastery of core principles. The final two assignments will allow us to make a basic CRUD (Create Read Update and Delete) application. You will be using the Google Cloud Firebase service to execute the project. You will be allowed to use Vanilla JS, jQuery and VueJS only to build the application. Details of the topic matter for the project will be revealed later to avoid overly focusing on the topic domain.
E-mail: tpowell@pint.com
Phone: 858.270.2086
On Campus Office Hours: After lecture every day for aprox. 15mins to 1hr, Wednesday 2:30-4:30PM @ 2124 and by arrangement
Off Campus Office Hours: By appointment @ PINT Main Office
Slack availability up until 10pm