6.4500 Web设计:语言和用户接口
课程介绍
先修课程
6.1010 fundamentals of programming
课程描述
你将学习用户界面设计核心原则:
- 可学习性(learnability)
- 效率(efficiency)
- 安全性(safety)
- 原型设计(prototyping)
- 用户测试(user testing)
你会学习 Web 核心技术:
- HTML
- CSS
- JavaScript
以及:
- 它们各自的作用
- 为什么设计差异很大
还会学习:
- 前端框架:Vue.js(响应式编程)
- 图形设计基础(设计与可用性密切相关)
参考资料
推荐参考书: The Design of Everyday Things: Revised and Expanded Edition, Don Norman
- 设计师的圣经
作业
- Exercise 1: Noticing the design of everyday things (25%)
- Exercise 2: Learning to write good HTML (25%)
- Exercise 3: Couple Expenses App Part 1 (25%)
- Exercise 4: 6.S063 Grading Calculator (25%)
- Exercise 1: Evaluating Graphic Design (15%)
- Exercise 2: Evaluating Learnability of a Graphics Editor (25%)
- Exercise 3: Practicing graphic design principles (35%)
- Exercise 4: Couple Expenses App Implementation (25%)
- Exercise 1: Fix the Web with CSS! (30%)
- Exercise 2: Couple Expenses App Implementation (60%)
- Exercise 3: Poor Safety Example for Studio (10%)
- Exercise 1: Adding CSS to your HW1 homepage (30%)
- Exercise 2: Critique another student’s Expenses App (20%)
- Exercise 3: Fix up your Expenses App (20%)
- Exercise 4: Evaluating instant messaging UIs (30%)
- Exercise 1: Build a scraper (30%)
- Exercise 2: Needfinding for chat/IM apps (40%)
- Exercise 3: Idea generation for chat/IM apps (30%)
- Exercise 1: Make your homepage more universal (30%)
- Exercise 1: Paper prototype concepts for chat/IM apps (40%)
- Exercise 2: Drag & Drop to reorder your to-do list (30%)
- Exercise 1: User testing of your paper prototypes (50%)
- Exercise 2: Bookmarklet to hide undesirable content (50%)
- Exercise 1: Iterate and implement a Figma mockup of your Chat/Messaging App
- Exercise 2: Improve Typography on your website
- Exercise 3: Making a personal tracking application
- Exercise 1: User testing of Figma mockup of your Chat App (30%)
- Exercise 2: Improve Color on your website (10%)
- Exercise 3: Starting your Chat App (60%)
- Exercise 1: Set up Github page (10%)
- Exercise 2: Add client-side routing to your chat app (30%)
- Exercise 2: Add a component to your chat app (30%)
- Exercise 3: Adding a new feature (30%)
教程
- Studio 1
- Studio 2
- Studio 3
- Studio 4
- Studio 5
- Studio 6
- Studio 7
- Studio 8
- Studio 9
- Studio 10
- Studio 11
- Studio 12
- Studio 13
相关资源
环境搭建
启动一个本地服务器
如果你双击一个本地的 .html 文件,默认浏览器会打开它并显示内容。但如果你查看地址栏。会看到 URL 以 file:// 开头,也就是使用的是 file URI scheme(文件协议)。这种 URI 协议本质上是不安全的,因为它没有明确的来源隔离,因此很多Web平台技术在file:// 是被禁用的。 在开发过程中你需要使用本地 Web 服务器。
有很多方法,这里说两个
NPM 的 http-server, 默认同样使用 8000 端口,也可以用
-p修改端口bashnpm install -g http-serverVscode安装Live Server扩展,点击右下角的 “Go Live”,服务器会启动,并显示使用的端口。
实验
Lec 1 介绍 & 总览
主题:
- 介绍
- 可用性设计
- Web技术
Lec 2 Web网页结构:HTML
主题:
- HTML语义
- 常见的HTML元素
- DOM树
- HTML的交互与用户输入
- 响应式模板
Lec 3 易学性
Lec 4 图形设计
Lec 5 高效性
Lec 6 CSS的基本概念 I
Lec 7 安全性
Lec 8 CSS的基本概念 II
Lec 9 启发式评估
Lec 10 布局
Lec 11 原型和用户测试
Lec 12 现代JS和DOM的介绍
JavaScript for Python Programmers
Lec 13 统一Web设计
Lec 14 事件
Lec 15 设计范式 & 函数式JS
Lec 16 函数、类和this
Lec 17 字体
Lec 18 异步编程
Lec 19 色彩
Lec 20 Web API
浏览器有UI让用于与文档交互,也有DOM API让你的代码与文档交互。
Lec 21 路由 & 数据可视化
在引言部分,回答三个问题?
- 为什么要将信息可视化?
- 什么是可视化?
- 为什么可视化有用?
后面正文部分,我们讲解可视化的形式,包括图表(charts)
Lec 22 动画 & 反馈
本节主题关于
- 何时以及为什么使用动画
- 实现方式:如何实现?
- 可访问性
Lec 23 Web标准
本节关于几个问题的回答?
- 今天的Web生态如何形成的?
- Web 技术是如何被制定出来的?
- 你又能够如何参与并做出贡献?