Обучающие видео » Компьютерные видеоуроки и обучающие интерактивные DVD » Программирование (видеоуроки)
[Udacity] CS212: Design of Computer Programs [online course] (april 2012 rev.) [2012, ENG]Год выпуска: 2012
Производитель: Udacity
Сайт производителя:
http://udacity.comАвтор: Prof. Peter Norvig
Продолжительность: ~12.7 часов
Тип раздаваемого материала: Видеоурок
Язык: Английский
Описание: Онлайновый курс на udacity.com, прочитанный Питером Норвигом (в настоящее время - директор отдела исследований Гугла, также известен как гуру в области искусственного интеллекта и программирования на Лиспе).
В данном курсе он касается темы разработки ПО, буквально на пальцах рассказывая про такие темы, как постановка задачи, управление сложностью, тестирование, поиск, вероятностные алгоритмы, построение интерпретатора и многое другое.
Слоганом курса можно назвать цитату Норвига из форума: "Весь этот курс - путешествие в Небраску, не зная ни что это такое, ни где она находится". Автор показывает, как можно решать незнакомые, нетиповые задачи, не имея готовых рецептов, только с помощью общей методики.
Рассказ ведется с использованием Python и предполагает предварительное с ним знакомство (или навыки работы с любым другим языком программирования, но тогда учиться будет труднее). Статус гуру Лиспа также наложил некоторый отпечаток на программы: они написаны в функциональном стиле.
Данный курс позиционирован автором как "продвинутый", что особенно сказалось на экзаменационных задачах.
Совет к просмотру:Между вопросами из разделов (unit) и домашних заданий (homework) и ответами (solution) на них в оригинале курса есть вставка для онлайновой отправки решения и самопроверки (в одном разделе может быть до 20 с лишним таких мелких задачек), так что прежде чем смотреть видео с ответом, попробуйте ответить/дописать программу самостоятельно, иначе весь смысл прохождения этого курса теряется.
Английское описание курса и план занятий:
[spoiler="Содержание"]
Class SummaryLearn new concepts, patterns, and methods that will expand your programming abilities, helping move you from a novice to an expert programmer.
What do I need to know?This course assumes previous programming experience, comparable to what is covered by the Udacity CS101 course.
What will I learn?Move along the path towards becoming an expert programmer! In this class you will practice going from a problem description to a solution, using a series of assignments.
Peter Norvig is Director of Research at Google Inc. He is also a Fellow of the American Association for Artificial Intelligence and the Association for Computing Machinery. Norvig is co-author of the popular textbook Artificial Intelligence: A Modern Approach. Prior to joining Google he was the head of the Computation Sciences Division at NASA Ames Research Center.
SyllabusUnit 1: Winning Poker Hands
Steps of the design process; Developing for clarity and generality; Arguments for program correctness; Experimentation and simulation.; Design tradeoffs; Simplicity and Clarity. Decomposition and composability.
Unit 2: Back of the Envelope
Back of envelope calculations; When to use brute force and when to be clever; The Zebra puzzle; Generator expressions; Permutations and combinations. Cryptarithmetic; Recursive and wishful thinking.
Unit 3: Regular Expressions, other languages and interpreters
Defining the language of regular expressions; Interpreting the language; Defining the set of strings matched by a regular expression; Other languages.
Unit 4: Dealing with complexity through search
Search: finding your way with a flashlight or boat; pouring water. Analyzing the efficiency of an algorithm; Recurrence relations; Matching data types with algorithms; Longest palindrome substring algorithm.
Unit 5: Dealing with uncertainty through probability
Probability: the game of Pig; Maximizing expected utility to optimize strategy.
Unit 6: Word Games
Managing complexity; Large sets of words; Appropriate data structures; Word games.
Unit 7: Conclusion
Final exam/project
[/spoiler]
Файлы примеров: присутствуют
Формат видео: FLV
Видео: H264, 854 x 480, 16:9, 30 fps, 481 кб/с
Аудио: MP4A, 44100 Гц, 128 кб/с, стерео
[spoiler="Скриншоты"]



[/spoiler]
Доп. информация: Присутствуют внешние английские субтитры, но человеками были сделаны только для юнитов (кроме 7-го). Почти все субтитры к остальным роликам - гуглевское распознавание голоса, качество какового можно оценить на 4-м скриншоте