Informações sobre o curso
4.9
409 classificações
86 avaliações

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. 19 horas para completar

Sugerido: 8-16 hours/week...

Inglês

Legendas: Inglês

Habilidades que você terá

Racket (Programming Language)Programming Language ConceptsType SystemFunctional 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. 19 horas para completar

Sugerido: 8-16 hours/week...

Inglês

Legendas: Inglês

Programa - O que você aprenderá com este curso

Semana
1
1 hora para concluir

Introduction, Course-Wide Information, and Software Installation (Start Here)

Welcome! Start here! Learn about this course and how it's organized. ...
3 vídeos (total de (Total 11 mín.) min), 2 leituras
3 videos
Overview of Part B Concepts5min
Part B Course Structure2min
2 leituras
Start Here!7min
Part B Software Installation and Use: Racket and DrRacket15min
7 horas para concluir

Section 5 and Homework 4 (First Module with Racket)

Let's get started programming with Racket and then learning idioms related to delaying evaluation. The welcome message has a few additional comments about picking up a new language and how to approach the homework assignment, so let's get started......
23 vídeos (total de (Total 211 mín.) min), 6 leituras, 2 testes
23 videos
Racket Definitions, Functions, Conditionals10min
Racket Lists9min
Syntax and Parentheses8min
Parentheses Matter! (Debugging Practice)10min
Dynamic Typing9min
Cond8min
Local Bindings13min
Toplevel Bindings4min
Mutation with set!8min
The Truth About Cons7min
mcons For Mutable Pairs7min
Delayed Evaluation and Thunks10min
Avoiding Unnecessary Computations6min
Delay and Force9min
Using Streams10min
Defining Streams10min
Memoization10min
Macros: The Key Points8min
Optional: Tokenization, Parenthesization, and Scope7min
Optional: Racket Macros With define-syntax9min
Optional: Variables, Macros, and Hygiene10min
Optional: More Macro Examples9min
6 leituras
Section 5 Welcome Message5min
Section 5 Reading Notes
Code Files for All Section 5 Videos
Homework 4 Detailed Guidelines for Peer Assessment
Notes and Tips for Section 56min
Extra Practice Problems
Semana
2
6 horas para concluir

Section 6 and Homework 5 (Second Module with Racket)

Welcome to the second week of Part B where we will focus on (a) building data structures in dynamically typed languages and (b) implementing programming languages with interpreters. Most of the programming assignment is focused on (b) -- implementing a small programming language that has function closures. As usual, start with the welcome message and enjoy!...
9 vídeos (total de (Total 86 mín.) min), 6 leituras, 2 testes
9 videos
Datatype-Programming in Racket With Structs9min
Advantages of Structs8min
Implementing Programming Languages10min
What Your Interpreter Can and Cannot Assume13min
Implementing Variables and Environments6min
Implementing Closures6min
Optional: Are Closures Efficient?9min
Racket Functions As “Macros” For Interpreted Language9min
6 leituras
Section 6 Welcome Message5min
Section 6 Reading Notes
Code Files for All Section 6 Videos
Homework 5 Detailed Guidelines for Peer Assessment
Notes and Tips for Section 67min
Extra Practice Problems
Semana
3
2 horas para concluir

Section 7 Including a Quiz

In the last module of Part B we will use our experience programming in ML and Racket to compare and contrast static typing and dynamic typing. This is not only the most important difference between these two languages, but it is a fundamental topic in the study of programming languages. Learning it can help you program more effectively in both kinds of languages. After completing this week's quiz, don't forget to watch the Part B Wrap-Up and Part C Preview video....
8 vídeos (total de (Total 77 mín.) min), 5 leituras, 1 teste
8 videos
What is Static Checking?10min
Soundness and Completeness9min
Weak Typing9min
Static Versus Dynamic Typing, Part One9min
Static Versus Dynamic Typing, Part Two13min
Optional: eval and quote7min
Part B Wrap-Up and Part C Preview7min
5 leituras
Section 7 Welcome Message5min
Section 7 Reading Notes
Code Files for All Section 7 Videos
Quiz Instructions5min
Nothing (yet) (explanation)
1 exercício prático
Section 7 Quiz45min
4.9
86 avaliaçõesChevron Right

33%

comecei uma nova carreira após concluir estes cursos

30%

consegui um benefício significativo de carreira com este curso

11%

recebi um aumento ou promoção

Melhores avaliações

por AAMar 24th 2018

Great course with really interesting and challenging assignments that allow to get more precise vision on programming languages (especially on PL's typing systems) and get experience with modern LISP

por KRMar 23rd 2018

I'm a pretty experienced C/C++ programmer and this course has been a brilliant introduction into functional programming and the underlying philosophies underpinning programming languages in general.

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.