CS349

An introduction to contemporary user interface implementation concepts, including event abstraction, graphical components, layout, feedback, testing, accessibility, and architectures to develop user interfaces. One or more types of interface toolkit paradigms are considered.

Learning Outcomes

  • Explain architectural and algorithmic details underlying current user interfaces and user interface toolkits.
  • Describe key aspects of user interfaces, such as user input, event-driven architecture, asynchronous events, etc.
  • Implement user interfaces in a browser with Typescript: (1) using the HTML Canvas; (2) using HTML elements and DOM manipulation, and (3) using a modern UI web development framework.

For a full description, refer to the the Course Outline and to the Course Calendar.

Lectures & Personnel

Lecture Times and Locations

Section Day of Week, Time Building, Room
CS349-001 MW 4:00pm - 5:20pm MC 2034
CS349-002 MW 1:00pm - 2:20pm MC 1056
CS349-003 MW 11:30am - 12:50pm MC 1056

Instructors

Instructional Support Coordinator (ISC)

Teaching Assistants

  • Anchit Mishra (IA)
  • Bella Chen
  • Liwei Alan Wu
  • Lucy Wang
  • Marvin Pafla
  • Mohammad Hasan Payandeh
  • Yuzhe You
  • Zitao Wang

Course Communication and Support

Piazza

We maintain a Piazza forum to discuss course material. We try to reply within a few hours between 9am – 5pm on weekdays. Posts made after hours, on weekends, or on holidays may not receive a response until after 9am on the next work day.

Office Hours

Beginning in the second week, we hold regular weekday office hours in-person and online within the CS 349 team (via Microsoft Teams). For online office hours, you will see a new separate post in the Office Hours-channel at the beginning of each office hour. Just reply to that post to get in line, and the person holding the office hour will call you once they are available.

Mondays Tuesdays Wednesdays Thursdays Fridays
9:30 - 11:30 Alan (MS Teams) 10:00 - 11:00 Lucy (MS Teams) 9:30 - 10:30 Matt (MS Teams) 9:30 - 11:00 Adrian (MC 6439) 9:00 - 10:00 Bella (MS Teams)
4:00 - 5:00 Yuzhe (MS Teams) 11:00 - 12:00 Mohammad (MS Teams) 11:00 - 12:00 Anchit (MS Teams) 9:30 - 11:00 Adrian (MC 6439) 10:00 - 12:00 Marvin (MS Teams)

Assessment

The 5 assignments, midterm exam, and final exam contribute to your final grade as follows:

Component Weight
A0 1%
A1 13%
A2 13%
A3 13%
A4 13%
Midterm 15%
Final 32%