Об этом курсе
Недавно просмотрено: 13,846

100% онлайн

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

Гибкие сроки

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

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

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

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

Английский

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

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

Racket (Programming Language)Programming Language ConceptsType SystemFunctional Programming

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.

...
3 видео ((всего 11 мин.)), 2 материалов для самостоятельного изучения
3 видео
Overview of Part B Concepts5мин
Part B Course Structure2мин
2 материала для самостоятельного изучения
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...

...
23 видео ((всего 211 мин.)), 6 материалов для самостоятельного изучения, 2 тестов
23 видео
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мин
6 материала для самостоятельного изучения
Section 5 Welcome Message5мин
Section 5 Reading Notes
Code Files for All Section 5 Videos
Homework 4 Detailed Guidelines for Peer Assessment
Notes and Tips for Section 56мин
Extra Practice Problems
Неделя
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!

...
9 видео ((всего 86 мин.)), 6 материалов для самостоятельного изучения, 2 тестов
9 видео
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мин
6 материала для самостоятельного изучения
Section 6 Welcome Message5мин
Section 6 Reading Notes
Code Files for All Section 6 Videos
Homework 5 Detailed Guidelines for Peer Assessment
Notes and Tips for Section 67мин
Extra Practice Problems
Неделя
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.

...
8 видео ((всего 77 мин.)), 5 материалов для самостоятельного изучения, 1 тест
8 видео
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мин
5 материала для самостоятельного изучения
Section 7 Welcome Message5мин
Section 7 Reading Notes
Code Files for All Section 7 Videos
Quiz Instructions5мин
Nothing (yet) (explanation)
1 практическое упражнение
Section 7 Quiz45мин
4.9
Рецензии: 90Chevron Right

33%

начал новую карьеру, пройдя эти курсы

27%

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

10%

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

Лучшие отзывы о курсе Programming Languages, Part B

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

автор: VAMar 19th 2018

This course (as Part A and C) is great - Dan is great in teaching and the content is perfect for anyone who wants to learn more about programming languages!\n\nWarning - you might end up loving FP :)

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

Avatar

Dan Grossman

Professor
Computer Science & Engineering

О Вашингтонский университет

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

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