воскресенье, 7 февраля 2016 г.

Учебная практика, или первый пробный полёт

Дорогие второкурсники!

Поздравляю с началом самостоятельной жизни :-).

Если вы сразу хотите посмотреть темы на выбор - они в конце.

Несколько слов об учебной практике

До этого вы учили разные предметы и постепенно привыкали к рутине "украл, выпил, в тюрьму" "выучил, сдал, проспался, забыл".

Учебная практика - это не предмет. Тут не надо "сдавать". Это ваша проба сил в новом жанре - специалиста-исследователя. Всё, что вы раньше осваивали, теперь (внезапно) начнёт приносить пользу ;-)
Вбоквел: людей, которые знают всё, нет. Любой продукт - это результат совместной работы тысяч людей.
Например, самолёт, это
  • миллионы деталей, каждая из которых работает в своей технологической цепочке;
  • софт, в который вложены десятки миллионов человеко-часов работы квалифицировованных программистов;
  • физика полёта, её изучение и/или использование - это институты и лаборатории по всему миру;
  • моделирование (сопел/турбин/обтекания/...);
  • логистика производства деталей и сборки;
  • материаловедение и химия (пластики, сплавы, топливо/смазки/...);
  • обучение пилотов (методики, физиология/психология, ...);
  • электронная начинка;
  • NP-полные задачи организации трафика;
  • ...
Для того, чтобы создавать такие технологические чудеса, человечество сперва создало культуру исследования и разработки, где усилия многих людей могут складываться без потери времени и без огромных накладных расходов на поддержание обратной связи.

Как результат, до сих пор реально самостоятельно найти и удалить ошибку в знаниях всех людей без фюрера менеджера-всезнайки Стива-Джобса Элона Маска. Это часто делают студенты-дипломники, если уж на то пошло́ :-)

Именно знакомство с этой культурой и является целью учебной практики.

воскресенье, 10 января 2016 г.

Джентельменский минимум на экзамене по Лиспу

В пятом семестре студенты ИМФИ КГПУ заканчивают курс "Языки и методы программирования".  В этом семестре студенты изучают языки программирования Лисп и Пролог. 

Пользуясь гнусавым голосом (грипп), записал видео-демонстрации того, что можно показать на экзамене при сдаче практической части. Если студент способен показывать описанные вещи и внятно их обсуждать, вопрос о двойке уже не стои́т.

 

Данный пост абсолютно не претендует на обучение.

Предполагается, что все лабораторные защищены, а изложенные элементы уже проработаны и осознаны. Разговор идёт исключительно про объём и возможную демонстрацию понимания защищаемого материала.

Сам пост только содержит таблицу содержания к восьми видео-демонстрациям, иллюстрирующим отдельные пройденные элементы языка Лисп в минимально необходимом объёме.

среда, 15 июля 2015 г.

Рисование неструктурированных сеток с помощью библиотеки evtk (Python).

Введение

Сегодня мне потребовалось нарисовать сферу из треугольников как часть 3D визуализации для научного проекта. До этого я всегда экспортировал данные для визуализации в VTK с помощью замечательной библиотеки pyevtk [3], которая за меня строила довольно сложный XML файл, который я потом рисовал в ParaView.

На удивление, гугление "evtk unstructured grid example" давало только ссылку на открытый баг [2]; Яндекс тоже ничего не нашёл.

Взятый за основу файл с демонстрацией бага послужил достаточно хорошим толчком, спасибо Maxim Grechkin [2]. Ниже будет описан процесс правильного создания корректного VTK-файла с неструктурированными сетками, который годится для ParaView и товарищей.

Visualization of unstructured grid data using evtk library (Python).

Introduction

Today I had to visualize a spherical surface (made from triangles) as a part of my scientific project. In a past I always exported data into VTK files using the wonderful library, pyevtk [3], which easily constructs a complex XML files ParaView can draw.

Surprisingly, google got nothing on "evtk unstructured grid example", except for a link to an open bug [2]; Yandex got nothing either.


Taking file applied to the ticket (huge thanks to Maxim Grechkin [2]), I managed to figure out how to create valid unstructured grids with pyevtk. Below is the description of the technique.

четверг, 27 ноября 2014 г.

Про "облака"

Предисловие

В последнее время студенты приносят рефераты про "облачные технологии Google", и у меня возникает сильное ощущение, что у информатиков слово "облако" заменило приставку "нано-" у пустозвонов про физику и технологии.

Здесь я объясню вещи, за непонимание которых буду снижать оценку. Если же я сам что-то не понимаю, то прошу править эту заготовку, на будущее, для общего пользования. Очень надеюсь на комментарии.

вторник, 12 августа 2014 г.

Lisp и Prolog

Lisp и Prolog

В следующем семестре, после Си и Си++, мы переходим к изучению Лиспа и Пролога. Это качественного другие языки, и учить их тяжело. Материалы выложены здесь: ссылка.

По Лиспу я советую попробовать книгу sicp.pdf (перевод классического "Structure and Interpretation of Computer Programs"). Примеры лучше пробовать сразу:
  • есть online среда: http://www.compileonline.com/execute_lisp_online.php
  • есть компилятор в материалах (файл Lisp/lispbox...zip); он работает "из коробки", достаточно распаковать архив и запустить exe-шник (под виндой лучше под пользователем с именем из английских букв, иначе могут быть проблемы).

Замечания, впечатления, трудности оставляйте в комментариях. По мере накопления я буду обновлять пост.

вторник, 14 января 2014 г.

Программа - это маленькое дерево

Введение

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

Выполнять будем в среде LispBox, я буду приводить текст сессии вместо скриншота, для простоты.

UPD 2016-12-03: эта задача гораздо проще и красивее решается циклом loop, как показано здесь: джентельменский минимум к экзамену по Лиспу