Об этом курсе
4.9
Оценки: 379
Рецензии: 76
100% онлайн

100% онлайн

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

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Промежуточный уровень

Промежуточный уровень

Часов на завершение

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

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

Английский

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

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

Racket (Programming Language)Programming Language ConceptsType SystemFunctional Programming
100% онлайн

100% онлайн

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

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Промежуточный уровень

Промежуточный уровень

Часов на завершение

Прибл. 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 videos (Total 11 min), 2 материалов для самостоятельного изучения
Video3 видео
Overview of Part B Concepts5мин
Part B Course Structure2мин
Reading2 материала для самостоятельного изучения
Start Here!7мин
Part B Software Installation and Use: Racket and DrRacket15мин
Часов на завершение
7 ч. на завершение

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......
Reading
23 videos (Total 211 min), 6 материалов для самостоятельного изучения, 2 тестов
Video23 видео
Racket Definitions, Functions, Conditionals10мин
Racket Lists9мин
Syntax and Parentheses8мин
Parentheses Matter! (Debugging Practice)10мин
Dynamic Typing9мин
Cond8мин
Local Bindings13мин
Toplevel Bindings4мин
Mutation with set!8мин
The Truth About Cons7мин
mcons For Mutable Pairs7мин
Delayed Evaluation and Thunks10мин
Avoiding Unnecessary Computations6мин
Delay and Force9мин
Using Streams10мин
Defining Streams10мин
Memoization10мин
Macros: The Key Points8мин
Optional: Tokenization, Parenthesization, and Scope7мин
Optional: Racket Macros With define-syntax9мин
Optional: Variables, Macros, and Hygiene10мин
Optional: More Macro Examples9мин
Reading6 материала для самостоятельного изучения
Section 5 Welcome Message5мин
Section 5 Reading Notes0
Code Files for All Section 5 Videos0
Homework 4 Detailed Guidelines for Peer Assessment0
Notes and Tips for Section 56мин
Extra Practice Problems0
Неделя
2
Часов на завершение
6 ч. на завершение

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!...
Reading
9 videos (Total 86 min), 6 материалов для самостоятельного изучения, 2 тестов
Video9 видео
Datatype-Programming in Racket With Structs9мин
Advantages of Structs8мин
Implementing Programming Languages10мин
What Your Interpreter Can and Cannot Assume13мин
Implementing Variables and Environments6мин
Implementing Closures6мин
Optional: Are Closures Efficient?9мин
Racket Functions As “Macros” For Interpreted Language9мин
Reading6 материала для самостоятельного изучения
Section 6 Welcome Message5мин
Section 6 Reading Notes0
Code Files for All Section 6 Videos0
Homework 5 Detailed Guidelines for Peer Assessment0
Notes and Tips for Section 67мин
Extra Practice Problems0
Неделя
3
Часов на завершение
2 ч. на завершение

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....
Reading
8 videos (Total 77 min), 5 материалов для самостоятельного изучения, 1 тест
Video8 видео
What is Static Checking?10мин
Soundness and Completeness9мин
Weak Typing9мин
Static Versus Dynamic Typing, Part One9мин
Static Versus Dynamic Typing, Part Two13мин
Optional: eval and quote7мин
Part B Wrap-Up and Part C Preview7мин
Reading5 материала для самостоятельного изучения
Section 7 Welcome Message5мин
Section 7 Reading Notes0
Code Files for All Section 7 Videos0
Quiz Instructions5мин
Nothing (yet) (explanation)0
Quiz1 практическое упражнение
Section 7 Quiz45мин
4.9
Рецензии: 76Chevron Right
Карьерные преимущества

83%

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

20%

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

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

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

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

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

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. Просто ознакомиться с содержанием курса можно бесплатно.

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