Schedule

All lecture demo code is available in Git.

You can git clone https://git.uwaterloo.ca/cs349-public/1189.git and then git pull to occasionally refresh and pick up changes.

1 Fri Sept 7

Introduction

slides

2 Mon Sept 10

History

slides

3 Wed Sept 12

Windowing Systems

slidestools_setup

4 Fri Sept 14

Drawing

slides

A0 due

specificationgit_overview

5 Mon Sept 17

Events

slides

6 Wed Sept 19

Java Basics

slides

7 Fri Sept 21

Java GUI

slides

8 Mon Sept 24

Widgets

slides

9 Wed Sept 26

Event Dispatch

slides

10 Fri Sept 28

Event Binding

slides

A1 due

specificationstarter_codexwindows setup

11 Mon Oct 1

Model-View-Controller

slides

12 Wed Oct 3

Model-View-Controller (cont'd)

13 Fri Oct 5

Layout

slides

Mon Oct 8

Thanksgiving - holiday

Wed Oct 10

Mid-term Study Break - holiday

14 Fri Oct 12

Graphics

slides

15 Mon Oct 15

Graphics Transformations

slides

16 Wed Oct 17

Graphics Hit-testing

slides

17 Fri Oct 19

Input Devices

slides

A2 due

specificationstarter_code

18 Mon Oct 22

Input Performance

slides

19 Wed Oct 24

Input Performance (cont'd)

Midterm Exam

slidesmidterm_solutions
20 Fri Oct 26

Direct Manipulation

slides

21 Mon Oct 29

Direct Manipulation (cont'd)

22 Wed Oct 31

Undo

slides

23 Fri Nov 2

Clipboard, Drag-and-Drop

slides

24 Mon Nov 5

Mobile UI

slides

25 Wed Nov 7

Android Basics

slides

26 Fri Nov 9

Android UI Development

slides

27 Mon Nov 12

Multi-view Applications

slides

28 Wed Nov 14

User-Centered Design

slides

29 Fri Nov 16

Design Process

slides

A3 due

specification demo

30 Mon Nov 19

Visual Perception

slides

31 Wed Nov 21

Visual Design

slides

32 Fri Nov 23

Visual Design (cont'd)

33 Mon Nov 26

Responsiveness

slides

34 Wed Nov 28

Accessibility

slides

35 Fri Nov 30

Bonus: Touchless Interfaces

slides Not on the final exam!

36 Mon Dec 3

Final Review

slides

A4 due

specificationandroid setup

Tues Dec 18

Final Exam

4:00 - 6:30 (M3 1006)