Об этом курсе
4.9
Оценки: 216
Рецензии: 46
100% online

100% online

Начните сейчас и учитесь по собственному графику.
Гибкие сроки

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Часов на завершение

Прибл. 19 часов на выполнение

Предполагаемая нагрузка: 8-16 hours/week...
Доступные языки

Английский

Субтитры: Английский...

Приобретаемые навыки

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

100% online

Начните сейчас и учитесь по собственному графику.
Гибкие сроки

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Часов на завершение

Прибл. 19 часов на выполнение

Предполагаемая нагрузка: 8-16 hours/week...
Доступные языки

Английский

Субтитры: Английский...

Программа курса: что вы изучите

Неделя
1
Часов на завершение
1 ч. на завершение

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

Welcome! Start here! Learn about this course and how it's organized. ...
Reading
3 видео (всего 11 мин.), 3 материалов для самостоятельного изучения
Video3 видео
Overview of Part C Concepts4мин
Part C Course Structure3мин
Reading3 материала для самостоятельного изучения
Start Here!10мин
Part C Software Installation and Use: Ruby and irb30мин
Installing and Using SML and Emacsмин
Часов на завершение
7 ч. на завершение

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 видео (всего 192 мин.), 10 материалов для самостоятельного изучения, 2 тестов
Video19 видео
Classes and Objects12мин
Object State13мин
Visibility8мин
A Longer Example12мин
Everything is an Object8мин
Class Definitions are Dynamic7мин
Duck Typing7мин
Arrays11мин
Blocks11мин
Using Blocks6мин
Procs7мин
Hashes and Ranges8мин
Subclassing10мин
Why Use Subclassing?7мин
Overriding and Dynamic Dispatch10мин
Method-Lookup Rules, Precisely11мин
Dynamic Dispatch Versus Closures9мин
Optional: Dynamic Dispatch Manually in Racket15мин
Reading10 материалов для самостоятельного изучения
Section 8 Welcome Message7мин
Section 8 Reading Notesмин
Code Files for All Section 8 Videosмин
Explanation of "Lesson Choices"5мин
Homework 6 Instructionsмин
Homework 6 Detailed Peer-Assessment Instructionsмин
Homework 6 Detailed Guidelines for Peer Assessmentмин
Homework 6 Detailed Guidelines for Peer Assessmentмин
Homework 6 Detailed Guidelines for Peer Assessmentмин
Practice Problems for Another Game in Rubyмин
Неделя
2
Часов на завершение
5 ч. на завершение

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 видео (всего 91 мин.), 10 материалов для самостоятельного изучения, 2 тестов
Video9 видео
Adding Operations or Variants11мин
Binary Methods with Functional Decomposition7мин
Double Dispatch14мин
Optional: Multimethods6мин
Multiple Inheritance10мин
Mixins11мин
Interfaces7мин
Optional: Abstract Methods8мин
Reading10 материалов для самостоятельного изучения
Section 9 Welcome Message5мин
Section 9 Reading Notesмин
Code Files for All Section 9 Videosмин
Explanation of "Lesson Choices"5мин
Homework 7 Instructionsмин
Homework 7 Peer Review Detailed Instructionsмин
Homework 7 Peer Review Detailed Instructionsмин
Homework 7 Peer Review Detailed Instructionsмин
Homework 7 Peer Review Detailed Instructionsмин
Practice Problem for Double Dispatch and ML-to-Rubyмин
Неделя
3
Часов на завершение
5 ч. на завершение

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 видео (всего 92 мин.), 4 материалов для самостоятельного изучения, 2 тестов
Video10 видео
The Subtype Relation8мин
Depth Subtyping8мин
Optional: Java/C# Arrays9мин
Function Subtyping11мин
Subtyping for OOP11мин
Generics Versus Subtyping8мин
Bounded Polymorphism8мин
Summarizing All We Have Learned10мин
Saying Good-Bye :-)4мин
Reading4 материала для самостоятельного изучения
Section 10 Welcome Message5мин
Section 10 Reading Notesмин
(Lack of) Section 10 Code Filesмин
Information About the Exam (Required Reading)мин
Quiz2 практических упражнения
Practice Final Examмин
Actual Final Examмин
4.9
Карьерные преимущества

83%

получил значимые преимущества в карьере благодаря этому курсу
Продвижение по карьерной лестнице

17%

стал больше зарабатывать или получил повышение

Лучшие рецензии

автор: 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!

автор: 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!

Преподаватель

Avatar

Dan Grossman

Professor
Computer Science & Engineering

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

Часто задаваемые вопросы

  • Зарегистрировавшись на сертификацию, вы получите доступ ко всем видео, тестам и заданиям по программированию (если они предусмотрены). Задания по взаимной оценке сокурсниками можно сдавать и проверять только после начала сессии. Если вы проходите курс без оплаты, некоторые задания могут быть недоступны.

  • Оплатив сертификацию, вы получите доступ ко всем материалам курса, включая оцениваемые задания. После успешного прохождения курса на странице ваших достижений появится электронный сертификат. Оттуда его можно распечатать или прикрепить к профилю LinkedIn. Просто ознакомиться с содержанием курса можно бесплатно.

Остались вопросы? Посетите Центр поддержки учащихся.