Informações sobre o curso
4.9
216 classificações
46 avaliações
100% online

100% online

Comece imediatamente e aprenda em seu próprio cronograma.
Prazos flexíveis

Prazos flexíveis

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

Aprox. 19 horas para completar

Sugerido: 8-16 hours/week...
Idiomas disponíveis

Inglês

Legendas: Inglês...

Habilidades que você terá

Ruby (Programming Language)Programming LanguageObject-Oriented Programming (OOP)Subtyping
100% online

100% online

Comece imediatamente e aprenda em seu próprio cronograma.
Prazos flexíveis

Prazos flexíveis

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

Aprox. 19 horas para completar

Sugerido: 8-16 hours/week...
Idiomas disponíveis

Inglês

Legendas: Inglês...

Programa - O que você aprenderá com este curso

Semana
1
Horas para completar
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. ...
Reading
3 vídeos (Total de 11 min), 3 leituras
Video3 videos
Overview of Part C Concepts4min
Part C Course Structure3min
Reading3 leituras
Start Here!10min
Part C Software Installation and Use: Ruby and irb30min
Installing and Using SML and Emacsmin
Horas para completar
7 horas para concluir

Section 8 and Homework 6 (First Module with Ruby)

Let's get started programming with Ruby, including learning about Ruby's variant of (almost) function closures and the "inheritance and overriding" that is the essence of object-oriented programming. The welcome message has a few additional comments about "what makes Ruby different" and how to approach the (rather different) homework assignment, so let's get started......
Reading
19 vídeos (Total de 192 min), 10 leituras, 2 testes
Video19 videos
Classes and Objects12min
Object State13min
Visibility8min
A Longer Example12min
Everything is an Object8min
Class Definitions are Dynamic7min
Duck Typing7min
Arrays11min
Blocks11min
Using Blocks6min
Procs7min
Hashes and Ranges8min
Subclassing10min
Why Use Subclassing?7min
Overriding and Dynamic Dispatch10min
Method-Lookup Rules, Precisely11min
Dynamic Dispatch Versus Closures9min
Optional: Dynamic Dispatch Manually in Racket15min
Reading10 leituras
Section 8 Welcome Message7min
Section 8 Reading Notesmin
Code Files for All Section 8 Videosmin
Explanation of "Lesson Choices"5min
Homework 6 Instructionsmin
Homework 6 Detailed Peer-Assessment Instructionsmin
Homework 6 Detailed Guidelines for Peer Assessmentmin
Homework 6 Detailed Guidelines for Peer Assessmentmin
Homework 6 Detailed Guidelines for Peer Assessmentmin
Practice Problems for Another Game in Rubymin
Semana
2
Horas para completar
5 horas para concluir

Section 9 and Homework 7 (Second Module With Ruby)

Welcome to the second week of Part C where we will focus on how functional programming and object-oriented programming encourage such "exactly opposite" decompositions of problems that they are "more alike than you might realize". This is a key opportunity to synthesize much of what we have learned so far. As the welcome message discusses in more detail, we will go a bit beyond this to touch on some related advanced topics and then dive into the last -- and challenging -- programming assignment, which involves porting an interpreter from ML to Ruby....
Reading
9 vídeos (Total de 91 min), 10 leituras, 2 testes
Video9 videos
Adding Operations or Variants11min
Binary Methods with Functional Decomposition7min
Double Dispatch14min
Optional: Multimethods6min
Multiple Inheritance10min
Mixins11min
Interfaces7min
Optional: Abstract Methods8min
Reading10 leituras
Section 9 Welcome Message5min
Section 9 Reading Notesmin
Code Files for All Section 9 Videosmin
Explanation of "Lesson Choices"5min
Homework 7 Instructionsmin
Homework 7 Peer Review Detailed Instructionsmin
Homework 7 Peer Review Detailed Instructionsmin
Homework 7 Peer Review Detailed Instructionsmin
Homework 7 Peer Review Detailed Instructionsmin
Practice Problem for Double Dispatch and ML-to-Rubymin
Semana
3
Horas para completar
5 horas para concluir

Section 10, Final Exam, and Course Wrap-Up

We have reached the last module of Programming Languages! We first study subtyping, how it relates to static types for object-oriented programming, and how it relates to generics. There is no assignment or quiz devoted only to this last "new material", but there is a "final exam" covering Part B and Part C of the course. Enjoy studying for the exam, and don't miss the final "wrap-up" lesson when you're all done!...
Reading
10 vídeos (Total de 92 min), 4 leituras, 2 testes
Video10 videos
The Subtype Relation8min
Depth Subtyping8min
Optional: Java/C# Arrays9min
Function Subtyping11min
Subtyping for OOP11min
Generics Versus Subtyping8min
Bounded Polymorphism8min
Summarizing All We Have Learned10min
Saying Good-Bye :-)4min
Reading4 leituras
Section 10 Welcome Message5min
Section 10 Reading Notesmin
(Lack of) Section 10 Code Filesmin
Information About the Exam (Required Reading)min
Quiz2 exercícios práticos
Practice Final Exammin
Actual Final Exammin
4.9
46 avaliaçõesChevron Right
Benefício de carreira

83%

consegui um benefício significativo de carreira com este curso
Promoção de carreira

17%

recebi um aumento ou promoção

Melhores avaliações

por JHDec 27th 2016

I took this course about 10 years off the college, and it was excellent refresher on the topics I don't use on a daily basis. Absolutely great lecturer, great videos and study materials!

por NVSep 14th 2017

One of the best courses of my career. This was truly programming languages. You'll look at your programs, in any language you use, in a whole different way! Highly recommended!

Instrutores

Avatar

Dan Grossman

Professor
Computer Science & Engineering

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

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.