课程信息
4.9
894 个评分
260 个审阅
100% 在线

100% 在线

立即开始,按照自己的计划学习。
可灵活调整截止日期

可灵活调整截止日期

根据您的日程表重置截止日期。
中级

中级

完成时间(小时)

完成时间大约为35 小时

建议:8-16 hours/week...
可选语言

英语(English)

字幕:英语(English)

您将获得的技能

RecursionHigher-Order FunctionPattern MatchingFunctional Programming
100% 在线

100% 在线

立即开始,按照自己的计划学习。
可灵活调整截止日期

可灵活调整截止日期

根据您的日程表重置截止日期。
中级

中级

完成时间(小时)

完成时间大约为35 小时

建议:8-16 hours/week...
可选语言

英语(English)

字幕:英语(English)

教学大纲 - 您将从这门课程中学到什么

1
完成时间(小时)
完成时间为 2 小时

Introduction and Course-Wide Information (Start Here)

Welcome! Start here! Learn about this course and how it's organized....
Reading
7 个视频 (总计 56 分钟), 5 个阅读材料
Video7 个视频
Optional: Who I Am / Acknowledgments6分钟
What the Course is About / Initial Motivation8分钟
Recommended Background9分钟
Why Part A, Part B, Part C5分钟
Grading Policy9分钟
Optional: Very High-Level Outline7分钟
Reading5 个阅读材料
Start here!5分钟
About the Course10分钟
Some More Perspective on Recommended Background7分钟
Why are there 3 courses (Part A, Part B, Part C)?5分钟
Grading Policy Details10分钟
完成时间(小时)
完成时间为 2 小时

Software Installation and Homework 0

This module contains two things: (1) The information for the [unusual] software you need to install for Programming Languages Part A. (2) An optional "fake" homework that you can turn in for auto-grading and peer assessment to get used to the mechanics of assignment turn-in that we will use throughout the course. You can do this module either before or after watching the first few "actual course content" videos in the next module, but you will want to get the software installed soon so you can learn by actively trying out variations on the code in the videos. You will need to install the software to do the homework....
Reading
4 个视频 (总计 9 分钟), 3 个阅读材料, 2 个测验
Video4 个视频
Emacs installation2分钟
SML installation1分钟
SML Mode installation3分钟
Reading3 个阅读材料
Part A Software Installation and Use: SML and Emacs
Why Emacs? (Optional)5分钟
Homework 0 Detailed Peer-Assessment Instructions
2
完成时间(小时)
完成时间为 6 小时

Section 1 and Homework 1

It's time to dive in! Start with a careful reading of the "Section 1 Welcome Message" and go from there....
Reading
17 个视频 (总计 150 分钟), 6 个阅读材料, 2 个测验
Video17 个视频
Rules for Expressions9分钟
The REPL and Errors12分钟
Shadowing6分钟
Functions Informally7分钟
Functions Formally8分钟
Pairs and Other Tuples9分钟
Introducing Lists10分钟
List Functions11分钟
Let Expressions7分钟
Nested Functions7分钟
Let and Efficiency10分钟
Options9分钟
Booleans and Comparison Operations7分钟
Benefits of No Mutation7分钟
Optional: Java Mutation4分钟
Pieces of a Language6分钟
Reading6 个阅读材料
Section 1 Welcome Message7分钟
Section 1 Reading Notes
Code Files for All Section 1 Videos
Homework 1 Detailed Guidelines for Peer Assessment
Hints and Gotchas for Homework 15分钟
Extra Practice Problems
3
完成时间(小时)
完成时间为 7 小时

Section 2 and Homework 2

This section is a particularly rewarding one where a lot of ideas come together to reveal a surprisingly elegant underlying structure in ML. As usual, start with the welcome reading, dive into the material, and leave plenty of time to approach the programming assignment methodically....
Reading
22 个视频 (总计 178 分钟), 6 个阅读材料, 2 个测验
Video22 个视频
Records8分钟
Tuples as Syntactic Sugar6分钟
Datatype Bindings8分钟
Case Expressions10分钟
Useful Datatypes11分钟
Pattern Matching So Far4分钟
Another Expression Example8分钟
Type Synonyms6分钟
Lists and Options are Datatypes9分钟
Polymorphic Datatypes8分钟
Each of Pattern Matching / Truth About Functions14分钟
A Little Type Inference6分钟
Polymorphic and Equality Types8分钟
Nested Patterns10分钟
More Nested Patterns10分钟
Nested Patterns Precisely6分钟
Optional: Function Patterns3分钟
Exceptions7分钟
Tail Recursion9分钟
Accumulators for Tail Recursion7分钟
Perspective on Tail Recursion5分钟
Reading6 个阅读材料
Section 2 Welcome Message5分钟
Section 2 Reading Notes
Code Files for All Section 2 Videos
Homework 2 Detailed Guidelines for Peer Assessment
Hints and Gotchas for Homework 27分钟
Extra Practice Problems
4
完成时间(小时)
完成时间为 8 小时

Section 3 and Homework 3 -- and Course Motivation

This section is all about higher-order functions -- the feature that gives functional programming much of its expressiveness and elegance -- and its name! As usual, the first reading below introduces you to the section, but it will make more sense once you dive in to the lectures. Also be sure not to miss the material on course motivation that we have put in a "lesson" between the other videos for this week and the homework assignment. The material is "optional" in the sense that it is not needed for the homeworks or next week's exam, but it is still very highly encouraged to better understand why the course (including Parts B and C) covers what it does and, hopefully, will change the way you look at software forever. ...
Reading
28 个视频 (总计 247 分钟), 6 个阅读材料, 2 个测验
Video28 个视频
Functions as Arguments8分钟
Polymorphic Types and Functions as Arguments7分钟
Anonymous Functions9分钟
Unnecessary Function Wrapping5分钟
Map and Filter8分钟
Generalizing Prior Topics9分钟
Lexical Scope7分钟
Lexical Scope and Higher-Order Functions7分钟
Why Lexical Scope11分钟
Closures and Recomputation6分钟
Fold and More Closures11分钟
Closure Idiom: Combining Functions9分钟
Closure Idiom: Currying10分钟
Partial Application9分钟
Currying Wrapup6分钟
Mutable References8分钟
Closure Idiom: Callbacks8分钟
Standard-Library Documentation7分钟
Optional: Abstract Data Types With Closures11分钟
Optional: Closure Idioms Without Closures4分钟
Optional: Java Without Closures12分钟
Optional: C Without Closures10分钟
Course-Motivation Introduction5分钟
Why Study General PL Concepts?10分钟
Are All PLs the Same?6分钟
Why Functional Languages?11分钟
Why ML, Racket, and Ruby?12分钟
Reading6 个阅读材料
Section 3 Welcome Message5分钟
Section 3 Reading Notes
Code Files for All Section 3 Videos
Homework 3 Detailed Guidelines for Peer Assessment
Hints and Gotchas for Section 310分钟
Extra Practice Problems
4.9
260 个审阅Chevron Right

热门审阅

创建者 ALMar 22nd 2017

Great course!\n\nI think this course has just the right balance of theoretical background, formal definitions, and actual examples to make "just right".\n\nThanks Dan, and everybody else involved!

创建者 SKMar 24th 2017

An excellent course! Make sure you really have enough time to take this course. There are a lot of videos, but they worth watching. I'd recommend this course to everyone involved in programming.

讲师

Avatar

Dan Grossman

Professor
Computer Science & Engineering

关于 University of Washington

Founded in 1861, the University of Washington is one of the oldest state-supported institutions of higher education on the West Coast and is one of the preeminent research universities in the world....

常见问题

  • 注册以便获得证书后,您将有权访问所有视频、测验和编程作业(如果适用)。只有在您的班次开课之后,才可以提交和审阅同学互评作业。如果您选择在不购买的情况下浏览课程,可能无法访问某些作业。

  • 您购买证书后,将有权访问所有课程材料,包括评分作业。完成课程后,您的电子课程证书将添加到您的成就页中,您可以通过该页打印您的课程证书或将其添加到您的领英档案中。如果您只想阅读和查看课程内容,可以免费旁听课程。

还有其他问题吗?请访问 学生帮助中心