À propos de ce cours
4.9
216 notes
46 avis
100 % en ligne

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Dates limites flexibles

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Heures pour terminer

Approx. 19 heures pour terminer

Recommandé : 8-16 hours/week...
Langues disponibles

Anglais

Sous-titres : Anglais...

Compétences que vous acquerrez

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

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Dates limites flexibles

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Heures pour terminer

Approx. 19 heures pour terminer

Recommandé : 8-16 hours/week...
Langues disponibles

Anglais

Sous-titres : Anglais...

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
Heures pour terminer
1 heures pour terminer

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

Welcome! Start here! Learn about this course and how it's organized. ...
Reading
3 vidéos (Total 11 min), 3 lectures
Video3 vidéos
Overview of Part C Concepts4 min
Part C Course Structure3 min
Reading3 lectures
Start Here!10 min
Part C Software Installation and Use: Ruby and irb30 min
Installing and Using SML and Emacs min
Heures pour terminer
7 heures pour terminer

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 vidéos (Total 192 min), 10 lectures, 2 quiz
Video19 vidéos
Classes and Objects12 min
Object State13 min
Visibility8 min
A Longer Example12 min
Everything is an Object8 min
Class Definitions are Dynamic7 min
Duck Typing7 min
Arrays11 min
Blocks11 min
Using Blocks6 min
Procs7 min
Hashes and Ranges8 min
Subclassing10 min
Why Use Subclassing?7 min
Overriding and Dynamic Dispatch10 min
Method-Lookup Rules, Precisely11 min
Dynamic Dispatch Versus Closures9 min
Optional: Dynamic Dispatch Manually in Racket15 min
Reading10 lectures
Section 8 Welcome Message7 min
Section 8 Reading Notes min
Code Files for All Section 8 Videos min
Explanation of "Lesson Choices"5 min
Homework 6 Instructions min
Homework 6 Detailed Peer-Assessment Instructions min
Homework 6 Detailed Guidelines for Peer Assessment min
Homework 6 Detailed Guidelines for Peer Assessment min
Homework 6 Detailed Guidelines for Peer Assessment min
Practice Problems for Another Game in Ruby min
Semaine
2
Heures pour terminer
5 heures pour terminer

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 vidéos (Total 91 min), 10 lectures, 2 quiz
Video9 vidéos
Adding Operations or Variants11 min
Binary Methods with Functional Decomposition7 min
Double Dispatch14 min
Optional: Multimethods6 min
Multiple Inheritance10 min
Mixins11 min
Interfaces7 min
Optional: Abstract Methods8 min
Reading10 lectures
Section 9 Welcome Message5 min
Section 9 Reading Notes min
Code Files for All Section 9 Videos min
Explanation of "Lesson Choices"5 min
Homework 7 Instructions min
Homework 7 Peer Review Detailed Instructions min
Homework 7 Peer Review Detailed Instructions min
Homework 7 Peer Review Detailed Instructions min
Homework 7 Peer Review Detailed Instructions min
Practice Problem for Double Dispatch and ML-to-Ruby min
Semaine
3
Heures pour terminer
5 heures pour terminer

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 vidéos (Total 92 min), 4 lectures, 2 quiz
Video10 vidéos
The Subtype Relation8 min
Depth Subtyping8 min
Optional: Java/C# Arrays9 min
Function Subtyping11 min
Subtyping for OOP11 min
Generics Versus Subtyping8 min
Bounded Polymorphism8 min
Summarizing All We Have Learned10 min
Saying Good-Bye :-)4 min
Reading4 lectures
Section 10 Welcome Message5 min
Section 10 Reading Notes min
(Lack of) Section 10 Code Files min
Information About the Exam (Required Reading) min
Quiz2 exercices pour s'entraîner
Practice Final Exam min
Actual Final Exam min
4.9
Avantage de carrière

83%

a bénéficié d'un avantage concret dans sa carrière grâce à ce cours
Promotion de carrière

17%

a obtenu une augmentation de salaire ou une promotion

Meilleurs avis

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

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

Enseignants

Avatar

Dan Grossman

Professor
Computer Science & Engineering

À propos de 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....

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous achetez un Certificat, vous bénéficiez d'un accès à tout le contenu du cours, y compris les devoirs notés. Lorsque vous avez terminé et réussi le cours, votre Certificat électronique est ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.