About this Course
4.9
912개의 평가
265개의 리뷰
100% 온라인

100% 온라인

지금 바로 시작해 나만의 일정에 따라 학습을 진행하세요.
유연한 마감

유연한 마감

일정에 따라 마감일을 재설정합니다.
중급 단계

중급 단계

Hours to complete

완료하는 데 약 35시간 필요

권장: 8-16 hours/week...
사용 가능한 언어

영어

자막: 영어

귀하가 습득할 기술

RecursionHigher-Order FunctionPattern MatchingFunctional Programming
100% 온라인

100% 온라인

지금 바로 시작해 나만의 일정에 따라 학습을 진행하세요.
유연한 마감

유연한 마감

일정에 따라 마감일을 재설정합니다.
중급 단계

중급 단계

Hours to complete

완료하는 데 약 35시간 필요

권장: 8-16 hours/week...
사용 가능한 언어

영어

자막: 영어

강의 계획 - 이 강좌에서 배울 내용

1
Hours to complete
완료하는 데 2시간 필요

Introduction and Course-Wide Information (Start Here)

Welcome! Start here! Learn about this course and how it's organized....
Reading
7 videos (Total 56 min), 5 readings
Video7개의 동영상
Optional: Who I Am / Acknowledgments6m
What the Course is About / Initial Motivation8m
Recommended Background9m
Why Part A, Part B, Part C5m
Grading Policy9m
Optional: Very High-Level Outline7m
Reading5개의 읽기 자료
Start here!5m
About the Course10m
Some More Perspective on Recommended Background7m
Why are there 3 courses (Part A, Part B, Part C)?5m
Grading Policy Details10m
Hours to complete
완료하는 데 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 videos (Total 9 min), 3 readings, 2 quizzes
Video4개의 동영상
Emacs installation2m
SML installation1m
SML Mode installation3m
Reading3개의 읽기 자료
Part A Software Installation and Use: SML and Emacs
Why Emacs? (Optional)5m
Homework 0 Detailed Peer-Assessment Instructions
2
Hours to complete
완료하는 데 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 videos (Total 150 min), 6 readings, 2 quizzes
Video17개의 동영상
Rules for Expressions9m
The REPL and Errors12m
Shadowing6m
Functions Informally7m
Functions Formally8m
Pairs and Other Tuples9m
Introducing Lists10m
List Functions11m
Let Expressions7m
Nested Functions7m
Let and Efficiency10m
Options9m
Booleans and Comparison Operations7m
Benefits of No Mutation7m
Optional: Java Mutation4m
Pieces of a Language6m
Reading6개의 읽기 자료
Section 1 Welcome Message7m
Section 1 Reading Notes
Code Files for All Section 1 Videos
Homework 1 Detailed Guidelines for Peer Assessment
Hints and Gotchas for Homework 15m
Extra Practice Problems
3
Hours to complete
완료하는 데 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 videos (Total 178 min), 6 readings, 2 quizzes
Video22개의 동영상
Records8m
Tuples as Syntactic Sugar6m
Datatype Bindings8m
Case Expressions10m
Useful Datatypes11m
Pattern Matching So Far4m
Another Expression Example8m
Type Synonyms6m
Lists and Options are Datatypes9m
Polymorphic Datatypes8m
Each of Pattern Matching / Truth About Functions14m
A Little Type Inference6m
Polymorphic and Equality Types8m
Nested Patterns10m
More Nested Patterns10m
Nested Patterns Precisely6m
Optional: Function Patterns3m
Exceptions7m
Tail Recursion9m
Accumulators for Tail Recursion7m
Perspective on Tail Recursion5m
Reading6개의 읽기 자료
Section 2 Welcome Message5m
Section 2 Reading Notes
Code Files for All Section 2 Videos
Homework 2 Detailed Guidelines for Peer Assessment
Hints and Gotchas for Homework 27m
Extra Practice Problems
4
Hours to complete
완료하는 데 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 videos (Total 247 min), 6 readings, 2 quizzes
Video28개의 동영상
Functions as Arguments8m
Polymorphic Types and Functions as Arguments7m
Anonymous Functions9m
Unnecessary Function Wrapping5m
Map and Filter8m
Generalizing Prior Topics9m
Lexical Scope7m
Lexical Scope and Higher-Order Functions7m
Why Lexical Scope11m
Closures and Recomputation6m
Fold and More Closures11m
Closure Idiom: Combining Functions9m
Closure Idiom: Currying10m
Partial Application9m
Currying Wrapup6m
Mutable References8m
Closure Idiom: Callbacks8m
Standard-Library Documentation7m
Optional: Abstract Data Types With Closures11m
Optional: Closure Idioms Without Closures4m
Optional: Java Without Closures12m
Optional: C Without Closures10m
Course-Motivation Introduction5m
Why Study General PL Concepts?10m
Are All PLs the Same?6m
Why Functional Languages?11m
Why ML, Racket, and Ruby?12m
Reading6개의 읽기 자료
Section 3 Welcome Message5m
Section 3 Reading Notes
Code Files for All Section 3 Videos
Homework 3 Detailed Guidelines for Peer Assessment
Hints and Gotchas for Section 310m
Extra Practice Problems
4.9
265개의 리뷰Chevron Right
진로

12%

이 강좌를 수료한 후 새로운 경력 시작하기

최상위 리뷰

대학: YZDec 3rd 2016

I'm just a beginner for CS or SE classes, and find this course really concise and challenging. It opens a door for me to get deeper into programming language. No wonder it got so high average score.

대학: 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!

강사

Avatar

Dan Grossman

Professor
Computer Science & Engineering

워싱턴 대학교 정보

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

자주 묻는 질문

  • 강좌에 등록하면 바로 모든 비디오, 테스트 및 프로그래밍 과제(해당하는 경우)에 접근할 수 있습니다. 상호 첨삭 과제는 이 세션이 시작된 경우에만 제출하고 검토할 수 있습니다. 강좌를 구매하지 않고 살펴보기만 하면 특정 과제에 접근하지 못할 수 있습니다.

  • 수료증을 구매하면 성적 평가 과제를 포함한 모든 강좌 자료에 접근할 수 있습니다. 강좌를 완료하면 전자 수료증이 성취도 페이지에 추가되며, 해당 페이지에서 수료증을 인쇄하거나 LinkedIn 프로필에 수료증을 추가할 수 있습니다. 강좌 콘텐츠만 읽고 살펴보려면 해당 강좌를 무료로 청강할 수 있습니다.

궁금한 점이 더 있으신가요? 학습자 도움말 센터를 방문해 보세요.