04.09.2013
архивирован

Сегодня начинается курс «Введение в систематический программный дизайн»

Я вас уже в какой-то мере наверное замучил своими приглашениями на курсы, но сегодня произошло то, о чем я просто не могу молчать. Сегодня началась очередная сессия курса «Введение в систематический программный дизайн» от замечательного инструктора Грегора Кинцалеса, профессора Университета Британской Колумбии.

Почему я вас не приглашаю на этот раз, а просто оповещаю? Я уже закончил предыдущую сессию этого курса недели 2 назад, и скажу вам что это стоило каждой секунды времени которые я потратил. Для тех из вас кто никогда не программировал и хочет получать 150 тысяч рублей сидя на жопе (в Москве), это замечательный шанс попробовать, курс не требует никакого предыдущего опыта написания программ. Но для тех кто уже схватил карпальный туннельный синдром это тоже будет интересным опытом, особенно если вы до этого не программировали в функциональном стиле или ваши познания в методах дизайна программ не особо большие.

Попозже я напишу обзор на этот курс, думаю что он будет довольно большим потому что я в восторге от этого курса. А сейчас краткий ввод в курс дела. В процессе обучения вы изучите интересный метод дизайна программ, который состоит из трех частей: анализ проблемы, разработка структур данных для представления информации, разработка функций через написание тестов. Главная мантра этого метода — информация в проблеме влияет на представление данных в программе, которые в свою очередь влияют на структуру функций и всей программы. Этот метод позволяет бороться с главной проблемой при написании программного обеспечения — сложностью. Лично я о многих проблемах в процессе работы стал думать по другому, в более правильном ключе. Вы так же познакомитесь с языком программирования Ракет, оседлаете рекурсивные функции, научитесь работать с деревьями. Так же будет куча практических заданий в которых вы реализуете кучу интересных программ, самые интересные задания в моей сессии были связаны с отображением фракталов и написанием программы которая автоматически решает Судоку.

Перевод части описания курса:

Телефоны, дизельные генераторы, СМИ, медицинские приборы, игры, политические компании, медицинские исследования, горная промышленность, транспорт и так далее. Каждый день большинство мира вокруг хотя бы частично работает благодаря компьютерной программе. Это значит что умение проектировать программы, или хотя бы работать с теми кто их проектирует, становится все более востребованным умением.

Чтобы создавать свои собственные программы вам нужно знать две вещи: как использовать язык программирования и его библиотеки, а так же более общий навык проектирования программ.

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