CSE 134B: Web Client Languages

Fall 2017 | 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 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.

Tentative Schedule

Week 1

  • Oct 2: Introduction and Medium
  • Oct 4: Medium 1-up 3-up

Week 2

Week 3

Week 4

Week 5

  • Oct 30: Midterm
  • Nov 01: JS Part 1

Week 6

Week 7

  • Nov 13: DOM Part 2
  • Nov 15: Events

Week 8

  • Nov 20: Ajax Part 1
  • Nov 21: Homework #4 Due
  • Nov 22: Ajax Part 2
  • Nov 23: Thanksgiving!
  • Nov 26: HW4 Due

Week 9

  • Nov 27: SPA Apps
  • Nov 29: Service Workers

Week 10

  • Dec 4: Emerging Web Tech
  • Dec 6: Conclusions
  • Dec 8: Homework #5 Due
  • Dec 14: Final Exam (7-10PM)

Grading

  • Homework - 45%
  • Midterm - 25%
  • Final - 25%
  • Participation - 5%

Homework

The emphasis this quarter will be building a Web application to manage a soccer team including roster and schedule as well as provide some rudimentary statistics management for players action during a game. We will call this application TeamWatch generically but you will able to brand it as you like. Teams of 3 will get to design their application with a mobile first, web standards focus using arbitrary team content (including Rec, Pro or National team information). The application will have an authentication layer, CRUD (Create,Read Update, and Delete) facilities for player and game management and will be multiuser based. You will get to use Google Cloud's Firebase technology to implement this project. You will be allowed to use VanillaJS/jQuery or VueJS to execute the application. Application architecture using an offline first pattern employing service workers is required. To perform this a cheap Android phone must be purchased for real hardware testing and grading emphasis will focus on correct function on our reference device.

Related Textbooks

Other Resources

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. 15mins to 1hr, Wednesday 2:30-4:30PM @ 2124 and by arrangement
Off Campus Office Hours: By appointment @ PINT Main Office

Teaching Assistants

Sujith Vadakkepat

E-mail: svadakke@eng.ucsd.edu
Slack Handle: @sujith
Office Hours: Tuesday 12:30pm-1:30pm at B250A
Virtual OH: Thursday 11am-1pm (Slack)

Gowtham Ganesan

E-mail: gganesan@eng.ucsd.edu
Slack Handle: @gowtham
Office Hours: Thursday 9:00AM - 10:00 AM B240A
Virtual OH: Friday 4:00 PM - 6:00 PM (Slack)

Tutors

Moiz Qureshi

E-mail: moquresh@ucsd.edu
Slack Handle: @moizqureshi
Office Hours: Monday & Wednesday 2:30PM-4:30PM B250/B260/Hallway
Virtual OH: Thursday 11AM-12:30PM (Slack)

Ziang Jing

E-mail: z1jing@ucsd.edu
Slack Handle: @Ziang Jing
Office Hours: Friday 3:00PM-4:00PM B215
Virtual OH: Wednesday 3:00PM-5:00PM (Slack)


Class Message System