Informações sobre o curso
114,415 visualizações recentes

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível intermediário

Aprox. 35 horas para completar

Sugerido: 8-16 hours/week...

Inglês

Legendas: Inglês

Habilidades que você terá

RecursionHigher-Order FunctionPattern MatchingFunctional Programming

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível intermediário

Aprox. 35 horas para completar

Sugerido: 8-16 hours/week...

Inglês

Legendas: Inglês

Programa - O que você aprenderá com este curso

Semana
1
2 horas para concluir

Introduction and Course-Wide Information (Start Here)

7 vídeos (Total 56 mín.), 5 leituras
7 videos
Optional: Who I Am / Acknowledgments6min
What the Course is About / Initial Motivation8min
Recommended Background9min
Why Part A, Part B, Part C5min
Grading Policy9min
Optional: Very High-Level Outline7min
5 leituras
Start here!5min
About the Course10min
Some More Perspective on Recommended Background7min
Why are there 3 courses (Part A, Part B, Part C)?5min
Grading Policy Details10min
2 horas para concluir

Software Installation and Homework 0

4 vídeos (Total 9 mín.), 3 leituras, 2 testes
4 videos
Emacs installation2min
SML installation1min
SML Mode installation3min
3 leituras
Part A Software Installation and Use: SML and Emacs1h
Why Emacs? (Optional)5min
Homework 0 Detailed Peer-Assessment Instructions
Semana
2
6 horas para concluir

Section 1 and Homework 1

17 vídeos (Total 150 mín.), 6 leituras, 2 testes
17 videos
Rules for Expressions9min
The REPL and Errors12min
Shadowing6min
Functions Informally7min
Functions Formally8min
Pairs and Other Tuples9min
Introducing Lists10min
List Functions11min
Let Expressions7min
Nested Functions7min
Let and Efficiency10min
Options9min
Booleans and Comparison Operations7min
Benefits of No Mutation7min
Optional: Java Mutation4min
Pieces of a Language6min
6 leituras
Section 1 Welcome Message7min
Section 1 Reading Notes
Code Files for All Section 1 Videos
Homework 1 Detailed Guidelines for Peer Assessment
Hints and Gotchas for Homework 15min
Extra Practice Problems
Semana
3
7 horas para concluir

Section 2 and Homework 2

22 vídeos (Total 178 mín.), 6 leituras, 2 testes
22 videos
Records8min
Tuples as Syntactic Sugar6min
Datatype Bindings8min
Case Expressions10min
Useful Datatypes11min
Pattern Matching So Far4min
Another Expression Example8min
Type Synonyms6min
Lists and Options are Datatypes9min
Polymorphic Datatypes8min
Each of Pattern Matching / Truth About Functions14min
A Little Type Inference6min
Polymorphic and Equality Types8min
Nested Patterns10min
More Nested Patterns10min
Nested Patterns Precisely6min
Optional: Function Patterns3min
Exceptions7min
Tail Recursion9min
Accumulators for Tail Recursion7min
Perspective on Tail Recursion5min
6 leituras
Section 2 Welcome Message5min
Section 2 Reading Notes
Code Files for All Section 2 Videos
Homework 2 Detailed Guidelines for Peer Assessment
Hints and Gotchas for Homework 27min
Extra Practice Problems
Semana
4
8 horas para concluir

Section 3 and Homework 3 -- and Course Motivation

28 vídeos (Total 247 mín.), 6 leituras, 2 testes
28 videos
Functions as Arguments8min
Polymorphic Types and Functions as Arguments7min
Anonymous Functions9min
Unnecessary Function Wrapping5min
Map and Filter8min
Generalizing Prior Topics9min
Lexical Scope7min
Lexical Scope and Higher-Order Functions7min
Why Lexical Scope11min
Closures and Recomputation6min
Fold and More Closures11min
Closure Idiom: Combining Functions9min
Closure Idiom: Currying10min
Partial Application9min
Currying Wrapup6min
Mutable References8min
Closure Idiom: Callbacks8min
Standard-Library Documentation7min
Optional: Abstract Data Types With Closures11min
Optional: Closure Idioms Without Closures4min
Optional: Java Without Closures12min
Optional: C Without Closures10min
Course-Motivation Introduction5min
Why Study General PL Concepts?10min
Are All PLs the Same?6min
Why Functional Languages?11min
Why ML, Racket, and Ruby?12min
6 leituras
Section 3 Welcome Message5min
Section 3 Reading Notes
Code Files for All Section 3 Videos
Homework 3 Detailed Guidelines for Peer Assessment
Hints and Gotchas for Section 310min
Extra Practice Problems
4.9
298 avaliaçõesChevron Right

31%

comecei uma nova carreira após concluir estes cursos

17%

consegui um benefício significativo de carreira com este curso

Principais avaliações do Programming Languages, Part A

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

por 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!

Instrutores

Avatar

Dan Grossman

Professor
Computer Science & Engineering

Sobre Universidade de 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....

Perguntas Frequentes – FAQ

  • Ao se inscrever para um Certificado, você terá acesso a todos os vídeos, testes e tarefas de programação (se aplicável). Tarefas avaliadas pelos colegas apenas podem ser enviadas e avaliadas após o início da sessão. Caso escolha explorar o curso sem adquiri-lo, talvez você não consiga acessar certas tarefas.

  • Quando você adquire o Certificado, ganha acesso a todo o material do curso, incluindo avaliações com nota atribuída. Após concluir o curso, seu Certificado eletrônico será adicionado à sua página de Participações e você poderá imprimi-lo ou adicioná-lo ao seu perfil no LinkedIn. Se quiser apenas ler e assistir o conteúdo do curso, você poderá frequentá-lo como ouvinte sem custo.

Mais dúvidas? Visite o Central de Ajuda ao Aprendiz.