<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>ded32.net.ru</title>
		<link>http://ded32.net.ru/</link>
		<description></description>
		<lastBuildDate>Thu, 11 Aug 2016 21:17:22 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://ded32.net.ru/news/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Открываются курсы профессионального программирования для школьников</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 51, 0);&quot;&gt;Курсы программирования для школьников&lt;/span&gt;&lt;/b&gt;</description>
			<content:encoded>&lt;p&gt;&lt;a href=&quot;http://ded32.ucoz.ru/img/McDonalds.jpg&quot;&gt;&lt;img ilo-full-src=&quot;http://ded32.ucoz.ru/img/McDonalds.jpg&quot; src=&quot;http://ded32.ucoz.ru/img/McDonalds.jpg&quot; style=&quot;float: right; width: 33%; border-width: 0px; border-style: solid; margin: 5px 20px; height: 33%;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Об&amp;shy;ра&amp;shy;зо&amp;shy;ва&amp;shy;тель&amp;shy;ные цен&amp;shy;тры в Мос&amp;shy;кве от&amp;shy;кры&amp;shy;ва&amp;shy;ют го&amp;shy;до&amp;shy;вые кур&amp;shy;сы про&amp;shy;фес&amp;shy;си&amp;shy;о&amp;shy;наль&amp;shy;но&amp;shy;го про&amp;shy;грам&amp;shy;ми&amp;shy;ро&amp;shy;ва&amp;shy;ния&lt;/b&gt; на язы&amp;shy;ках Си/Си++ для школь&amp;shy;ни&amp;shy;ков &lt;b&gt;че&amp;shy;рез раз&amp;shy;ра&amp;shy;бот&amp;shy;ку соб&amp;shy;ствен&amp;shy;ных гра&amp;shy;фи&amp;shy;чес&amp;shy;ких ком&amp;shy;пью&amp;shy;тер&amp;shy;ных игр.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Цель кур&amp;shy;сов - под&amp;shy;го&amp;shy;тов&amp;shy;ка &quot;с ну&amp;shy;ля&quot; бу&amp;shy;ду&amp;shy;щих про&amp;shy;грам&amp;shy;мис&amp;shy;тов вы&amp;shy;со&amp;shy;кой тех&amp;shy;но&amp;shy;ло&amp;shy;ги&amp;shy;чес&amp;shy;кой куль&amp;shy;ту&amp;shy;ры.&lt;/b&gt; Эта за&amp;shy;да&amp;shy;ча вы&amp;shy;пол&amp;shy;ни&amp;shy;ма за нес&amp;shy;коль&amp;shy;ко лет обу&amp;shy;че&amp;shy;ния бла&amp;shy;го&amp;shy;да&amp;shy;ря автор&amp;shy;ской ме&amp;shy;то&amp;shy;ди&amp;shy;ке пре&amp;shy;по&amp;shy;да&amp;shy;ва&amp;shy;ния, раз&amp;shy;ра&amp;shy;бо&amp;shy;тан&amp;shy;ной в тес&amp;shy;ном со&amp;shy;труд&amp;shy;ни&amp;shy;чес&amp;shy;тве с вуза&amp;shy;ми (МФТИ, СпбГУ ИТМО и др.) и с уче&amp;shy;том тре&amp;shy;бо&amp;shy;ва&amp;shy;ний со&amp;shy;вре&amp;shy;мен&amp;shy;но&amp;shy;го про&amp;shy;грам&amp;shy;ми&amp;shy;ро&amp;shy;ва&amp;shy;ния как про&amp;shy;фес&amp;shy;сии.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;На мно&amp;shy;гих дру&amp;shy;гих кур&amp;shy;сах лю&amp;shy;дей учат ре&amp;shy;шать ти&amp;shy;пич&amp;shy;ные алго&amp;shy;рит&amp;shy;ми&amp;shy;чес&amp;shy;кие за&amp;shy;да&amp;shy;чи, пра&amp;shy;кти&amp;shy;чес&amp;shy;ки не вда&amp;shy;ва&amp;shy;ясь в спо&amp;shy;соб ре&amp;shy;ше&amp;shy;ния или ка&amp;shy;чес&amp;shy;тво ко&amp;shy;да, обыч&amp;shy;но огра&amp;shy;ни&amp;shy;чи&amp;shy;ва&amp;shy;ясь авто&amp;shy;ма&amp;shy;ти&amp;shy;чес&amp;shy;ки&amp;shy;ми тес&amp;shy;та&amp;shy;ми.&lt;/strong&gt; К со&amp;shy;жа&amp;shy;ле&amp;shy;нию, по&amp;shy;том, по&amp;shy;сту&amp;shy;пая из шко&amp;shy;лы в ВУЗ, или пы&amp;shy;та&amp;shy;ясь из ВУЗа по&amp;shy;сту&amp;shy;пить на ра&amp;shy;бо&amp;shy;ту, про&amp;shy;шед&amp;shy;ший та&amp;shy;кое обу&amp;shy;че&amp;shy;ние че&amp;shy;ло&amp;shy;век слы&amp;shy;шит - &quot;за&amp;shy;будь всё что знал, здесь всё ина&amp;shy;че&quot;. При&amp;shy;чем де&amp;shy;ло не в ка&amp;shy;ких-то кон&amp;shy;крет&amp;shy;ных тех&amp;shy;но&amp;shy;ло&amp;shy;ги&amp;shy;ях, язы&amp;shy;ках или биб&amp;shy;ли&amp;shy;о&amp;shy;те&amp;shy;ках, а в сути про&amp;shy;фес&amp;shy;сии, в осно&amp;shy;вах мыш&amp;shy;ле&amp;shy;ния про&amp;shy;грам&amp;shy;мис&amp;shy;та. При&amp;shy;хо&amp;shy;дит&amp;shy;ся му&amp;shy;чи&amp;shy;тель&amp;shy;но пе&amp;shy;ре&amp;shy;у&amp;shy;чи&amp;shy;вать се&amp;shy;бя, да&amp;shy;ле&amp;shy;ко не у всех это по&amp;shy;лу&amp;shy;ча&amp;shy;ет&amp;shy;ся, да и в лю&amp;shy;бом слу&amp;shy;чае та&amp;shy;кой про&amp;shy;цесс го&amp;shy;во&amp;shy;рит об изна&amp;shy;чаль&amp;shy;но не&amp;shy;оп&amp;shy;ти&amp;shy;маль&amp;shy;ном обу&amp;shy;че&amp;shy;нии. По&amp;shy;это&amp;shy;му у нас в стра&amp;shy;не так ма&amp;shy;ло хо&amp;shy;ро&amp;shy;ших про&amp;shy;грам&amp;shy;мис&amp;shy;тов и их всег&amp;shy;да не хва&amp;shy;та&amp;shy;ет.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;К сожалению, зачастую так же поверхностно учат и в московских физмат-школах, лицеях и гимназиях.&lt;/b&gt; Автор, будучи преподавателем ВУЗа, к сожалению, постоянно видит повальную программистскую неграмотность среди первокурсников программистских факультетов ведущих вузов, и далеко не всех потом удается переучить. Увы, школьные учителя не хотят понимать, что программирование - не просто решение &quot;кучи разных задач&quot;, когда важно лишь прохождение тестов. Это лишь мизерная часть профессиональных навыков.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;На наших же занятиях, &lt;/b&gt;с помощью проектного подхода, начиная с азов и далее на всех уровнях, делается упор на том, чему почти нигде не учат - &lt;b&gt;грамотную архитектуру проекта, надежность, эффективность, масштабируемость и читаемость кода, командную работу&lt;/b&gt; и другие важные качества. &lt;strong&gt;Логика и алгоритмы органично вписываются в этот каркас, &lt;/strong&gt;как и происходит при профессиональной разработке. &lt;b&gt;Программирование - это целостная проектная наукоемкая деятельность, и именно это поставлено в основу нашей методики обучения.&lt;/b&gt; Каждый проект наших курсов позволяет быстро наращивать серьезный опыт, набивать множество очень полезных &quot;шишек&quot; в учебных условиях, которые сэкономят дни, месяцы и годы в реальной программистской работе. Это не &quot;знания из ПТУ&quot; - программирование очень наукоемкий процесс. И этому сложно научиться самому, и невозможно - одному. Ведь искусство программирования - это прежде всего искусство мышления. Овладеть им возможно, но &lt;b&gt;очень важно начать вовремя.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://ded32.net.ru/news/2011-04-03-58&quot;&gt;&lt;b&gt;Принципы курса&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;В ходе курса мы:&lt;/b&gt;&lt;/p&gt;

&lt;ul class=&quot;uz&quot; style=&quot;margin-left: 40px;&quot;&gt;
 &lt;li&gt;Поймем, какие задачи можно решить с помощью программирования,&lt;/li&gt;
 &lt;li&gt;Изучим основы языков Cи/Cи++,&lt;/li&gt;
 &lt;li&gt;Научимся писать анимированные графические программы в среде Windows,&lt;/li&gt;
 &lt;li&gt;Научимся программировать для компьютерных сетей,&lt;/li&gt;
 &lt;li&gt;Научимся писать профессиональный код с самого начала обучения,&lt;/li&gt;
 &lt;li&gt;Получим архитектурные навыки разработки больших программ,&lt;/li&gt;
 &lt;li&gt;Научимся работать в команде,&lt;/li&gt;
 &lt;li&gt;Поймем, как правильно организовывать рабочий процесс для достижения поставленной цели.&lt;br /&gt;
 &lt;br /&gt;
 &lt;strong&gt;В течение курса &lt;/strong&gt;мы будем работать над созданием собственной графической компьютерной игры, как модели профессионального программного продукта.&lt;br /&gt;
 В перспективе - разработка компьютерных моделей физических явлений, экспертных систем, моделей вычислительных систем, системных программ, мобильных приложений.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Автор методики и преподаватель: &lt;/b&gt;И. Р. Дединский -&lt;/p&gt;

&lt;ul class=&quot;uz&quot; style=&quot;margin-left: 40px;&quot;&gt;
 &lt;li&gt;Старший преподаватель кафедры информатики МФТИ,&lt;/li&gt;
 &lt;li&gt;Ведущий лектор и методист Образовательной лаборатории Intel (ILab) МФТИ,&lt;/li&gt;
 &lt;li&gt;Преподаватель кафедры теоретической и прикладной информатики (Parallels/Acronis) МФТИ,&lt;/li&gt;
 &lt;li&gt;Более 25 лет преподает программирование школьникам и студентам по собственным авторским курсам,&lt;/li&gt;
 &lt;li&gt;Научный руководитель всех работ школьников и студентов, представленных на этом сайте,&lt;/li&gt;
 &lt;li&gt;Эти школьники регулярно побеждают на проектных конкурсах и олимпиадах по программированию всероссийского и международного уровней.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Курс подходит &lt;/b&gt;для школьников 7(6)-10 классов, которым интересно попробовать свои силы в программировании, а в будущем стать высококлассными специалистами в этой области.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Для курса необходимы: &lt;/b&gt;хорошие знания по математике, уверенная работа с компьютером на пользовательском уровне, сила воли. :) Твердые знания по физике будут большим плюсом.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Длительность курса: &lt;/b&gt;1 учебный год, с возможностью продолжения.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;График занятий:&lt;/b&gt; 1-2 занятия (всего 4-5 учебных часов) в неделю.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size:14px;&quot;&gt;Информация о курсах:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ul class=&quot;uz&quot; style=&quot;margin-left: 40px;&quot;&gt;
 &lt;li&gt;&lt;b&gt;Групповые занятия: Планируются в этом учебном году&lt;/b&gt;&lt;/li&gt;
 &lt;li&gt;&lt;b&gt;Индивидуальные занятия: пишите на почту &lt;a href=&quot;mailto://mail@ded32.ru&quot;&gt;mail@ded32.ru.&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2016-08-12-79</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2016-08-12-79</guid>
			<pubDate>Thu, 11 Aug 2016 21:17:22 GMT</pubDate>
		</item>
		<item>
			<title>Проектные работы по программированию представлены Президенту России В. В. Путину</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Мини-конференция на открытии Образовательного центра &quot;Сириус&quot;, Сочи&lt;/span&gt;&lt;/b&gt;</description>
			<content:encoded>&lt;hr /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;&lt;strong&gt;По материалам сайтов Президента России В.&amp;nbsp;В.&amp;nbsp;Путина &lt;a href=&quot;http://kremlin.ru/events/president/news/50208&quot;&gt;kremlin.ru,&lt;/a&gt; ОРТ &lt;a href=&quot;http://rutv.ru/brand/show/id/58500&quot;&gt;rutv.ru&lt;/a&gt; и Россия 24 &lt;a href=&quot;http://www.vesti.ru/videos/show/vid/655336/#/video/https%3A%2F%2Fplayer.vgtrk.com%2Fiframe%2Fvideo%2Fid%2F1296728%2Fstart_zoom%2Ftrue%2FshowZoomBtn%2Ffalse%2Fsid%2Fvesti%2FisPlay%2Ftrue%2F%3Facc_video_id%3D655336&quot;&gt;vesti.ru:&lt;/a&gt; &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;font-size:11px;&quot;&gt;&lt;strong&gt;&lt;i&gt;В День знаний Владимир Путин посетил образовательный центр &amp;laquo;Сириус&amp;raquo;. Президент встретился с воспитанниками образовательного центра для одарённых детей, созданного по инициативе главы государства на базе олимпийской инфраструктуры в Сочи.&lt;/i&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-size:11px;&quot;&gt;&lt;strong&gt;&lt;i&gt;Затем глава государства осмотрел территорию центра и ознакомился с творческими проектами ребят &amp;ndash; участников образовательных смен.&lt;/i&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-size:12px;&quot;&gt;&lt;span style=&quot;font-size:11px;&quot;&gt;&lt;strong&gt;&lt;i&gt;Цель работы центра &amp;ndash; раннее выявление, развитие и дальнейшая профессиональная подготовка талантливых школьников, проявивших выдающиеся способности в области естественнонаучных дисциплин, искусства и спорта, а также добившихся успеха в техническом творчестве.&lt;/i&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;

&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; style=&quot;width: 100%;&quot;&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style=&quot;vertical-align: top;&quot;&gt;
 &lt;p&gt;&lt;iframe frameborder=&quot;0&quot; src=&quot;https://ded32.net.ru//player.vgtrk.com/iframe/video/id/1300548/start_zoom/true/showZoomBtn/true/isPlay/false/&quot; style=&quot;width: 512px; height: 288px;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
 &lt;br /&gt;
 Репортаж телеканала ОРТ:&amp;nbsp; &lt;strong&gt;Давид Давитадзе с проектом &quot;Трехмерное&lt;br /&gt;
 моделирование вязкой жидкости&quot;&lt;/strong&gt; - см. со времени 07:07&lt;/p&gt;
 &lt;/td&gt;
 &lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;iframe frameborder=&quot;0&quot; src=&quot;https://ded32.net.ru//player.vgtrk.com/iframe/video/id/1296728/start_zoom/true/showZoomBtn/false/sid/vesti/isPlay/false/?acc_video_id=655336&quot; style=&quot;width: 512px; height: 288px;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
 &lt;br /&gt;
 Репортаж телеканала &quot;Россия 24&quot;: &lt;strong&gt;Работа L2S Sirius Project &lt;/strong&gt;- см. со времени 02:57&lt;br /&gt;
 &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;span style=&quot;font-size:11px;&quot;&gt;&lt;strong&gt;Сайт Образовательного центра &quot;Сириус&quot;: &lt;/strong&gt;&lt;a href=&quot;http://sochisirius.ru&quot;&gt;http://sochisirius.ru,&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;&lt;a href=&quot;http://talantiuspeh.ru&quot;&gt;http://talantiuspeh.ru&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;hr /&gt;
&lt;p&gt;&lt;br /&gt;
&lt;span style=&quot;font-size:16px;&quot;&gt;&lt;strong&gt;Президенту России В.&amp;nbsp;В.&amp;nbsp;Путину были представлены проектные работы по программированию учеников 7, 8 и 10 классов.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-size:14px;&quot;&gt;&lt;strong&gt;Руководитель и преподаватель секции &quot;Программирование&quot; - И.&amp;nbsp;Р.&amp;nbsp;Дединский.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Отчет о работе секции:&amp;nbsp;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/IlyaDedinsky.pdf&quot;&gt;IlyaDedinsky.pdf&lt;/a&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;Davitadze&quot;&gt;&lt;/a&gt;&lt;hr /&gt;
&lt;h2&gt;Трехмерное моделирование вязкой жидкости&lt;/h2&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Разработчик: Давид Давитадзе, 8 класс.&lt;/strong&gt;&lt;br /&gt;
Научные руководители: И.&amp;nbsp;Р.&amp;nbsp;Дединский (МФТИ), Г.&amp;nbsp;З.&amp;nbsp;Арабули.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Целью работы было реалистичное моделирование расхождения волн на поверхности жидкости.&lt;/p&gt;

&lt;p&gt;Задачами являлись разработка модели для расчета поведения волн с использованием векторной библиотеки, а также работа над демонстрационной программой.&lt;/p&gt;

&lt;p&gt;Для моделирования подобных явлений в физике обычно используется уравнение Навье-Стокса.&lt;/p&gt;

&lt;p&gt;Для данной задачи это уравнение было избыточным, поэтому было использовано более простое волновое уравнение, которое связывает ускорение частицы жидкости с ускорением соседних частиц.&lt;/p&gt;

&lt;p&gt;В программе оно используется для подсчета высоты точки на поверхности жидкости. Для учета затухания волн используется поправка на вязкость из уравнения Навье-Стокса.&lt;/p&gt;

&lt;p&gt;Архитектура программы устроена согласно концепции MVC. В ней есть отдельный модуль, визуализирующий данные. Модель передает визуализатору данные о точках жидкости, их можно представить в виде сетки. Дальше к этой поверхности применяется освещение посредством функций OpenGL. Затем на поверхность натягивается текстура и добавляется прозрачность. После всех этих действий мы видим на экране жидкость, которая на самом деле была нарисована компьютером на основе расчетов программы.&lt;/p&gt;

&lt;p&gt;Объем кода составил около 2500 строк на языке С++.&lt;/p&gt;

&lt;p&gt;Работа была представлена лично Президенту России В.&amp;nbsp;В.&amp;nbsp;Путину как один из главных результатов научной смены детского образовательного лагеря, и он высоко оценил это достижение: &lt;a href=&quot;http://kremlin.ru/events/president/news/50208&quot;&gt;kremlin.ru/events/president/news/50208.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Видеоролик:&lt;/strong&gt; &lt;a href=&quot;https://vimeo.com/138076907&quot;&gt;https://vimeo.com/138076907&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Презентация:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/DavidDavitadze.pdf&quot;&gt;DavidDavitadze.pdf&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Текст краткого сообщения:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/DavidDavitadze.docx&quot;&gt;DavidDavitadze.docx&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Материалы по проекту:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/DavidDavitadze.rar&quot;&gt;DavidDavitadze.rar&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;display: block; text-align: left; line-height: 300%;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;281&quot; mozallowfullscreen=&quot;&quot; src=&quot;https://player.vimeo.com/video/138076907&quot; webkitallowfullscreen=&quot;&quot; width=&quot;500&quot;&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://img1.1tv.ru/imgsize640x360/PR20150906212349.JPG&quot;&gt;&lt;img alt=&quot;Президент России В. В. Путин и директор Центра Е. В. Шмелева слушают доклад Давида Давитадзе&quot; ilo-full-src=&quot;http://img1.1tv.ru/imgsize640x360/PR20150906212349.JPG&quot; src=&quot;http://img1.1tv.ru/imgsize640x360/PR20150906212349.JPG&quot; style=&quot;width: 500px; height: 281px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://sochisirius.ru/uploads/gallery/92/4.jpg&quot;&gt;&lt;img alt=&quot;Президент России В. В. Путин общается с автором работы Давидом Давитадзе&quot; ilo-full-src=&quot;http://sochisirius.ru/uploads/gallery/92/4.jpg&quot; src=&quot;http://sochisirius.ru/uploads/gallery/92/4.jpg&quot; style=&quot;width: 500px; height: 325px;&quot; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://static.kremlin.ru/media/events/photos/big2x/HdEOJAMu9g7cBOPA27rhuqdM1Ai2sXEL.jpg&quot;&gt;&lt;img alt=&quot;Президент России В. В. Путин и директор Центра Е. В. Шмелева слушают доклад Давида Давитадзе&quot; ilo-full-src=&quot;http://static.kremlin.ru/media/events/photos/big/DDwGTl3E9LP0INhC7ZqRcudxoSgCtLtW.jpg&quot; src=&quot;http://static.kremlin.ru/media/events/photos/big/DDwGTl3E9LP0INhC7ZqRcudxoSgCtLtW.jpg&quot; style=&quot;width: 500px; height: 325px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://sochisirius.ru/uploads/gallery/92/5.jpg&quot;&gt;&lt;img alt=&quot;Президент России В. В. Путин общается с автором работы Давидом Давитадзе&quot; ilo-full-src=&quot;http://sochisirius.ru/uploads/gallery/92/5.jpg&quot; src=&quot;http://sochisirius.ru/uploads/gallery/92/5.jpg&quot; style=&quot;width: 500px; height: 325px;&quot; /&gt;&lt;/a&gt; &lt;/span&gt;&lt;br /&gt;
Фото: &lt;a href=&quot;http://kremlin.ru/events/president/news/50208&quot;&gt;kremlin.ru,&lt;/a&gt; &lt;a href=&quot;http://job.1tv.ru/news/polit/291685&quot;&gt;1tv.ru,&lt;/a&gt; &lt;a href=&quot;http://sochisirius.ru/foto/92&quot;&gt;sochisirius.ru.&lt;/a&gt; Видео: &lt;a href=&quot;http://talantiuspeh.ru&quot;&gt;Образовательный центр &quot;Сириус&quot;.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;SmirnovStolpovsky&quot;&gt;&lt;/a&gt;&lt;hr /&gt;
&lt;h2&gt;Моделирование идеального газа&lt;/h2&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Разработчики: Смирнов Олег, Александр Столповский, 7 класс (два проекта)&lt;/strong&gt;.&lt;br /&gt;
Научный руководитель: И.&amp;nbsp;Р.&amp;nbsp;Дединский (МФТИ).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Целью работы является разработка модели газа, основанная на системе частиц.&lt;/p&gt;

&lt;p&gt;Наиболее важные задачи &amp;ndash; это реализация взаимодействия частиц и снятие показаний с датчиков.&lt;/p&gt;

&lt;p&gt;В системе молекулы представляют из себя шарики с фиксированной массой и объемом, которые взаимодействуют друг с другом. При их ударе друг о друга или о стенки сосуда происходит абсолютно упругий удар, при котором они изменяют направление движения, но суммарные энергия и импульс системы остаются неизменными.&lt;/p&gt;

&lt;p&gt;Программа позволяет снимать некоторые показания с виртуальных датчиков и выводить их на экран. В данной версии высчитываются только температура газа и его давление на перегородку, но относительно гибкая структура программы дает возможность легко изменять комплекс датчиков.&lt;/p&gt;

&lt;p&gt;В ходе работы была разработана физически правильная математическая модель поведения молекул идеального газа.&lt;/p&gt;

&lt;p&gt;Объем кода составил около 1000 строк на языке С++.&lt;/p&gt;

&lt;p&gt;Работа была представлена лично Президенту России В.&amp;nbsp;В.&amp;nbsp;Путину как один из главных результатов научной смены детского образовательного лагеря, и он высоко оценил это достижение: &lt;a href=&quot;http://kremlin.ru/events/president/news/50208&quot;&gt;kremlin.ru/events/president/news/50208.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Видеоролик:&lt;/strong&gt; &lt;a href=&quot;https://vimeo.com/138076909&quot;&gt;https://vimeo.com/138076909&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Презентация:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/OlegSmirnov.pdf&quot;&gt;OlegSmirnov.pdf&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Текст краткого сообщения:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/OlegSmirnov.docx&quot;&gt;OlegSmirnov.docx&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Материалы по проекту:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/OlegSmirnov.rar&quot;&gt;OlegSmirnov.rar&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;display: block; text-align: left; line-height: 300%;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;281&quot; mozallowfullscreen=&quot;&quot; src=&quot;https://player.vimeo.com/video/138076909&quot; webkitallowfullscreen=&quot;&quot; width=&quot;500&quot;&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://static.kremlin.ru/media/events/photos/big2x/5n3NiafUzTdAvSA5Dc5SLhtL09PSl2E9.jpg&quot;&gt;&lt;img alt=&quot;В. В. Путин слушает доклад о работе Олега Смирнова&quot; ilo-full-src=&quot;http://static.kremlin.ru/media/events/photos/big/Evih0OpjNMrxdMsxXBhOJOxAHJAIztJY.jpg&quot; src=&quot;http://static.kremlin.ru/media/events/photos/big/Evih0OpjNMrxdMsxXBhOJOxAHJAIztJY.jpg&quot; style=&quot;width: 500px; height: 281px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://sochisirius.ru/uploads/gallery/92/7.jpg&quot;&gt;&lt;img alt=&quot;Президент России В. В. Путин слушает доклад Олега Смирнова&quot; ilo-full-src=&quot;http://sochisirius.ru/uploads/gallery/92/7.jpg&quot; src=&quot;http://sochisirius.ru/uploads/gallery/92/7.jpg&quot; style=&quot;width: 500px; height: 325px;&quot; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://sochisirius.ru/uploads/gallery/92/8.jpg&quot;&gt;&lt;img alt=&quot;Олег Смирнов докладывает о своей работе&quot; ilo-full-src=&quot;http://sochisirius.ru/uploads/gallery/92/8.jpg&quot; src=&quot;http://sochisirius.ru/uploads/gallery/92/8.jpg&quot; style=&quot;width: 500px; height: 325px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://sochisirius.ru/uploads/gallery/92/58.jpg&quot;&gt;&lt;img alt=&quot;Президент России В. В. Путин слушает доклад Олега Смирнова&quot; ilo-full-src=&quot;http://sochisirius.ru/uploads/gallery/92/58.jpg&quot; src=&quot;http://sochisirius.ru/uploads/gallery/92/58.jpg&quot; style=&quot;width: 500px; height: 325px;&quot; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://sochisirius.ru/uploads/gallery/92/59.jpg&quot;&gt;&lt;img alt=&quot;Президент России В. В. Путин общается с автором работы Олегом Смирновым&quot; ilo-full-src=&quot;http://sochisirius.ru/uploads/gallery/92/59.jpg&quot; src=&quot;http://sochisirius.ru/uploads/gallery/92/59.jpg&quot; style=&quot;width: 500px; height: 325px;&quot; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
Фото: &lt;a href=&quot;http://kremlin.ru/events/president/news/50208&quot;&gt;kremlin.ru,&lt;/a&gt; &lt;a href=&quot;http://www.visualrian.ru/ru/site/gallery/index/id/2690089/context/%7B%22feature%22%3A%22494593%22%7D/&quot;&gt;visualrian.ru,&lt;/a&gt; &lt;a href=&quot;http://sochisirius.ru/foto/92&quot;&gt;sochisirius.ru.&lt;/a&gt; Видео: &lt;a href=&quot;http://talantiuspeh.ru&quot;&gt;Образовательный центр &quot;Сириус&quot;.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;Aleinik&quot;&gt;&lt;/a&gt;&lt;hr /&gt;
&lt;h2&gt;Реализации модели теплопереноса&lt;/h2&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Разработчик: Владислав Алейник, 8 класс.&lt;/strong&gt;&lt;br /&gt;
Научные руководители: И.&amp;nbsp;Р.&amp;nbsp;Дединский (МФТИ), Г.&amp;nbsp;З.&amp;nbsp;Арабули.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Задача моделирования тепловых явлений достаточно востребована в современном мире и является значимой часть производственного процесса. Зачастую необходимо исследовать процесс теплоотвода с поверхности микропроцессоров или процесс нагревания посадочного аппарата при входе в атмосферу планеты.&lt;/p&gt;

&lt;p&gt;Автор поставил своей целью создание реалистично выглядящей модели распространения тепла.&lt;/p&gt;

&lt;p&gt;Требованиями к программному продукту являлись:&lt;/p&gt;

&lt;p&gt;&amp;bull; Реалистичное поведение тепловых потоков&lt;br /&gt;
 &amp;bull; Удобность задания начальных условий&lt;br /&gt;
 &amp;bull; Быстродействие программы&lt;br /&gt;
 &amp;bull; Реалистичная визуализация&lt;/p&gt;

&lt;p&gt;Реалистичное поведение тепла в программе моделируется с помощью уравнения теплопроводности, а точнее, его разностной схемы. Начальные условия, в частности, карта теплопроводностей, задаются изображениями или текстовыми файлами, вследствие чего программа приобретает большую гибкость.&lt;/p&gt;

&lt;p&gt;Программа реализована на языке программирования C++ за смену в Сириусе и занимает примерно 2000 строк.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Видеоролик:&lt;/strong&gt; &lt;a href=&quot;https://vimeo.com/138076911&quot;&gt;https://vimeo.com/138076911&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Презентация:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/VladAleinik.pdf&quot;&gt;VladAleinik.pdf&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Текст краткого сообщения:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/VladAleinik.docx&quot;&gt;VladAleinik.docx&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Материалы по проекту:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/VladAleinik.rar&quot;&gt;VladAleinik.rar&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;281&quot; mozallowfullscreen=&quot;&quot; src=&quot;https://player.vimeo.com/video/138076911&quot; webkitallowfullscreen=&quot;&quot; width=&quot;500&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Видео: &lt;a href=&quot;http://talantiuspeh.ru&quot;&gt;Образовательный центр &quot;Сириус&quot;.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;Vylegzhanin&quot;&gt;&lt;/a&gt;&lt;hr /&gt;
&lt;h2&gt;Апериодические колебания пружинного маятника&lt;/h2&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Разработчик: Вылегжанин Федор, 8 класс.&lt;/strong&gt;&lt;br /&gt;
Научный руководитель: И.&amp;nbsp;Р.&amp;nbsp;Дединский (МФТИ).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Целью работы было исследование колебаний сложного пружинного маятника при помощи специально разработанной математической модели. для этого было необходимо написать тестовую программу, которая бы проверила модель на корректность, а затем и демонстрационную, позволяющую отслеживать её поведение с помощью графиков.&lt;/p&gt;

&lt;p&gt;На тело, свободно подвешенное на пружине, действуют две силы. Сила тяжести, пропорциональная массе, действует строго вниз, а сила гука, направленная так, чтобы противодействовать деформации пружины, пропорциональна удлинению маятника. в итоге ускорение тела высчитывается согласно данной формуле и изменяет скорость тела, а в зависимости от скорости меняется его положение.&lt;/p&gt;

&lt;p&gt;Такой маятник можно рассмотреть и как композицию двух более простых систем. Если пружина будет расположена вертикально, это будет пружинный маятник, и груз будет совершать колебания вверх-вниз с данным периодом, зависящим от массы и жёсткости пружины. если же заменить пружину на нерастяжимую нить, то получим математический маятник, колеблющийся с другим периодом, зависящим от ускорения свободного падения и длины маятника. так как отношение этих периодов не всегда рационально, то колебания сложного пружинного маятника в общем случае апериодичны.&lt;/p&gt;

&lt;p&gt;При выполнении работы были достигнуты следующие цели: разработана корректная математическая модель сложного пружинного маятника, а также написана демонстрационная программа с возможностью параметризации.&lt;/p&gt;

&lt;p&gt;Объем кода составил около 350 строк на языке С++.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Видеоролик:&lt;/strong&gt; &lt;a href=&quot;https://vimeo.com/138076908&quot;&gt;https://vimeo.com/138076908&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Презентация:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/FedorVylegzhanin.pdf&quot;&gt;FedorVylegzhanin.pdf&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Текст краткого сообщения:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/FedorVylegzhanin.docx&quot;&gt;FedorVylegzhanin.docx&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Материалы по проекту:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/FedorVylegzhanin.rar&quot;&gt;FedorVylegzhanin.rar&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;281&quot; mozallowfullscreen=&quot;&quot; src=&quot;https://player.vimeo.com/video/138076908&quot; webkitallowfullscreen=&quot;&quot; width=&quot;500&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Видео: &lt;a href=&quot;http://talantiuspeh.ru&quot;&gt;Образовательный центр &quot;Сириус&quot;.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;Perevedentzev&quot;&gt;&lt;/a&gt;&lt;hr /&gt;
&lt;h2&gt;Экспертная система &quot;TxSiri&quot;&lt;/h2&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Разработчик: Артем Переведенцев, 7 класс.&lt;/strong&gt;&lt;br /&gt;
Научный руководитель: И.&amp;nbsp;Р.&amp;nbsp;Дединский (МФТИ).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Целью проекта являлась написание тестирующей системы, способной обучаться и запоминать информацию.&lt;br /&gt;
Программа может использоваться абсолютно во всех сферах жизни: от школьного обучения, до постановки диагноза без посещения врача.&lt;/p&gt;

&lt;p&gt;Главная &quot;фишка&quot; проекта это его структурированность.&lt;br /&gt;
Почему же у txSiri такая хорошая память?&lt;br /&gt;
Да все просто: она все объекты и их свойства хранит в бинарном дереве и записывает его в файл, предварительно его прочитав.&lt;br /&gt;
Бинарное дереве - это мозг txSiri. У нее в голове все всегда разложено по полочкам.&lt;/p&gt;

&lt;p&gt;Еще одна ее фишка - это непосредственность.&lt;br /&gt;
С Siri очень легко общаться.&lt;br /&gt;
Благодаря звуковому интерфейсу txSiri буквально сама предлагает поговорить с ней.&lt;br /&gt;
Она никогда не обижается и всегда хочет узнать что-то новое.&lt;br /&gt;
txSiri будет вам благодарна за каждое новое слово, которому вы ее научили.&lt;br /&gt;
И разумеется она очень любит пошутить.&lt;br /&gt;
В итоге играть с txSiri - это весело.&lt;/p&gt;

&lt;p&gt;Программа была написана для операционной системы Windows на языке C++ в среде CodeBlocks.&lt;br /&gt;
До написания программы были самостоятельно реализованы две структуры данных: список и бинарное дерево.&lt;br /&gt;
Объем кода составил около 1000 строк на языке С++.&lt;/p&gt;

&lt;p&gt;P.S не исключено, что скоро txSiri узнает все и тогда уже люди будут работать на нее, но это только гипотеза :)&lt;/p&gt;

&lt;p&gt;Объем кода составил около 1000 строк на языке С++.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Видеоролик:&lt;/strong&gt; &lt;a href=&quot;https://vimeo.com/138076906&quot;&gt;https://vimeo.com/138076906&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Презентация:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/ArtemPerevedencev.pdf&quot;&gt;ArtemPerevedencev.pdf&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Материалы по проекту:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/ArtemPerevedencev.rar&quot;&gt;ArtemPerevedencev.rar&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;281&quot; mozallowfullscreen=&quot;&quot; src=&quot;https://player.vimeo.com/video/138076906&quot; webkitallowfullscreen=&quot;&quot; width=&quot;500&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Видео: &lt;a href=&quot;http://talantiuspeh.ru&quot;&gt;Образовательный центр &quot;Сириус&quot;.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;Yurovsky&quot;&gt;&lt;/a&gt;&lt;hr /&gt;
&lt;h2&gt;Обработка данных физического эксперимента с помощью фиттинга функций методом Монте-Карло&lt;/h2&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Разработчик: Юровский Владимир, 7 класс.&lt;/strong&gt;&lt;br /&gt;
Научный руководитель: И.&amp;nbsp;Р.&amp;nbsp;Дединский (МФТИ)&lt;br /&gt;
Консультанты: Г.&amp;nbsp;З.&amp;nbsp;Арабули, Ю.&amp;nbsp;Н.&amp;nbsp;Дементьев.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Основной целью являлась разработка программы для обсчета данных физического эксперимента с помощью фиттинга функции методом Монте-Карло. В задачи входила разработка и отладка метода на тестовых данных, сгенерированных специально, а также проведение реального эксперимента по анализу траектории полета мяча.&lt;/p&gt;

&lt;p&gt;Подходы, реализованные в работе, могут использоваться везде, где нужна обработка больших данных и поиск параметров функций, например, в баллистике, в задачах космического полета, при исследовании движения в вязкой среде и так далее.&lt;/p&gt;

&lt;p&gt;Объем кода составил около 1000 строк на языке С++.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Видеоролик:&lt;/strong&gt; &lt;a href=&quot;https://vimeo.com/138075970&quot;&gt;https://vimeo.com/138075970&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Презентация:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/VladimirYurovskiy.pdf&quot;&gt;VladimirYurovskiy.pdf&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Текст краткого сообщения:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/VladimirYurovskiy.docx&quot;&gt;VladimirYurovskiy.docx&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Материалы по проекту:&lt;/strong&gt; &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/VladimirYurovskiy.rar&quot;&gt;VladimirYurovskiy.rar&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;281&quot; mozallowfullscreen=&quot;&quot; src=&quot;https://player.vimeo.com/video/138075970&quot; webkitallowfullscreen=&quot;&quot; width=&quot;500&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Видео: &lt;a href=&quot;http://talantiuspeh.ru&quot;&gt;Образовательный центр &quot;Сириус&quot;.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;DellaPietra&quot;&gt;&lt;/a&gt;&lt;hr /&gt;
&lt;h2&gt;Моделирование оптических явлений в неоднородных средах&lt;/h2&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Разработчик: Раффаэлле Делла Пиетра, 10 класс.&lt;/strong&gt;&lt;br /&gt;
Научный руководитель: И.&amp;nbsp;Р.&amp;nbsp;Дединский (МФТИ).&lt;br /&gt;
Консультант: С.&amp;nbsp;Н.&amp;nbsp;Колякина.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Цель работы состояла в моделировании прохождения светового луча через толщу неравномерно нагретой воды для изучения того, как ведут себя лучи в морях и океанах. Программа рисует миллион частиц с разными свойствами, имитирующих частицы воды, и показывает, как через них проходит световой луч и как он отражается.&lt;/p&gt;

&lt;p&gt;Программа реализована на языках C++ и Microsoft DirectX HLSL, занимает около 3500 строк.&lt;/p&gt;

&lt;p&gt;Видеоролик: &lt;a href=&quot;https://vimeo.com/138075969&quot;&gt;https://vimeo.com/138075969&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;281&quot; mozallowfullscreen=&quot;&quot; src=&quot;https://player.vimeo.com/video/138075969&quot; webkitallowfullscreen=&quot;&quot; width=&quot;500&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Видео: &lt;a href=&quot;http://talantiuspeh.ru&quot;&gt;Образовательный центр &quot;Сириус&quot;.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;Dedinsky&quot;&gt;&lt;/a&gt;&lt;hr /&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;h2&gt;Из отчета о проведении секции &quot;Программирование&quot; детского образовательного лагеря на базе ОЦ &quot;Сириус&quot;&lt;/h2&gt;


&lt;p&gt;&lt;strong&gt;&lt;em&gt;Руководитель секции и преподаватель: И.&amp;nbsp;Р.&amp;nbsp;Дединский&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;Пояснительная записка&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;В течение смены проводилась работа по проведению занятий по программированию с физико-математическим уклоном в соответствии с концепциями об универсальности и профилизации обучения. Основная направленность занятий заключалась не в рассмотрении&amp;nbsp; информатики как простого продолжения математических дисциплин и/или отработке чисто компьютерных программистских или пользовательских навыков, а в обучении универсальным и эффективным методам работы с информацией в различных областях знания и технологии физико-математической направленности. Основной тематикой работ было моделирование различных физических и математических объектов и процессов.&lt;/p&gt;

&lt;p&gt;Специфика информатики как синтетической науки, включающей элементы математики, философии, стилистики, психологии и инженерии, состоит именно в том, что преобладающий способ реализации ее собственных знаний &amp;mdash; это работа со знаниями более &amp;laquo;конкретных&amp;raquo; дисциплин (предметных областей).&lt;/p&gt;

&lt;p&gt;Сочетание обучения методам, а не фактам, работы на примерах из смежных школьных дисциплин, универсальности большинства изучаемых приемов превращает, таким образом, информатику в дисциплину, максимально интегрирующую предметы школьного курса. Такая концепция приводит к повышению эффективности процесса обучения в целом.&lt;/p&gt;

&lt;p&gt;Необходимо подчеркнуть, что в ряде курсов наиболее существенным приобретением ученика становятся не сколько знания, умения и навыки, а метаумения и метанавыки, определяющие правильное формирование подхода к проблеме, способа ее рассмотрения, поиска решения и реализации, а в конечном счете и организацию знания, получаемого ребенком. Это является следствием системного подхода, применяемого как непосредственно в процессе обучения, так и при планировании занятий. В конечном счете, речь идет о выработке у ученика элементов системной методологии мышления. При полном отсутствии этих компонент получается стандартное выучивание и воспроизведение, при полном наличии &amp;mdash; в идеале становится ненужным традиционный учебный процесс (ребенок способен получать и организовывать материал самостоятельно). В ходе обучения достигается компромисс между этими формами, он определяется индивидуально для каждого ребенка, в зависимости от его мотиваций,&amp;nbsp; склонностей и работоспособности.&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;Актуальность и новизна программы&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;В настоящее время проектная составляющая в школьном обучении программированию сильно уменьшилась за последние 10-15 лет, превратившись в построение графиков в Excel и знанию меню PowerPoint, и, к сожалению, уступив в массовости олимпиадам, подразумевающим небольшой объем каждой задачи и крайне малое время жизни кода.&lt;/p&gt;

&lt;p&gt;Работа над проектными задачами, подразумевающими не только логику и расчеты, но и визуализацию, потребовала от учащихся гораздо больших навыков и даже совсем другого стиля мышления, чем сейчас дается школьникам как в общеобразовательном курсе программирования, так и в курсах олимпиадной направленности, читающихся в огромном количестве на разных курсах дополнительного образования.&lt;/p&gt;

&lt;p&gt;Здесь можно присоединиться ко многим вузовским преподавателям, физикам, биологам, лингвистам и другим профессиональным представителям предметных областей, да и самим программистам, утверждающим, что сейчас даже среди школьников физико-математической направленности стали редки те, кто может взять задачу за пределами олимпиад по программированию и грамотно решить ее, не переписывая по сто раз и не теряя понимание собственного кода программы. Такая тенденция удручает.&lt;/p&gt;

&lt;p&gt;Актуальность подхода заключалась в длительном характере работы над проектом (в течение смены) и сравнительно большой для школьников объем кода проекта (более 500 строк, сильные проекты - более 1000 строк). Это объяснялось тем, что в работах присутствовала как расчетная, так и интерфейсная часть, которая почти всегда составляла большую часть кода проекта, что вообще характерно для задач визуализации. Такое положение дел неизбежно приводит к необходимости строгой архитектуры проекта, что зачастую игнорируется в школьных курсах программирования. &amp;laquo;Традиционный&amp;raquo; подход, где эти части смешиваются, принципиально неприменим для задач, решение которых требует больше 3-4 учебных часов и значительный объем кода, а это имен тот тип задач, который характерен для вузов и для профессиональной деятельности, и к которому надо готовить школьника, чтобы в дальнейшем не пришлось его переучивать.&lt;/p&gt;

&lt;p&gt;Новизна подхода заключается в большом упоре на технологическую грамотность проекта и его проработанность с точки зрения современных технологий программирования. Зачастую проектные работы, выполненные школьниками, смотрятся неплохо с точки зрения интерфейса, но их внутренняя архитектура, надежность, технологическая грамотность на всех уровнях оставляют желать много и много лучшего, что обычно объясняется тем, что в этих проектах &amp;laquo;важнее всего физика, а не программирование&amp;raquo;. На практике же это обычно означает, что школьник (а далее и студент) не может написать и отладить программу большего объема даже на аналогичную тему, путается в коде и в отладке, и в конце концов бросает проект, а плохое качество кода не дает его последователям в полной мере использовать разработанные методики моделирования. Чтобы научиться работать с проектами не школьного уровня, ему необходимо серьезно переучиваться и менять стиль мышления при программировании, что удается не каждому. Остальные вместо самостоятельной работы над задачей &amp;laquo;нанимают программистов&amp;raquo; и вынуждены тратить время и силы на постановку им технических заданий и верификацию данных, и финансы на собственно разработку, Таким образом, такой исследователь, скажем, ученый-физик, становится несамостоятельным, что ограничивает эффективность его работы. Используемый подход, основанный на принципе &amp;laquo;разрабатывать небольшие учебные проекты так, как это делается в больших&amp;raquo;, призван устранить эту часто встречающуюся проблему.&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;Общая характеристика курса&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Курс рассчитан на учащихся физико-математических школ, изучавших основы программирования в том или ином объеме. Основной контингент учащихся составляли ученики московского физико-математического лицея &amp;laquo;Вторая школа&amp;raquo;.&lt;/p&gt;

&lt;p&gt;Программой предполагается проведение проектных работ, рассчитанных на всю смену и направленных не только на отработку отдельных технологических приемов, но и созданию целостной работы, суммирующей в себе знания ученика как по программированию, так и по ряду предметных областей, связанных с темой работы. Содержание теоретической и практической компонент курса находится в соотношении приблизительно 1:2 &amp;ndash; 1:4. Для облегчения реализации работа разбивается на части. Формы контроля &amp;mdash; устный опрос, беседа, поэтапная сдача проекта.&lt;/p&gt;

&lt;p&gt;Курс излагается с опорой на развитие самостоятельного мышления учащихся, элементы самообразования. Для выполнения учащимися выбираются задания, допускающие решения в эстетически привлекательной форме, имеющие игровой компонент.&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;Цели и задачи обучения&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Общей целью курса в контексте основного общего образования с учетом специфики учебного предмета является формирование универсального стиля научного и практического мышления, основанного на системном подходе, направленного на самостоятельное творческое познание и исследование окружающего мира. Это конкретизируется в виде изучении общих закономерностей функционирования, создания и применения автоматизированных информационных систем &amp;not; программ, разрабатываемых учащимися.&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;Ценностные ориентиры содержания учебного предмета&lt;/strong&gt;&lt;/h3&gt;

&lt;ul class=&quot;uz&quot;&gt;
 &lt;li&gt;Важнейшей частью курса является формирование системы учебных ценностей (предпочтений) ученика. В конечном счете, это формирование и есть основная инвариантная методологическая задача курса, так как все остальное &amp;mdash; технология и будет неотвратимо изменяться с течением времени.&lt;/li&gt;
 &lt;li&gt;Во главу угла ставится задача, ее решение и, главное, путь от задачи к решению, а не программирование (кодирование) как таковое.&lt;/li&gt;
 &lt;li&gt;Для записи алгоритма на языке программирования выбирается минимальное подмножество средств языка, чтобы не акцентировать внимания на кодировании и для более легкого перехода на другие языки программирования.&lt;/li&gt;
 &lt;li&gt;Самостоятельность решения является ключевым условием, которое необходимо доказать при сдаче работы.&lt;/li&gt;
 &lt;li&gt;Понимание учащимся тех средств, с помощью которых он решил задачу, ставится выше уровня самих средств решения.&lt;/li&gt;
 &lt;li&gt;Аккуратность и надежность решения ставятся выше &amp;laquo;программистских трюков&amp;raquo;, иногда позволяющих в отдельных случаях добиться несколько лучших результатов.&lt;/li&gt;
 &lt;li&gt;Главным методологическим принципом является системный подход.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;strong&gt;Принципы технологии преподавания&lt;/strong&gt;&lt;/h3&gt;

&lt;ul class=&quot;uz&quot;&gt;
 &lt;li&gt;&lt;b&gt;Принцип самостоятельного исследования объектов и явлений с точки зрения системного подхода. Методы подачи материала:&lt;/b&gt; 

 &lt;ul class=&quot;uz&quot;&gt;
 &lt;li&gt;Обучение навыкам самостоятельной работы с информацией:&lt;/li&gt;
 &lt;li&gt;Техника и технология информационного поиска (&amp;laquo;где что?&amp;raquo;).&lt;/li&gt;
 &lt;li&gt;Определение структуры системы понятий (&amp;laquo;что к чему относится?&amp;raquo;).&lt;/li&gt;
 &lt;li&gt;Поиск базовой системы понятий (&amp;laquo;что главное?&amp;raquo;).&lt;/li&gt;
 &lt;li&gt;Связь с другими предметными областями (&amp;laquo;где еще?&amp;raquo;).&lt;/li&gt;
 &lt;li&gt;Исследование &amp;laquo;черных ящиков&amp;raquo; (приборов, программ, учебных тем).&lt;/li&gt;
 &lt;li&gt;Использование знаний об аналогах и более общих объектах.&lt;/li&gt;
 &lt;li&gt;Выявление общих принципов устройства, работы.&lt;/li&gt;
 &lt;li&gt;Выявление характерных свойств объектов и иерархия этих свойств.&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;

 &lt;li&gt;&lt;b&gt;Принцип творчества, для:&lt;/b&gt; 
 &lt;ul class=&quot;uz&quot;&gt;
 &lt;li&gt;Закрепления полученных теоретических навыков.&lt;/li&gt;
 &lt;li&gt;Эмоционального подкрепления в ходе творческой работы.&lt;/li&gt;
 &lt;li&gt;Организации и планирования проектов, обучения планированию.&lt;/li&gt;
 &lt;li&gt;Взаимодействия учеников в коллективных проектах.&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;

 &lt;li&gt;&lt;b&gt;Принцип эмоционального подкрепления, для:&lt;/b&gt; 
 &lt;ul class=&quot;uz&quot;&gt;
 &lt;li&gt;Увеличения эффективности усвоения.&lt;/li&gt;
 &lt;li&gt;Развития уверенности в своих силах.&lt;/li&gt;
 &lt;li&gt;Развития эстетики.&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;

 &lt;li&gt;&lt;b&gt;Принцип технологичности:&lt;/b&gt; 
 &lt;ul class=&quot;uz&quot;&gt;
 &lt;li&gt;Постоянное стремления повышать КПД своей работы.&lt;/li&gt;
 &lt;li&gt;Умение работать над конкретной задачей в контексте ее возможного развития.&lt;/li&gt;
 &lt;li&gt;Развитие технология решения задачи вместе с ее собственно решением.&lt;/li&gt;
 &lt;li&gt;Обучение технологии на сравнении &amp;laquo;плохих&amp;raquo; и &amp;laquo;хороших&amp;raquo; примеров (от первых &amp;mdash; ко вторым).&lt;/li&gt;
 &lt;li&gt;Формирование технологически корректной системы ценностей ученика на уровне &amp;laquo;люблю работать высокоэффективно&amp;raquo; и &amp;laquo;не люблю рутинные и ненадежные действия, ищу, как сделать это лучше&amp;raquo;.&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;

 &lt;li&gt;&lt;b&gt;Принцип смежных дисциплин:&lt;/b&gt; 
 &lt;ul class=&quot;uz&quot;&gt;
 &lt;li&gt;Разбор материала из смежных предметов, работа на примерах из смежных областей.&lt;/li&gt;
 &lt;li&gt;Взаимное усиление информатики и смежных дисциплин.&lt;/li&gt;
 &lt;li&gt;Интеграция смежных дисциплин.&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;

 &lt;li&gt;&lt;b&gt;Принцип открытой педагогической технологии:&lt;/b&gt; 
 &lt;ul class=&quot;uz&quot;&gt;
 &lt;li&gt;Открытая и ясная система ценностей, установок.&lt;/li&gt;
 &lt;li&gt;Подчеркнутая расстановка акцентов в подаче материала.&lt;/li&gt;
 &lt;li&gt;Понимание &amp;laquo;критических мест&amp;raquo; в ходе изучения и способов их преодоления.&lt;/li&gt;
 &lt;li&gt;Понимание связи материала и методики его подачи.&lt;/li&gt;
 &lt;li&gt;Активное использование взаимодействия учеников и взаимного обучения.&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;strong&gt;Структура и объем занятий&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Работа велась с учащимися, закончившими 7 и 8 класс физико-математической школы. Учащиеся были разделены на четыре группы: три группы седьмых классов и одна группа восьмого, также индивидуальная работа велась с учащимися десятых классов.&lt;/p&gt;

&lt;p&gt;Работа учащихся была разделена по направлениям, соответствующим тематике проектных работ:&lt;/p&gt;

&lt;ul class=&quot;uz&quot;&gt;
 &lt;li&gt;Математическое моделирование процессов в идеальном газе,&lt;/li&gt;
 &lt;li&gt;Математическое моделирование динамики поступательного и вращательного движения, систем связанных объектов,&lt;/li&gt;
 &lt;li&gt;Численное моделирование процессов теплопереноса и динамики водной среды,&lt;/li&gt;
 &lt;li&gt;Визуализация трехмерных геометрических объектов и моделирование распространения световых лучей в неоднородной оптической среде,&lt;/li&gt;
 &lt;li&gt;Проведение экспериментального сравнения эффективности алгоритмов сортировки,&lt;/li&gt;
 &lt;li&gt;Моделирование системы взаимодействующих частиц на примере сетевой игры,&lt;/li&gt;
 &lt;li&gt;Моделирование представления знаний и реализация экспертных систем,&lt;/li&gt;
 &lt;li&gt;Обработка данных физического эксперимента (фиттинг функций),&lt;/li&gt;
 &lt;li&gt;Начальное обучение программированию.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Теоретическая часть занятий включала в себя общетехнологические и общеметодические сведения, так или иначе касающиеся любого направления работ. Темы и содержание этих занятий даны в части 2 настоящего отчета. Также теоретическая часть включала семинары, общего характера, посвященные рассмотрению разделов, специфичных для каждого данного направления. Эти семинары проводились для всех учащихся, но адаптировались к общему уровню группы и специфике ее интересов. Дальнейшее обсуждение углубление этой специфической тематики проводилось в рамках индивидуально-групповой работы с учащимися в рамках реализации конкретных задач, но так, чтобы сама реализация проектов учащимися оставалась самостоятельной.&lt;/p&gt;

&lt;p&gt;Объем обязательных занятий составлял в среднем 22.5 ак, часов для группы в 8-10 чел. (всего проведено 90 ак. часов таких занятий). Факультативные занятия для желающих проводились в объеме 4-5 ак. часов ежедневно, что составило еще 70 ак. часов суммарного учебного времени. Наполняемость групп факультативных занятий составляла 8-15 человек. Все занятия смены были проведены одним преподавателем - И. Р. Дединским.&lt;/p&gt;

&lt;p&gt;Подготовка полной версии настоящего отчета (см. ссылку ниже) заняла около 30 астрономических часов.&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;Общая характеристика тематики проектных работ&lt;/strong&gt;&lt;/h3&gt;

&lt;h3&gt;Математическое моделирование процессов в идеальном газе&lt;/h3&gt;

&lt;p&gt;Основной задачей являлось моделирование различных физических (термодинамических) процессов, происходящих в идеальном газе, и вычисление его интегральных характеристик. Учащиеся реализовывали математическую модель поведения идеального газа, состоящего из большого количества частиц, помещенную в емкость со впускными и выпускными клапанами для газа, поршнем и датчиками давления и температуры. Частицы могли иметь разную массу и взаимодействовать путем соударения, что приводило к задачам определения соударений (collision detection) и реакции на соударение (collision response), что вело к известным в физике задачам центрального и нецентрального удара шаров. Изображение емкости с частицами выводилось на экран, показания датчиков отображалось на графиках и гистограммах, динамически изменяющихся во время работы программы. Модель реализовывалась на языке С++ и визуализировалась средствами двумерной компьютерной графики в среде Windows.&lt;/p&gt;

&lt;p&gt;Конкретными задачами этой тематики было проведение модельных экспериментов по зависимости давления, температуры и объема в газах (частичные газовые законы и уравнение Клапейрона-Менделеева), установление равновесия в газовой среде после возникновения возмущения (изменение температуры, давления и объема), установление равновесия по скоростям в результате соударений молекул, теплоперенос в газах, явления конденсации, распространение волн в газовой среде.&lt;/p&gt;

&lt;h3&gt;Математическое моделирование динамики поступательного и вращательного движения, систем связанных объектов&lt;/h3&gt;

&lt;p&gt;Основной задачей являлось моделирование механического движения системы материальных точек, связанной жесткими связями. Так как необходимый для этого теоретический материал не проходится в школьном курсе физики, тем более в 7 классе, встала необходимость его адаптивного изложения группе учащихся. В ходе работы реализовывалось представление векторов в программе и разрабатывалась библиотека операций для них, включая повороты координатных систем. Модель реализовывалась на языке С++ и визуализировалась средствами двумерной компьютерной графики в среде Windows.&lt;/p&gt;

&lt;p&gt;Конкретными задачами этой тематики были реализация динамики материальной точки, рассмотрение природы вращательного движения и программная реализация необходимого математического аппарата, реализация динамики связанных пар материальных точек, реализация композиций из большего числа точек с жесткими связями.&lt;/p&gt;

&lt;h3&gt;Численное моделирование процессов теплопереноса и динамики водной среды&lt;/h3&gt;

&lt;p&gt;Темами этой группы проектов выступали классические вычислительные задачи: численное интегрирование уравнений теплопереноса Фурье и уравнений динамики жидкости Навье-Стокса (в упрощенной форме). Для этих проектов необходимая теоретическая база отсутствовала в школьном курсе как по физике, так и по математике &amp;ndash; интегральному и дифференциальному исчислениям, численным методам сеточного моделирования. В данной части проводились занятия по основам этих разделов в адаптивном изложении, без выводов и строгих доказательств, но с объяснением механизмов процессов и физической природы рассматриваемых явлений. В силу этих причин педагогические подходы были экспериментальными и. разумеется, не подходящими для массового изложения восьми- и девятиклассникам. Однако в индивидуальном порядке, на пропедевтическом (относительно вузовского) уровне, успехи были достигнуты, что позволило учащимся самостоятельно написать и отладить моделирующие программы.&lt;/p&gt;

&lt;p&gt;Модели реализовывались на языке С++ и визуализировались средствами двумерной и трехмерной компьютерной графики в среде Windows с помощью библиотеки OpenGL.&lt;/p&gt;

&lt;p&gt;Конкретными задачами этой группы были моделирование кинетики нагревания металлических двумерных предметов произвольной формы и моделирование динамики водной поверхности при различных возмущениях (падении капель, неравновесных начальных условиях и др.).&lt;/p&gt;

&lt;p&gt;В проектах, теоретический материал для которых не входил в школьный углубленный курс физики (моделирование динамики систем связанных объектов, явлений теплопереноса и динамики водной среды) принимал активное участие выпускник МФТИ, преподаватель физики лицея Г. З. Арабули, за что хотелось бы ему выразить искреннюю благодарность.&lt;/p&gt;

&lt;h3&gt;Визуализация трехмерных геометрических объектов и моделирование распространения световых лучей в неоднородной оптической среде&lt;/h3&gt;

&lt;p&gt;Тематика этой группы работ &amp;ndash; трехмерные визуализации математических и физических объектов и явлений. Здесь необходимо было ознакомиться с основными понятиями векторной и линейной алгебры, аффинными преобразованиями, матрицами и операциями над ними, а также с алгоритмами закраски поверхностей и сокрытия невидимых поверхностей. В ходе работы реализовывался собственная графическая трехмерная библиотека с архитектурой, схожей с библиотекой OpenGL, что в последующем облегчит переход учащихся на OpenGL и понимание механизмов функционирования современных графических библиотек. В задаче о распространении луча необходимо было изучить другую трехмерную библиотеку &amp;ndash; Microsoft DirectX 11, активно использующую шейдеры, и реализовать на базе ее физически верную и эстетически привлекательную математическую модель с визуализацией.&lt;/p&gt;

&lt;p&gt;Модели реализовывались на языке С++ и визуализировались средствами двумерной и трехмерной компьютерной графики в среде Windows.&lt;br /&gt;
Одной конкретной задачей была самостоятельная трехмерная визуализация геометрических объектов, построенных из треугольников (куба, тетраэдра, различных поверхностей), с закраской поверхностей и моделированием пересечений, реализованная на базе двумерной графической библиотеки, основанной на Windows GDI. Другой конкретной задачей была реалистическая визуализация распространения светового луча в неоднородной оптической среде, реализованная с помощью трехмерной библиотеки Microsoft DirectX 11.&lt;/p&gt;

&lt;p&gt;Необходимо отметить сложность визуализации этого рода моделей, а также моделей водной среды, особенно в случае трехмерного отображения. Здесь был значительны не только трудности в программировании и необходимости изучения ряда методов линейной алгебры, но и в подборе параметров визуализации, чтобы результирующая демонстрация выглядела убедительной и эстетичной. Уровень этих работ, с учетом возраста их авторов, получил высокую оценку специалистов отдела разработки программного обеспечения и технологий NVidia, одного из ведущих производителей систем компьютерной графики.&lt;/p&gt;

&lt;h3&gt;Проведение экспериментального сравнения эффективности алгоритмов сортировки&lt;/h3&gt;

&lt;p&gt;Задачи этой группы наиболее близко стоят к классическим внутренним задачам программирования, что позволяет начать их реализацию с задач, близких по тематике и способам подачи к школьным. Однако, в отличие от распространенного сейчас школьно-олимпиадного подхода, эти задачи не &amp;laquo;выбрасываются&amp;raquo; после реализации, а используются для вычислительного эксперимента&amp;nbsp; по сравнению эффективности сортировок массивов. Программа сортирует массивы различной длины различными алгоритмами, подсчитывает количество операций сравнения элементов массивов и их обменов, и строит графики зависимости этих величин от длины массивов. Такой подход позволяет легко визуализировать понятие эффективности алгоритмов, детально сравнить алгоритмы в случае сортировки объектов разной природы (с быстрым или медленным сравнением, с быстрым и медленным обменом) и построить практическое руководство по выбору подходящего алгоритма сортировки для различных объектов и различных состояний исходного массива. Для слабых учащихся, которым был труден системный подход к программированию со следованием четкой архитектуре, была возможность в качестве промежуточного этапа выводить данные по эффективности в файл и далее строить графики в Excel, что позволяло выровнять сложность этого проекта для&amp;nbsp; гетерогенной и несильной группы.&lt;/p&gt;

&lt;p&gt;Конкретными задачами этой группы были сравнение эффективности различных обменных сортировок (пузырьковой, шейкерной, выбором, простыми и двоичными вставками, быстрой, слиянием, подсчитывающей и др.) по количеству сравнений и обменов и ее визуализацией в виде графиков.&lt;/p&gt;

&lt;p&gt;Модель реализовывалась на языке С++ и визуализировалась средствами двумерной компьютерной графики в среде Windows.&lt;/p&gt;

&lt;h3&gt;Моделирование системы взаимодействующих частиц на примере сетевой игры&lt;/h3&gt;

&lt;p&gt;Разработка приложений клиент-серверной архитектуры давно стала стандартом в промышленном программировании, но такой подход требует особо дисциплинированного архитектурного мышления и умения думать на сторонах клиента и сервера, что совершенно не развивается в школьном курсе программирования. В то же время, реализация сетевых приложений является для школьников желанным делом и это хороший способ повысить их профессиональную грамотность. Проект разрабатывается в команде, хорошо имитирует взаимоотношения в профессиональной среде разработчиков, ставит школьников в довольно &amp;laquo;взрослые&amp;raquo; условия, но при этом остается очень педагогически адаптивным и удобным для проведения. Наибольшую сложность в изучении представляет концепция сокетов, но разработка отдельного модуля (библиотеки) для ее реализации позволяет более&amp;nbsp; слабым участникам команды воспользоваться ей, как готовым продуктом, но при этом полностью осознавая базовые понятия сетевых технологий (протокол, адрес, пакет и т.п.).&lt;/p&gt;

&lt;p&gt;Конкретными задачами этой тематики были реализация программной библиотеки для передачи данных по сети на базе Windows Sockets, реализация однопользовательской и парной игры &amp;laquo;Агар&amp;raquo;, моделирующей поведение микроорганизмов, разработка стандарта протокола обмена данными по сети и реализация этого протокола, разработка сервера игры и клиентских приложений.&lt;/p&gt;

&lt;p&gt;Модель реализовывалась на языке С++ и визуализировалась средствами двумерной компьютерной графики и Windows Sockets в среде Windows.&lt;/p&gt;

&lt;h3&gt;Моделирование представления знаний и реализация экспертных систем&lt;/h3&gt;

&lt;p&gt;Эти задачи когда-то считались задачами &amp;laquo;искусственного интеллекта&amp;raquo; (например, известная система MYCIN), хотя их реализация в самом простейшем виде несложна для тех учащихся, которые знакомы с основными структурами данных и алгоритмами над ними. Сейчас такие программы широко используются в автоматической технической и медицинской диагностике, составлении определителей. За основу берется хранение базы данных в виде двоичного дерева, в листьях которого хранятся объекты, а в узлах &amp;ndash; вопросы, классифицирующие объекты. Пользователь задумывает объект, находящийся или не находящийся в базе, и далее отвечает на вопросы, расположенные вдоль пути от корня к листу, содержащему объект. Если объект в базе присутствует, он таким образом будет найден, если нет &amp;ndash; он добавляется в базу с указанием уточняющего вопроса, отличающего его от соседнего объекта. Путем сравнения путей от корня к объектам находятся сходства и различия объектов, а сами пути являются определениями.&lt;/p&gt;

&lt;p&gt;Конкретной задачей было моделирование экспертной системы в виде двоичного справочника, реализующей диалог с пользователем, добавление объектов в базу данных и их классификация, автоматическое построение определений и сравнение объектов.&lt;/p&gt;

&lt;p&gt;Модель реализовывалась на языке С++ и визуализировалась средствами двумерной компьютерной графики в среде Windows.&lt;/p&gt;

&lt;h3&gt;Обработка данных физического эксперимента (фиттинг функций)&lt;/h3&gt;

&lt;p&gt;Обработка данных физического эксперимента часто сводится к линеаризации полученных экспериментальных данных с целью облегчения проведения прямой по линеаризованным данным и дальнейшем нахождении коэффициентов этой прямой, из которой выводятся результаты измерений. Данный метод по сути прост, но требует отдельного вывода преобразований линеаризации для каждой конкретной зависимости, и, следовательно, неэлементарен для автоматизации в общем случае. Кроме того, линеаризация не является аффинным преобразованием, поэтому, отображая экспериментальную точку в соответствующую точку на линеаризованном графике, она искажает величины погрешностей измерений при каждой точке. Минимизация (фиттинг) функций лишена этого недостатка и ее гораздо проще реализовать независимо от формы исследуемой зависимости, но может быть выполнена только машинно, так как связана с большим объемом вычислений. Это удачно ложится на разработку компьютерной программы.&lt;/p&gt;

&lt;p&gt;Конкретными задачами были фиттинг функций, описывающих различные физические закономерности, с целью минимизации погрешностей в экспериментальных данных. Одной из задач было измерение начальной скорости полета футбольного мяча после удара футболистом и ускорения свободного падения вблизи поверхности Земли.&lt;/p&gt;

&lt;p&gt;Модель реализовывалась на языке С++ и визуализировалась средствами двумерной компьютерной графики в среде Windows. Данные траектории футбольного мяча получались обработкой видеозаписи удара по мячу при скорости съемки 90 кадров в секунду.&lt;/p&gt;

&lt;h3&gt;Начальное обучение программированию&lt;/h3&gt;

&lt;p&gt;Высокая гетерогенность учащихся смены (по направлению &amp;laquo;программирование&amp;raquo; отбор участников смены не проводился) обусловила необходимость проведения начального обучения программированию среди ряда школьников. Среди них были те, кто ранее совсем не изучал программирование, но большую часть этой группы составляли школьники, 1-2 года занимавшихся так называемым &amp;laquo;олимпиадным программированием&amp;raquo;, состоящим в решении большого количества очень маленьких с проектной точки зрения задач, имеющих чисто логический характер и почти никак не связанных с предметными областями. После 15-60 минут решения такой задачи ребенок переключается на другую задачу, что дает очень малое время жизни кода и он быстро теряет свою актуальность, так как по условиям олимпиад нельзя использовать свои наработки от предыдущих задач (так в олимпиадах ведется борьба со списыванием). Педагогически это приводит к крайне небрежному отношению к коду и особенно к архитектуре программы, что почти неизбежно ведет к неспособности ребенка решать задачи больше минимальных и особенно внешних с точки зрения программирования как такового, то есть они фактически неспособны написать никакую полезную для себя и других программу, кроме самых простых. Автор и его коллеги неоднократно замечали это при работе со школьниками и студентами МФТИ и МГУ. Это проявилось и среди детей текущей смены, как по оценке автора, так и по мнению самих детей, когда они невольно сравнивали свои умения и результаты с результатами тех, кто занимался с использованием проектного подхода, который, при этом, не исключает, а развивает логический, придавая ему актуальность.&lt;/p&gt;

&lt;p&gt;Поэтому для таких детей были организованы занятия по начальному обучению программированию. Небольшая их часть попыталась использовать свои олимпиадные навыки для того, чтобы обучаться не совсем с нуля, но тут сказались воспитанная у них привычка работать над задачей недолго и неумение делить задачу на части, что породило необходимость выполнять очень мелкое деление на подзадачи и задало невысокий темп обучения. Проектный подход детям очень понравился, определенные результаты&amp;nbsp; были достигнуты, но им, безусловно, хотелось бы большего. Большая же часть &quot;олимпиадных&quot; детей захотела изучать программирование вообще с нуля, мотивировав это тем, что в предшествующем обучении в школе им было далеко не все понятно и часто их решения были не вполне самостоятельными. В течение смены они успешно и с большим удовольствием прошли часть курса по начальному обучению программированию с применением проектного подхода.&lt;/p&gt;

&lt;p&gt;Занятия начальному обучению прошли позитивно и результативно, особенно у тех, кто ходил не только на уроки, но и на факультативы, Однако очень жаль, что заинтересованные и часто перспективные дети часто становятся заложниками однобоких олимпиадных подходов, которые, безусловно, удобны для ряда преподавателей, так как это сильно упрощает им работу.&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;DedinskyCommon&quot;&gt;&lt;/a&gt;
&lt;h2&gt;Характеристика общей части проектных работ&lt;/h2&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;p&gt;Как говорилось выше, основной особенностью проводимых проектных работ были длительный характер работы и сравнительно большой для школьников объем кода проекта (более 500 строк, а в сильных проектах - 1000 и более строк). Это объяснялось тем, что в работах присутствовала как расчетная, так и интерфейсная часть, которая почти всегда составляла большую часть кода проекта, что вообще характерно для визуализации. Такое положение дел неизбежно приводит к необходимости строгой архитектуры проекта, что зачастую игнорируется в школьных курсах программирования. В качестве основного архитектурного паттерна была выбрана концепция MVC (Model-View-Controller), применяемая при решении многих задач с визуализацией и интерактивным взаимодействием с пользователем. Это позволило учащимся упорядочить составные части своего проекта и отделить расчеты от визуализации. &amp;laquo;Традиционный&amp;raquo; подход, где эти части смешиваются, принципиально неприменим для задач, решение которых требует больше 3-4 учебных часов и значительный объем кода.&lt;/p&gt;

&lt;p&gt;Эти же особенности, на более низком уровне архитектуры, приводили к повышенным требованиям к структуре программы, ее декомпозиции на классы, функции и библиотеки, к форматированию кода, к именам идентификаторов, к простоте и ясности изложения алгоритмов на языке программирования. В условиях большого объема кода эти требования были для учащихся совершенно естественными, так как иначе они просто начинали путаться в своих проектах.&lt;/p&gt;

&lt;p&gt;Синтетический характер задач в сочетании с, опять же, значительным объемом кода, приводил к повышенным требованиям к надежности программ и их самодиагностике, что часто игнорируется в проектах школьников. Здесь же сделанные вовремя проверки и развернутые диагностические сообщения воспринимались учащимися как благо, облегчающее отладку программ и в целом работу над ними.&lt;/p&gt;

&lt;p&gt;Необходимость длительной работы обусловила хранение кода в репозиториях и применение системы контроля версий (git). Это обеспечивало сохранность кода в условиях работы компьютерного класса, а также делало удобным отслеживание изменений в проектах и откат к предыдущим версиям, если это было необходимо.&lt;/p&gt;

&lt;p&gt;Для работы использовались языки программирования C++ и язык программирования шейдеров HLSL DirectX, среды программирования Microsoft Visual Studio и CodeBlocks (компилятор g++ 4.8.1 в среде MinGW).&lt;/p&gt;

&lt;p&gt;Результаты работ представлены в приложении к настоящему отчету.&lt;/p&gt;

&lt;h2&gt;Материально-техническое обеспечение&lt;/h2&gt;

&lt;p&gt;Для преподавания использовался прекрасный компьютерный класс Образовательного центра &quot;Сириус&quot;, оснащенный десятью современными персональными компьютерами IBM PC под OS Windows 8.1 с возможностью высокоскоростного доступа в Интернет из расчета одно компьютерное рабочее место на одного ученика, а также аналогичным компьютерным рабочим местом учителя с плазменным дисплеем большого размера и цветным принтером.&lt;/p&gt;

&lt;p&gt;В качестве программного инструментария для работы с языком C++ использовались среды Code::Blocks (компилятор g++ 4.8.1 в среде MinGW) и Microsoft Visual Studio 2013. В качестве библиотеки программной поддержки для отображения двумерной графики использовались бесплатная библиотека TX Library, разработанная автором курса. Для отображения трехмерной графики использовались библиотеки OpenGL и DirectX 11.&lt;/p&gt;

&lt;h2&gt;Благодарности&lt;/h2&gt;

&lt;p&gt;Автор сердечно благодарит за содействие и организацию работы заведующего научным сектором образовательного центра &lt;strong&gt;М.&amp;nbsp;И.&amp;nbsp;Случа,&lt;/strong&gt; завуча смены &lt;strong&gt;В.&amp;nbsp;В.&amp;nbsp;Ларина, &lt;/strong&gt;преподавателей физики лицея &lt;strong&gt;Г.&amp;nbsp;З.&amp;nbsp;Арабули, А.&amp;nbsp;В.&amp;nbsp;Кондратьева, М.&amp;nbsp;М.&amp;nbsp;Голодняка, Ю.&amp;nbsp;Н.&amp;nbsp;Дементьева &lt;/strong&gt;и зав. кафедрой физики &lt;strong&gt;С.&amp;nbsp;Н.&amp;nbsp;Колякину.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;По ряду тематик детьми были подготовлены тезисы работ и краткие доклады с демонстрацией работы программ, по которым были сняты видеоролики. Это, учитывая очень сжатые сроки, было весьма непросто, и автор благодарит великолепных специалистов видеогруппы образовательного центра &lt;strong&gt;А.&amp;nbsp;Макеева и В.&amp;nbsp;Новикова.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Множество технических проблем остались бы нерешенными без высокопрофессиональной и крайне оперативной работы, доброжелательного коллегиального отношения &lt;strong&gt;сотрудников ИТ-отдела &quot;Сириуса&quot;&lt;/strong&gt; под руководством &lt;strong&gt;П.&amp;nbsp;Айдаровой.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Вся проделанная работа была бы невозможна без прекрасных условий обучения и отдыха, уважительной и творческой атмосферы, искренней поддержки детей и преподавателей в &lt;strong&gt;образовательном центре &quot;Сириус&quot;&lt;/strong&gt; под руководством &lt;strong&gt;Елены Владимировны Шмелевой.&lt;/strong&gt;&lt;/p&gt;

&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;
&lt;a id=&quot;DedinskyFull&quot;&gt;&lt;/a&gt;
&lt;h2&gt;Полный текст отчета&lt;/h2&gt;
&lt;!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --&gt;

&lt;p&gt;Полный текст отчета приведен здесь: &lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Sirius/IlyaDedinsky.pdf&quot;&gt;IlyaDedinsky.pdf.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2015-09-02-77</link>
			<category>Конференция</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2015-09-02-77</guid>
			<pubDate>Wed, 02 Sep 2015 17:17:51 GMT</pubDate>
		</item>
		<item>
			<title>Транслятор описания конечного автомата в исходный код на языке описания аппаратуры Verilog</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на конференциях &quot;Старт в науку&quot; (МФТИ) и &quot;Интел-Династия-Авангард&quot;&lt;/span&gt;&lt;/b&gt;</description>
			<content:encoded>&lt;p&gt;В последнее время все активнее развивается подход к алгоритмизации и программированию в целом, названный автоматным программированием [1]. Автоматное программирование основано на использовании конечных автоматов, описывающих поведение программ. С помощью конечных автоматов особенно удобно проектировать управляющие и событийные системы. Одним из многих достоинств автоматного программирования является возможность формальной трансляции описания конечного автомата в исходные коды программ, что во многом упрощает проектирование и верификацию программ, использующих автоматный подход [2, 3].&lt;/p&gt;

&lt;p&gt;При проектировании аппаратуры также применяется автоматный подход, но его использование осложнено тем, что языки описания аппаратуры не предназначены для описания конструкций подобного рода. Устранению этой сложности посвящена настоящая работы.&lt;/p&gt;

&lt;p&gt;Целью работы является разработка простого и понятного языка описания конечных автоматов и создания транслятора описания произвольного конечного автомата в исходный код на языке описания аппаратуры Verilog [см. 4, 8]. Это во многом упрощает использование автоматного подхода при проектировании аппаратуры. Транслятор, по полученному описанию конечного автомата, генерирует модуль - &amp;laquo;черный ящик&amp;raquo; на языке Verilog, представляющий из себя абстрактную управляющую модель, поведение которой задано исходным автоматом. Это позволяет реализовать строго модульный подход к проектированию, так как управляющий модуль максимально абстрагирован от любой низкоуровневой работы. Эта абстракция дает возможность описывать конечный автомат без использования любой терминологии, присущей языкам описания аппаратуры, что, фактически, может реализовать разработку управляющего модуля и остальной части проекта разными людьми. Более того, при использовании таких технологий, человек, разрабатывающий управляющий модуль может не иметь никакого отношения к разработке остальных частей проекта и даже не иметь отношения к программированию на языках описания аппаратуры вообще. Для больших проектов это может означать, например, более качественную работу, так как специалист, обладающий глубокими знаниями в предметной области, умеющий разрабатывать высокоуровневые модели управления и специализирующийся на этом, выполнит работу лучше, чем Verilog-программист широкого профиля. Подходы к генерации аппаратуры на базе ПЛИС (FPGA) уже применялись с использованием пакета Simulink для MathLab [5], однако это ПО не обладает открытым исходным кодом и требует дорогостоящей лицензии.&lt;/p&gt;

&lt;p&gt;Таким образом, представляемая разработка может быть полезна как при создании больших, так и маленьких проектов из соображения качества работы, архитектуры, удобности использования и открытости ее компонентов.&lt;/p&gt;

&lt;p&gt;При разработке проекта был создан язык описания конечных автоматов (далее SML &amp;ndash; State Machine Language). SML &amp;ndash; максимально императивный язык, так как императивность больше соответствует идеологии языков описания аппаратуры. К сожалению, нет возможности сделать его полностью императивным. Тому есть ряд причин, например то, что блоки описания состояний конечного автомата сами по себе являются понятием декларативным. По этой причине не были использованы другие текстовые и графические языки и трансляторы для описания автоматов, например, [6] или [7].&lt;/p&gt;

&lt;p&gt;При разработке непосредственно транслятора был использован модульно-конвейерный подход. Также была реализована платформа, позволяющая легко менять синтаксис использующегося языка описания конечных автоматов и добавлять в него новые синтаксические конструкции без существенных изменений в коде транслятора, напрямую не относящемся к обработке изменяемых частей языка входного файла. Это сильно облегчило разработку транслятора, так как язык приходилось много раз менять по ходу разработки.&lt;/p&gt;

&lt;p&gt;Сам процесс трансляции можно разбить на три этапа. Первый этап &amp;ndash; считывание входного файла в память с использованием легко изменяемого лексемного набора. Второй этап &amp;ndash; разбор считанного, построение дерева разбора (точнее, AST) с использованием алгоритма рекурсивного спуска и обход по дереву со сбором необходимых для конечной трансляции данных. Для модуля конечной трансляции не нужно дерево целиком. Ему нужна лишь некоторая информация об этом дереве, целиком задающая результат трансляции. Именно эта информация и собирается вторым модулем после построения дерева. Третий этап трансляции &amp;ndash; окончательное преобразование данных, собранных на втором этапе, в код на языке описания аппаратуры Verilog.&lt;/p&gt;

&lt;p&gt;Работа выполнена на языке C++, в среде KDevelop, в операционной системе Linux. Исходный код программы находится в репозитории &lt;a href=&quot;https://github.com/Nexx0f/SMT&quot;&gt;https://github.com/Nexx0f/SMT&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Автор благодарит компанию Intel за предоставленную на время работы плату FPGA, а также ее сотрудника Романа Фадеева за ценные консультации по языку Verilog и конструированию аппаратуры.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Список литературы&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;[1]&lt;/b&gt; А. А. Шалыто, Н. И. Туккель, SWITCH-технология &amp;mdash; автоматный подход к созданию программного обеспечения &amp;laquo;реактивных&amp;raquo; систем, журнал &amp;laquo;Программирование&amp;raquo;, №5, 2001 г.&lt;br /&gt;
&lt;b&gt;[2] &lt;/b&gt;Н. И. Поликарпова, А. А. Шалыто. Автоматное программирование.&lt;br /&gt;
&lt;b&gt;[3] &lt;/b&gt;С. Э. Вельдер, М. А. Лукин, А. А. Шалыто, Б. Р. Яминов, &amp;laquo;Верификация автоматных программ&amp;raquo;, &amp;laquo;Наука&amp;raquo;, 2001 г.&lt;br /&gt;
&lt;b&gt;[4]&lt;/b&gt; А. К. Поляков. Языки VHDL и Verilog в проектировании цифровой аппаратуры.&lt;br /&gt;
&lt;strong&gt;[5] &lt;/strong&gt;Ю. Ю. Янкин, А. А. Шалыто, &amp;laquo;Автоматное программирование ПЛИС в задачах управления электроприводом&amp;raquo;, &amp;laquo;Информационно-управляющие системы&amp;raquo;, №1, 2011 г.&lt;br /&gt;
&lt;b&gt;[6] &lt;/b&gt;И. А. Лагунов, &amp;laquo;Разработка текстового языка автоматного программирования&amp;raquo; (&lt;a href=&quot;http://is.ifmo.ru/diploma-theses/fsml&quot;&gt;http://is.ifmo.ru/diploma-theses/fsml&lt;/a&gt;).&lt;br /&gt;
&lt;b&gt;[7] &lt;/b&gt;Л. В. Столяров. Трансляция описаний конечных автоматов в исходный код на языке Си. &amp;laquo;Прикладная дискретная математика (Приложение)&amp;raquo;, Томск: ТомГУ, 2009, №1, С. 81-83.&lt;br /&gt;
&lt;b&gt;[8]&lt;/b&gt; П. Хоровиц. У. Хилл. Искусство схемотехники.&lt;br /&gt;
&lt;b&gt;[9]&lt;/b&gt; Материалы с сайта &lt;a href=&quot;stackoverflow.com&quot;&gt;stackoverflow.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;i&gt;Научный руководитель: И. Р. Дединский.&lt;/i&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2014-02-25-75</link>
			<category>Конференция</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2014-02-25-75</guid>
			<pubDate>Tue, 25 Feb 2014 11:54:29 GMT</pubDate>
		</item>
		<item>
			<title>Виртуализация процессора архитектуры ARM посредством бинарной трансляции</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на конференциях &quot;Старт в науку&quot; (МФТИ) и &quot;Интел-Династия-Авангард&quot;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;</description>
			<content:encoded>&lt;p&gt;Одним из перспективных направлений разработки системного ПО в настоящее время является виртуализация аппаратных платформ. Такой способ виртуализации позволяет запускать на одном физическом компьютере несколько экземпляров ПО, требующего исключительного доступа к оборудованию (в частности, несколько операционных систем), за счет чего достигается высокая безопасность и изолированность запущенных приложений. Также это является наиболее надежным способом одновременного запуска приложений, требующих для своей работы разные операционные системы. При этом не требуется специальная модификация ПО для работы в виртуализированной среде, что является основным преимуществом такого способа виртуализации.&lt;/p&gt;&lt;p&gt;Задача виртуальной машины (ВМ) - исполнение гостевого машинного кода в окружении, неотличимом от физического компьютера. Процесс, обеспечивающий такое исполнение, называется «монитор виртуальной машины» (VMM).&lt;/p&gt;&lt;p&gt;Здесь и далее термин «гость» (англ. «guest») используется в значении «система, исполняющаяся внутри виртуальной машины» и противопоставляется «хосту» (англ. «host») - системе, исполняющей процесс виртуальной машины.&lt;/p&gt;&lt;p&gt;Целью данной работы была разработка эффективного эмулятора центрального процессора архитектуры (как набора команд, ISA) ARMv7, способного работать в пространстве пользователя на хост-системе той же архитектуры. Под такой работой понимается отсутствие необходимости в исполнении привилегированного кода в ОС хоста, что часто бывает затруднено ввиду невозможности получения привилегий администратора.&lt;/p&gt;&lt;p&gt;Стандартным подходом к виртуализации аппаратных платформ является метод «trap-and-emulate». Этот подход применим только в том случае, если архитектуры гостевой и физической системы совпадают. При его использовании гостевой машинный код исполняется на физическом процессоре без каких-либо модификаций, но в непривилегированной среде (отдельным процессом под управлением ОС хоста). Однако, это требует, чтобы VMM исполнялся в режиме ядра, что сопряжено с большими накладными расходами на переключение контекстов, значительно снижая производительность ВМ.&lt;/p&gt;&lt;p&gt;Для решения описанных проблем применяется бинарная трансляция гостевого кода. Бинарная трансляция - метод эмуляции, при котором гостевой машинный код модифицируется непосредственно перед исполнением на процессоре хоста. При этом&lt;/p&gt;&lt;p&gt;становится возможным обнаруживать и обрабатывать проблемные инструкции еще до их исполнения, не прибегая к медленному аппаратному перехвату. Обращения к гостевой памяти, включая команды ветвления, можно таким же образом подвергнуть преобразованию адресов, что полностью исключит необходимость иметь части VMM в пространстве ядра. Остальные инструкции не требуют качественных изменений (т. е. эмуляции) и могут быть выполнены «как есть».&lt;/p&gt;&lt;p&gt;В настоящий момент не существует эффективных реализаций VMM для архитектуры ARM, работающих в пространстве пользователя. Существует проект QEMU с открытым исходным кодом, реализующий этот функционал за счет использования промежуточного представления машинного кода. Однако такой подход не является эффективным и в основном пригоден для использования в исследовательских целях.&lt;/p&gt;&lt;p&gt;Разработанный бинарный транслятор предназначен для работы с машинным кодом конкретной архитектуры, причем трансляция происходит в ту же самую архитектуру. Вследствие этого становится возможным достичь высокой эффективности. Согласно исследованию, проведенному VMware, использование бинарной трансляции для обработки доступов к памяти менее оптимально, чем использование теневых таблиц страниц. Тем не менее, первый метод позволяет оставаться в пределах пространства пользователя, что и явилось причиной его выбора в данной работе.&lt;/p&gt;&lt;p&gt;Накладные расходы на бинарную трансляцию складываются из необходимости транслировать гостевой машинный код по мере его исполнения. Вследствие этого трансляция осуществляется частями и прерывается по достижению неподдерживаемой команды или команды безусловного перехода. Между исполнениями таких блоков состояние гостевого процессора сохраняется в памяти, и некоторое количество времени затрачивается на синхронизацию этого состояния с регистрами физического процессора.&lt;/p&gt;&lt;p&gt;Процесс самой трансляции является ресурсоемким, и повторять его при каждом исполнении одних и тех же инструкций недопустимо. Вследствие этого в данной работе применяется кэширование результатов трансляции при помощи ассоциативной структуры данных (многоуровневой хэш-таблицы), сопоставляющей результаты трансляции блоков инструкций начальным адресам этих блоков.&lt;/p&gt;&lt;p&gt;Также был разработан механизм проверки корректности трансляции, при котором каждый блок инструкций исполняется дважды - на эталонном программном эмуляторе и посредством выполнения сгенерированного кода. Если действия, совершаемые во время этих проходов, совпадают, то можно утверждать, что трансляция корректна.&lt;/p&gt;&lt;p&gt;В настоящий момент бинарный транслятор находится в состоянии прототипа и ведется активная его разработка. Присутствует поддержка большинства непривилегированных инструкций набора команд ARM (исключением являются команды ветвления). В ближайшее время планируется реализовать трансляцию оставшихся команд ARM, после чего провести ряд отложенных оптимизаций и усовершенствований, что позволит проекту превзойти существующие решения (в частности, QEMU) по производительности.&lt;/p&gt;&lt;p&gt;Работа была выполнена на языке C++, в среде KDevelop 4, в операционной системе Linux. Объем кода составляет около 10000 строк.&lt;/p&gt;&lt;b&gt;Список литературы&lt;/b&gt;&lt;p&gt;&lt;b&gt;[1]&lt;/b&gt; Gerald J. Popek, Robert P. Goldberg. Formal requirements for virtualizable third generation architectures, Communications of the ACM Volume 17 Issue 7 1974 (&lt;a href=&quot;http://www.logos.ic.i.u-tokyo.ac.jp/~tau/lecture/os/gen/papers/p412-popek.pdf&quot;&gt;http://www.logos.ic.i.u-tokyo.ac.jp/~tau/lecture/os/gen/papers/p412-popek.pdf&lt;/a&gt;).&lt;br&gt;&lt;b&gt;[2]&lt;/b&gt; Fabrice Bellard. QEMU, a Fast and Portable Dynamic Translator, Proceedings of the USENIX Annual Technical Conference 2005. (&lt;a href=&quot;https://www.usenix.org/legacy/event/usenix05/tech/freenix/full_papers/bellard/bellard.pdf&quot;&gt;https://www.usenix.org/legacy/event/usenix05/tech/freenix/full_papers/bellard/bellard.pdf&lt;/a&gt;).&lt;br&gt;&lt;b&gt;[3]&lt;/b&gt; Keith Adams, Ole Agesen, VMware. A comparison of software and hardware techniques for x86 virtualization, Proceedings of the ASPLOS Conference 2006 (&lt;a href=&quot;http://www.vmware.com/pdf/asplos235_adams.pdf&quot;&gt;http://www.vmware.com/pdf/asplos235_adams.pdf&lt;/a&gt;).&lt;br&gt;&lt;b&gt;[4]&lt;/b&gt; Procedure Call Standard for the ARM Architecture, 2012. (&lt;a href=&quot;http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf&quot;&gt;http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf&lt;/a&gt;).&lt;br&gt;&lt;b&gt;[5]&lt;/b&gt; ARM Architecture Reference Manual, 2012.&lt;br&gt;&lt;b&gt;[6]&lt;/b&gt; Материалы сайтов &lt;a href=&quot;gotw.ca/gotw&quot;&gt;gotw.ca/gotw&lt;/a&gt; и &lt;a href=&quot;stackoverflow.com&quot;&gt;stackoverflow.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;br&gt;Научные руководители: &lt;/i&gt;&lt;i&gt;А.Б. Корякин (Parallels), &lt;/i&gt;&lt;i&gt;И.Р. Дединский (МФТИ).&lt;br&gt;&lt;br&gt;&lt;/i&gt;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2014-02-25-76</link>
			<category>Конференция</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2014-02-25-76</guid>
			<pubDate>Tue, 25 Feb 2014 11:54:18 GMT</pubDate>
		</item>
		<item>
			<title>Разработка адаптивного стилевого анализатора программ на языке C++</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на конференциях &quot;Старт в науку&quot; (МФТИ) и &quot;Интел-Династия-Авангард&quot;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;</description>
			<content:encoded>&lt;p&gt;Как известно, текст любой программы (код) пишется прежде всего для того, чтобы быть скомпилированным, то есть для «прочтения» компилятором. Поэтому программист в первую очередь старается соблюдать синтаксические и семантические правила языка программирования.&lt;/p&gt;&lt;p&gt;При этом зачастую, особенно в среде неопытных разработчиков, забывается, что после написания кода он будет ещё не раз прочитан человеком – как самим разработчиком, спустя некоторое время, так и членами его команды. Чем сложнее (архитектурно или алгоритмически) код, тем тяжелей его читать и тем больше времени требуется на понимание его назначения. Для того, чтобы значительно&lt;/p&gt;&lt;p&gt;уменьшить это время, к правильному с точки зрения компилятора коду предъявляется множество дополнительных требований. В данной работе рассматриваются требования, касающиеся форматирования кода и именования переменных.&lt;/p&gt;&lt;p&gt;Форматированием кода называется расстановка в нём пробельных символов (пробелов, табуляций и переводов строк) так, чтобы они подчёркивали его синтаксическую структуру. Пример отформатированного (рис. 1) и неотформатированного (рис. 2) кода показан на рисунке. Три приведённых фрагмента с точки зрения компилятора эквивалентны, но видно, как отсутствие пробелов сразу сказывается на простоте восприятия структуры программы.&lt;/p&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;b&gt;while (true) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (counter &amp;gt; MAX_COUNT) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nLoops++;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter %= MAX_COUNT;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nLoops &amp;gt; MAX_LOOPS)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter++;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; doWork (counter);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/b&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;b&gt;while(true) {&lt;br&gt;if(counter&amp;gt;MAX_COUNT){&lt;br&gt;nLoops++;&lt;br&gt;counter%=MAX_COUNT;&lt;br&gt;if (nLoops&amp;gt; MAX_LOOPS) break;&lt;br&gt;}&lt;br&gt;counter ++;&lt;br&gt;doWork(counter);&lt;br&gt;&lt;br&gt;&lt;br&gt;}&lt;/b&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;b&gt;while (true) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (C &amp;gt; MC) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; n++;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C %= MC;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (n &amp;gt; ML)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C++;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; d (C);&lt;br&gt;}&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;&lt;font size=&quot;1&quot;&gt;&lt;b&gt;Рис. 1.&lt;/b&gt; Стилистически верный код для стиля K&amp;amp;R. &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;font size=&quot;1&quot;&gt;&lt;b&gt;Рис. 2.&lt;/b&gt; Код без форматирования.&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;font size=&quot;1&quot;&gt;&lt;b&gt;Рис. 3.&lt;/b&gt; Код с «плохими» именами переменных.&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Аналогично, с точки зрения компилятора не важно, какая последовательность символов является названием (идентификатором) переменной, функции, класса. Для программиста же названия переменных являются основными ориентирами в коде, при условии, что они отражают назначение именуемого объекта в программе. «Плохие» имена переменных (как на рис. 3) могут свести на нет пользу от документирования кода, вызвать неочевидные эффекты скрытия других имён (name shadowing) и так далее.&lt;/p&gt;&lt;p&gt;На первый взгляд, задача проверки стиля решена во многих программных продуктах, таких как cpplint, KWStyle, Vera++, cxxchecker. Однако каждый из них работает, проверяя соответствие программы заданному стилю (либо фиксированному для анализатора, либо настраиваемому). Значит, при использовании для автоматизированной проверки необходимо настроить анализатор на какой-то единственный стиль. Такой подход, например, в образовательном процессе, не эффективен: он не развивает у учащихся чувства стиля, не даёт осознания необходимости следования стилю. Напротив, учащиеся начинают считать эту проверку пустой формальностью, пользуются автоматическими форматировщиками перед сдачей программ. При создании же этих программ они пишут код на подобии приведённого на рис. 2 и 3. В результате, во-первых, снижается их собственная продуктивность (хотя они этого зачастую не понимают), а во-вторых, получаемый код низкого качества не может быть использован в реальных проектах без серьёзной модификации.&lt;/p&gt;&lt;p&gt;Целью данной работы явилась разработка анализатора стиля, свободного от необходимости задавать проверяемый стиль. К создаваемому инструменту предъявлялись следующие требования:&lt;/p&gt;&lt;p&gt;1. Адаптивность, то есть возможность автоматического определения преобладающего в программе стиля, а затем нахождения отклонений от него.&lt;br&gt;2. Устойчивость к стилистическим ошибкам и возможность их диагностики.&lt;br&gt;3. Непривязанность к конкретному языку. Этого удалось добиться, разделив анализатор на модуль, осуществляющий сбор информации о программе и зависящий от языка (front end) и модуль, непосредственно выполняющий анализ, не зависящий от языка (back end).&lt;/p&gt;&lt;p&gt;Как для анализа форматирования, так и для выделения имён переменных необходима синтаксическая информация о программе. Получение этой информации для выбранного языка C++ оказалось нетривиальной задачей, поскольку грамматика языка полна по Тьюрингу. Перед тем, как была найдена оптимальная библиотека для работы с программами на C++, пришлось сделать несколько попыток-прототипов.&lt;/p&gt;&lt;p&gt;Первый прототип был основан на библиотеке VivaCore, от которой пришлось быстро отказаться в силу её проприетарности и ориентированности на компилятор MSVC.&lt;/p&gt;&lt;p&gt;Вторая попытка заключалась в модификации исходного кода компилятора GCC для восстановления дерева разбора, которое не строится компилятором явно. Для этого производилась запись моментов входа и выхода компилятора в функции разбора различных нетерминалов, затем по полученной информации восстанавливалось дерево разбора.&lt;/p&gt;&lt;p&gt;Наконец, в последней версии прототипа используется библиотека LibTooling компилятора Clang, предоставляющая оптимальный интерфейс ко всем необходимым структурам (синтаксическому дереву, таблице имен, таблице макросов и т.д.).&lt;/p&gt;&lt;p&gt;В результате работы:&lt;/p&gt;&lt;p&gt;1. Разработан подход для адаптивного анализа стиля в произвольной программе.&lt;br&gt;2. Проанализированы существующие способы получения синтаксической информации о программах на языке C++.&lt;br&gt;3. Создан прототип, анализирующий стиль программы на языке C++.&lt;br&gt;4. Реализована интеграция созданного прототипа в систему автоматизированной проверки программ ejudge. В такой конфигурации успешный вердикт анализатора является условием допуска программы к проверке на основных тестах.&lt;/p&gt;&lt;p&gt;Пример результата работы прототипа (скриншот HTML-вывода анализатора):&lt;/p&gt;&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;https://dl.dropboxusercontent.com/u/1557330/Uvarov%20-%20StyleCheck/Uvarov-StyleCheck-Figs456.jpg&quot; align=&quot;absMiddle&quot; width=&quot;75%&quot;&gt;&lt;/div&gt;&lt;p align=&quot;center&quot;&gt;&lt;b&gt;Рис. 4. &lt;/b&gt;(слева): Стиль «K&amp;amp;R». &lt;b&gt;Рис. 5. &lt;/b&gt;(посередине): Стиль «Whitesmiths». &lt;b&gt;Рис. 6. &lt;/b&gt;(справа): Смешение стилей K&amp;amp;R, Allman и Whitesmiths.&lt;/p&gt;&lt;p&gt;Результаты работы прототипа (аннотированная программа на C++) приведены на рисунках выше. Программа рис. 4 написана в стиле K&amp;amp;R, имена переменных в ней не отделяются от скобок вызова функций. После того, как программист решает изменить стиль на Whitesmiths (рис. 5), отделять имена функций от аргументов, но не отделять оператор сравнения, анализатор способен распознать новый стиль и указать на изменившиеся ошибки. Наконец, фрагмент на рис. 6 содержит признаки смешения стилей, поэтому большое количество промежутков отмечено, как ошибочные (красным).&lt;/p&gt;&lt;p&gt;Работа выполнена на языке C++.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Список литературы&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;[1]&lt;/b&gt;&amp;nbsp;&amp;nbsp; Herb Sutter, Andrei Alexandrescu. C++ Coding Standards: 101 Rules, Guidelines, and Best Practices. Addison-Wesley.&lt;br&gt;&lt;b&gt;[2]&lt;/b&gt;&amp;nbsp;&amp;nbsp; Google Style Guide (&lt;a href=&quot;https://code.google.com/p/google-styleguide&quot;&gt;https://code.google.com/p/google-styleguide&lt;/a&gt;).&lt;br&gt;&lt;b&gt;[3]&amp;nbsp;&amp;nbsp; &lt;/b&gt;Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман Компиляторы: принципы, технологии и инструментарий, 2 изд. — М.: Вильямс, 2008.&lt;br&gt;&lt;b&gt;[4]&lt;/b&gt;&amp;nbsp;&amp;nbsp; Todd L. Veldhuizen. C++ Templates are Turing Complete.&lt;br&gt;&lt;b&gt;[5]&amp;nbsp;&amp;nbsp; &lt;/b&gt;VivaCore, открытая библиотека анализа C/C++/C++11 кода. &lt;a href=&quot;http://www.viva64.com/ru/vivacore-library&quot;&gt;http://www.viva64.com/ru/vivacore-library&lt;/a&gt;.&lt;br&gt;&lt;b&gt;[6]&lt;/b&gt;&amp;nbsp;&amp;nbsp; GNU Compiler Collection, GNU C Compiler. &lt;a href=&quot;http://gcc.gnu.org&quot;&gt;http://gcc.gnu.org&lt;/a&gt;.&lt;br&gt;&lt;b&gt;[7]&lt;/b&gt;&amp;nbsp;&amp;nbsp; Clang LibTooling. &lt;a href=&quot;http://clang.llvm.org/docs/Tooling.html&quot;&gt;http://clang.llvm.org/docs/Tooling.html&lt;/a&gt;.&lt;br&gt;&lt;b&gt;[8]&lt;/b&gt;&amp;nbsp;&amp;nbsp; Valgrind Home. &lt;a href=&quot;http://valgrind.org&quot;&gt;http://valgrind.org&lt;/a&gt;.&lt;br&gt;&lt;b&gt;[9]&lt;/b&gt;&amp;nbsp;&amp;nbsp; Cppcheck – a tool for static C/C++ code analysis. &lt;a href=&quot;http://cppcheck.sourceforge.net&quot;&gt;http://cppcheck.sourceforge.net&lt;/a&gt;.&lt;br&gt;&lt;b&gt;[10]&lt;/b&gt; Cxxchecker – C++ source-code style check. &lt;a href=&quot;http://gna.org/projects/cxxchecker&quot;&gt;http://gna.org/projects/cxxchecker&lt;/a&gt;.&lt;br&gt;&lt;b&gt;[11]&lt;/b&gt; Vera++ – programmable verification and analysis tool for C++. &lt;a href=&quot;http://www.inspirel.com/vera&quot;&gt;http://www.inspirel.com/vera&lt;/a&gt;.&lt;br&gt;&lt;b&gt;[12]&lt;/b&gt; KWStyle – The Source Style Checker. &lt;a href=&quot;http://kitware.github.io/KWStyle&quot;&gt;http://kitware.github.io/KWStyle&lt;/a&gt;.&lt;br&gt;&lt;b&gt;[13]&lt;/b&gt; Ejudge contest management system. &lt;a href=&quot;https://ejudge.ru&quot;&gt;https://ejudge.ru&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;i&gt;Научный руководитель: И. Р. Дединский.&lt;/i&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2014-02-25-74</link>
			<category>Конференция</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2014-02-25-74</guid>
			<pubDate>Tue, 25 Feb 2014 11:54:01 GMT</pubDate>
		</item>
		<item>
			<title>Модульная система трансляции с возможностью обратимой трансляции для ЯВУ, машинно-независимым исполнением программ и поддержкой JIT</title>
			<description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на семинаре&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
			<content:encoded>&lt;p&gt;&lt;br /&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;&lt;w:WordDocument&gt;&lt;w:View&gt;Normal&lt;/w:View&gt;&lt;w:Zoom&gt;0&lt;/w:Zoom&gt;&lt;w:PunctuationKerning/&gt;&lt;w:ValidateAgainstSchemas/&gt;&lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;&lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;&lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;&lt;w:Compatibility&gt;&lt;w:BreakWrappedTables/&gt;&lt;w:SnapToGridInCell/&gt;&lt;w:ApplyBreakingRules/&gt;&lt;w:WrapTextWithPunct/&gt;&lt;w:UseAsianBreakRules/&gt;&lt;w:DontGrowAutofit/&gt;&lt;w:UseFELayout/&gt;&lt;/w:Compatibility&gt;&lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;В настоящее время существует множество различных языков программирования. Наряду с распространенными языками, использующимися для промышленной разработки программных продуктов, такими как C, C++, C#, Java, Python и др., и учебными языками, таких как КуМир, Лого или Паскаль, существуют и экспериментальные, а также так называемые эзотерические языки программирования [1]. Они создавались с целью показать какой-либо интересный подход к программированию, а иногда просто ради шутки. Однако эзотерические языки часто имеют своеобразный синтаксис, и ручной перевод из традиционного языка программирования в эзотерический может быть весьма сложным. Один из таких языков &amp;ndash; Шекспир (Shakespeare) [2]. Он интересен тем, что программы на этом языке похожи на литературные произведения [3]. Тем не менее, этот язык является Тьюринг-полным, то есть на нём можно выразить любой алгоритм.&lt;/p&gt;

&lt;p class=&quot;MsoPlainText&quot;&gt;Цель данной работы &amp;ndash; создать систему трансляции для перевода текстов на на различных языках программирования (в том числе и эзотерических) из одного языка в другой, поддерживающую обратимую трансляцию для языков высокого уровня.&lt;/p&gt;

&lt;p class=&quot;MsoPlainText&quot;&gt;Разработанная система трансляции &lt;b&gt;(Small Compiler Collection, SCC)&lt;/b&gt; имеет модульную структуру и напоминает известную систему компиляции GCC [4]. Такой подход позволяет легко добавлять в систему новые языки. Основная идея &amp;ndash; хранение всех программ в универсальном внутреннем представлении, использующем абстрактные синтаксические деревья (AST) [5]. Система представляет собой совокупность модулей, позволяющих получать из текста программы дерево AST, и наоборот. Такой способ позволяет для добавления нового языка &lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;L&lt;/span&gt; всего лишь написать два модуля &amp;ndash; фронт-энд (&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;front&lt;/span&gt;-&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;end&lt;/span&gt;, ответственен за преобразование из данного языка L в AST) и бэк-энд (&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:
EN-US&quot;&gt;back&lt;/span&gt;-&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;end&lt;/span&gt;, ответственен за преобразование из AST в данный язык &lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;L&lt;/span&gt;) и таким образом получить возможность трансляции из любого высокоуровневого языка &lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;L&lt;/span&gt;1 в любой высокоуровневый или низкоуровневый язык &lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language:EN-US&quot;&gt;L&lt;/span&gt;2 из имеющихся в коллекции системы. Следует отметить, что GCC позволяет транслировать только с высокоуровневого языка в низкоуровневый, так как при трансляции в GCC теряется часть информации, и поэтому пригоден только для компиляции в машинный код, а не для &quot;перевода&quot; с одного языка высокого уровня на другой.&lt;/p&gt;

&lt;p class=&quot;MsoPlainText&quot;&gt;В ходе работы был разработан стандарт AST &lt;b&gt;(SCC_tree)&lt;/b&gt; для внутреннего хранения программ. Для визуализации таких деревьев был разработан независимый модуль [6] на основе программы Dot [7], транслирующий AST в изображение в формате JPEG. Также был написан оптимизатор и линкер для многомодульных программ.&lt;/p&gt;

&lt;p class=&quot;MsoPlainText&quot;&gt;В качестве &amp;laquo;стандартного&amp;raquo; языка программирования был выбран язык C. На основе его подмножества был создан скриптовый язык высокого уровня &lt;b&gt;(SCC_C). &lt;/b&gt;Также был немного переработан язык Shakespeare &lt;b&gt;(SCC_spl)&lt;/b&gt; - в него была добавлена поддержка функций, которые отсутствуют в стандартном Shakespeare, при этом удалось сохранить полную обратную совместимость со стандартным языком. Также была сохранена характерная &amp;laquo;литературная&amp;raquo; стилистика синтаксиса языка.&lt;/p&gt;

&lt;p class=&quot;MsoPlainText&quot;&gt;В качестве языка низкого уровня (ассемблера) был разработан собственный язык для софт-процессора &lt;b&gt;(SCC_asm),&lt;/b&gt; реализующий стековые операции, базовую арифметику, условные и безусловный переходы, вызовы функций, работу с памятью, ввод и вывод информации на экран.&lt;/p&gt;

&lt;p class=&quot;MsoPlainText&quot;&gt;Для исполнения программ был разработан программно реализованный софт-процессор стеково-регистровой архитектуры. Также был реализован компилятор из SCC_asm в пригодный для этого процессора код &lt;b&gt;(SCC_exe). &lt;/b&gt;Для увеличения скорости исполнения программ был разработан вариант софт-процессора с возможностью JIT-компиляции бинарного кода &lt;b&gt;(SCC_bin),&lt;/b&gt; полученного из SCC_asm, в опкоды семейства процессоров Intel 80x86 (32-bit).&lt;/p&gt;

&lt;p class=&quot;MsoPlainText&quot;&gt;Также было написано несколько демонстрационных программ, которые показывают высокую эффективность JIT-компиляции по сравнению с покомандной интерпретацией. Скорость выполнения JIT-компилированого кода была в 2.5 - 3 раза выше.&lt;/p&gt;

&lt;p class=&quot;MsoPlainText&quot;&gt;Работа выполнена на языке C++ (GCC g++ v.4.7.2), в среде CodeBlocks [8], консольные модули написаны для операционной системы Windows, библиотеки разработаны как кроссплатформенные. Исходный код и исполняемые файлы доступны в репозитории автора на GitHub: &lt;a href=&quot;http://github.com/discharged-spider/SCC&quot;&gt;github.com/discharged-spider/SCC&lt;/a&gt; и Google Code: &lt;a href=&quot;http://code.google.com/p/scc-small-compiler-collection&quot;&gt;code.google.com/p/scc-small-compiler-collection.&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Литература&lt;/h3&gt;

&lt;p class=&quot;MsoPlainText&quot; style=&quot;margin-left:14.25pt;text-indent:-14.25pt;
mso-list:l0 level1 lfo1&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.&lt;/span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Esoteric_programming_language&quot;&gt; http://en.wikipedia.org/wiki/Esoteric_programming_language&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;mso-list:Ignore&quot;&gt;2.&lt;span style=&quot;font:7.0pt &quot;Times New Roman&quot;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;&lt;a href=&quot;http://shakespearelang.sourceforge.net&quot;&gt;http://shakespearelang.sourceforge.net&lt;/a&gt;&lt;br /&gt;
3. &lt;a href=&quot;http://shakespearelang.sourceforge.net/report/shakespeare/#sec:hello&quot;&gt;http://shakespearelang.sourceforge.net/report/shakespeare/#sec:hello&lt;/a&gt;&lt;br /&gt;
4.&lt;span style=&quot;font:7.0pt &quot;Times New Roman&quot;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;&lt;a href=&quot;http://www.gnu.org/software/gcc&quot;&gt;http://www.gnu.org/software/gcc&lt;/a&gt;&lt;br /&gt;
5.&lt;span style=&quot;font:7.0pt &quot;Times New Roman&quot;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Abstract_syntax_tree&quot;&gt;http://en.wikipedia.org/wiki/Abstract_syntax_tree&lt;/a&gt;&lt;br /&gt;
6.&lt;span style=&quot;font:7.0pt &quot;Times New Roman&quot;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;&lt;a href=&quot;http://ded32.net.ru/news/2012-09-23-63&quot;&gt;http://ded32.net.ru/news/2012-09-23-63&lt;/a&gt;&lt;br /&gt;
7.&lt;span style=&quot;font:7.0pt &quot;Times New Roman&quot;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;&lt;a href=&quot;http://www.graphviz.org/pdf/dotguide.pdf&quot;&gt;http://www.graphviz.org/pdf/dotguide.pdf&lt;/a&gt;&lt;br /&gt;
8.&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://www.codeblocks.org&quot;&gt;http://www.codeblocks.org&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Материалы проекта&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20SCC/BaigushevSCC-WP.pdf&quot;&gt;Статья&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20SCC/BaigushevSCC_v3.pdf&quot;&gt;Презентация&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://vimeo.com/93028562&quot;&gt;Доклад (видео)&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://vimeo.com/92868984&quot;&gt;Краткая де&lt;font color=&quot;red&quot;&gt;монстрация&lt;/font&gt; работы (видео)&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20SCC/BaigushevSCC-Materials.rar&quot;&gt;Материалы к демонстрации&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://github.com/discharged-spider/SCC&quot;&gt;Репозиторий проекта: github://discharged-spider/SCC&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20SCC/SCCInstaller.exe&quot;&gt;Скачать установщик SCC&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2013-06-21-73</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2013-06-21-73</guid>
			<pubDate>Thu, 20 Jun 2013 21:50:33 GMT</pubDate>
		</item>
		<item>
			<title>Контекстно-ориентированная система рендеринга двухмерной графики для Mac OS X</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на семинаре&lt;/span&gt;&lt;/b&gt;&lt;br&gt;</description>
			<content:encoded>Целью проекта является cоздание системы двухмерного рендеринга для Mac OS X 10.8, работающей с низкоуровневым графическим контекстом системы.&lt;br&gt;&lt;br&gt;В работе реализована система рендеринга TXLibMac, обеспечивающая попиксельный доступ к контексту низкоуровневого фреймворка Core Graphics операционной системы OS X. При использовании стандартных методов Core Graphics для вызова функций необходимо задавать 
множество низкоуровневых параметров, работать с матрицами и менять 
системы координат. Разработанная система предоставляет врапперы на языках С и Objective-C для методов контекста Core Graphics 
для работы с графическими примитивами, текстом, изображениями, 
контекстами графики, что сильно облегчает разработку графических программ. Некоторые возможности Core Graphics в качестве 
врапперов пока не реализованы, но за счет предоставления доступа к 
контексту ядра их можно использовать напрямую. Реализована полная поддержка Interface Builder, за счет использования Objective-C классов интерфейса пользователя в ядре.&lt;br&gt;&lt;br&gt;Также создана отдельная библиотека на основе Core Image для продвинутой фильтрации изображений. Она использует привязывающийся к контексту при инициализации динамический массив, что позволяет сильно ускорить изменение цветов отдельных пикселей. Массив хранит данные в формате RGBA, что позволяет использовать прозрачность.&amp;nbsp; &lt;br&gt;&lt;br&gt;Помимо этого, для TXLibMac разработаны модули: &lt;br&gt;&lt;br&gt;1) Получения ввода с устройств на Mac - привычные для программистов Win32 функции GetAsyncKeyState и kbhit.&lt;br&gt;2) Взаимодействия с консолью Mac - ввод и вывод в графическом окне программы с помощью стандартных методов С и С++.&lt;br&gt;3) Работы с операционной системой Mac OS - многооконность и использование Cocoa.&lt;br&gt;&lt;br&gt;Все части системы объединены в едином фреймворке, представленным динамической библиотекой. Разработаны шаблоны проектов и мастер проектов для среды программирования Xcode.&lt;br&gt;&lt;br&gt;Работа выполнена на языке Objective-C в среде Xcode.&lt;br&gt;&lt;br&gt;&lt;b&gt;Литература&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://developer.apple.com/devcenter/mac/index.action&quot;&gt;Mac Dev Center&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://developer.apple.com/library/mac/navigation&quot;&gt;Mac Developer Library&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://itunesu.itunes.apple.com/WebObjects/LZDirectory.woa/ra/1/directory/courses/593208016/feed&quot;&gt;Coding Together: Developing Apps for iPhone and iPad (RSS feed)&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.stackoverflow.com&quot;&gt;StackOverflow&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.wikipedia.org&quot;&gt;Wikipedia&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Материалы работы&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Khabarov%20-%20TXLibMac/TXLibMac.mov&quot;&gt;Создание проекта на основе фреймворка TXLibMac (видео в формате QuickTime)&lt;/a&gt;&lt;/b&gt;&lt;br&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Khabarov%20-%20TXLibMac/TXLibMac-Text.pdf&quot;&gt;Текст доклада (для докладчика)&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2013-06-08-72</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2013-06-08-72</guid>
			<pubDate>Sat, 08 Jun 2013 18:43:29 GMT</pubDate>
		</item>
		<item>
			<title>Реализация библиотеки создания баз данных GrinDB для сбора результатов психологического анкетирования</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на семинаре&lt;/span&gt;&lt;/b&gt;&lt;br&gt;</description>
			<content:encoded>Долгое время психологам моей школы приходилось тестировать учеников с помощью бумажных бланков. Это очень неудобно, т.к. для этого необходимо много писать, заполнять и переносить информацию в файлы на компьютере. Поэтому они предложили разработать программу, которая бы опрашивала учеников на нескольких компьютерах одновременно, собирала данные на одном компьютере и сохраняла результаты в формате Excel.&lt;br&gt;&lt;br&gt;Существующие программы, способные решить данную задачу, к сожалению, платные, например, 
1С:Школьная психодиагностика. Есть бесплатные онлайн-сервисы (например, surveymonkey.com), но они предполагают выкладывание контента в Интернет.
 Реализация собственной клиентской части программы способствует более 
эффективному решению задачи за счет консультаций с конкретными 
заказчиками (психологами) по поводу ее интерфейса и возможностей. Для более гибкого развития проекта и облегчения его последующего масштабирования необходимо использование библиотеки, или модуля, базы данных. &lt;br&gt;&lt;br&gt;Разработанная программа имеет клиент-серверную архитектуру. Серверная часть представляет собой базу данных GrinDB, разработанную автором проекта, что объяснялось его учебно-научными интересами как разработчика. Клиентская часть - это собственно сама программа тестирования, которая работает с базой данных через клиентскую часть ее API. Она обеспечивает передачу данных по локальной сети с помощью протокола синхронизации. После разработки серверной и клиентской части они были протестированы. В ходе тестов работали надежно, данные передавались и сохранялись без потерь.&lt;br&gt;&lt;br&gt;Программа разработана на языке C++ под ОС Windows.&lt;br&gt;&lt;br&gt;В будущем планируется продолжать сотрудничество с психологической службой для создания новых программных продуктов и доработки старых.&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Melnikov%20-%20GrinDB/MelnikovGrinDB.rar&quot;&gt;Материалы работы&lt;/a&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2013-06-08-71</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2013-06-08-71</guid>
			<pubDate>Sat, 08 Jun 2013 18:41:12 GMT</pubDate>
		</item>
		<item>
			<title>Разработка виртуальной системы исполнения программ</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на семинаре&lt;/span&gt;&lt;/b&gt;&lt;br&gt;</description>
			<content:encoded>Основной задачей проекта является разработка системы исполнения скриптов с виртуальным процессором, оконной библиотеки под ОС Windows и демонстрационной программы, эмулятора подмножества Logo.&lt;br&gt;&lt;br&gt;При написании программы использовалась среда Code::Blocks и компилятор GCC 4.7.1.&lt;br&gt;&lt;br&gt;Программа состоит из двух главных модулей: система исполнения с виртуальным процессором и оконная библиотека.&lt;br&gt;Система исполнения загружает скрипт, далее происходит его потоковое исполнение в виртуальном процессоре. Оконная библиотека создает вспомогательный поток для работы в нем окна.&lt;br&gt;&lt;br&gt;Эмулятор Logo - класс черепашка, которая выполняет команды, аналогичные командам языка программирования Logo.&lt;br&gt;&lt;br&gt;В дальнейшем планируется доработать архитектуру системы исполнения и добавить возможность работать с OpenGL или SDL в оконной системе.&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/DellaPietra%20-%20ScriptCompiler/DellaPietraScriptCompiler.rar&quot;&gt;Материалы работы&lt;/a&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2013-06-06-70</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2013-06-06-70</guid>
			<pubDate>Wed, 05 Jun 2013 22:26:43 GMT</pubDate>
		</item>
		<item>
			<title>Платформа для быстрого машинно-независимого исполнения программного кода</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на конференции &quot;Старт в науку&quot;, МФТИ&lt;/span&gt;&lt;/b&gt;&lt;br&gt;</description>
			<content:encoded>&lt;p&gt;Целью проекта является разработка простой и удобной в использовании платформы для машинно-независимого исполнения программного кода с возможностью JIT-компиляции в машинный код процессора Intel x86_64. Платформа выполнена в соответствии с модульно-конвейерным подходом.&lt;/p&gt;&lt;p&gt;При разработке платформы было спроектировано и разработано ядро, реализующее межмодульные интерфейсы, а также простой и удобный пользовательский интерфейс. Разработка велась таким образом, чтобы каждому этапу преобразований соответствовал отдельный модуль. Помимо удобности в использовании и доработке такая система позволяет отследить весь путь трансляции исходного текста, что позволяет вести подробную распечатку преобразований и, при необходимости, прерывать трансляцию на необходимом этапе. Например, при прерывании трансляции во время обнаружения ошибки, такая система позволит быстро найти, в каком месте она была допущена.&lt;/p&gt;&lt;p&gt;Работа с необходимым к исполнению исходным текстом ведется в два этапа. Первым шагом является загрузка исходного текста и его сохранение во внутреннее представление. Разбор исходного текста производится с использованием изменяемого командного набора, что, фактически, позволяет загружать и сохранять исходный текст, написанный на любом языке подобного рода, чей командный набор известен модулю считывания и сохранения.&lt;/p&gt;&lt;p&gt;После этого работа с внутренним представлением считанного исходного текста передается к одному из модулей исполнения. В платформе присутствуют два взаимозаменяемых модуля исполнения. Первым является виртуальная стековая машина, напрямую выполняющая переданный ей исходный текст. Этот вариант удобен своей кроссплатформенностью. Если же скорость исполнения&amp;nbsp; исходного текста не соответствует предъявляемым требованием, а кроссплатфоменность не является основной целью, то модуль виртуальной стековой машины можно заменить модулем JIT-компиляции в машинный код процессора intel x86_64.&lt;/p&gt;&lt;p&gt;Этот вариант является более быстрым, но не является кроссплатформенным, он зависит как от машины, так и от OC. Целевым процессором является семейство Intel x86_64, а целевой ОС является Linux. Этап JIT-компиляции подразделяется на два шага. Во время первого шага происходит трансляция внутреннего представления загруженного исходного текста в язык ассемблера. После этого работа с исходным текстом на языке ассемблера передается модулю, реализующему JIT-компиляцию языка ассемблера в машинный код процессора intel x86_64. Внутри этого модуля реализована генерация результирующих байт машинного кода для некоторого количества вариантов операндов у обрабатываемой инструкции (r/m64 &amp;amp; reg64, imm32, disp32 и т.д), что в совокупности с созданной базой машинных кодов инструкций дает JIT-компилятор языка ассемблера. После трансляции исходного текста на языке ассемблера в машинный код создается область памяти с правами для выполнения, в которую записывается весь сгенерированный машинный код. Таким образом, на выходе, после JIT-компилятора мы получаем функцию, которую впоследствии уже можно будет вызывать.&lt;/p&gt;&lt;p&gt;В текущий момент на базе разработанной платформе реализован язык, поддерживающий работу со стеком, базовую арифметику, условные и безусловные переходы, работу с переменными, работу с функциями, работу с указателями на переменные и указателями на функции.&lt;/p&gt;&lt;p&gt;Работа выполнена на языке C++, в среде KDevelop, в операционной системе Linux. &lt;/p&gt;&lt;p&gt;ЛИТЕРАТУРА&lt;/p&gt;&lt;p&gt;1. Intel 64 and IA 32 Software Developers manual&lt;br&gt;&lt;span&gt;2. Материалы с сайта &lt;a href=&quot;http://stackoverflow.com&quot;&gt;stackoverflow.com&lt;/a&gt;&lt;/span&gt;&lt;br&gt;3. С. В. Зубков. Assembler для DOS, Windows и UNIX&lt;/p&gt;&lt;p&gt;Работа была выполнена в рамках учебного задания экспериментальной площадки по проектной деятельности И. Р. Дединского.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href=&quot;https://github.com/Nexx0f/CodeExecutor&quot;&gt;Репозиторий проекта&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Pimkin%20-%20JIT/PimkinJIT.rar&quot;&gt;Материалы доклада&lt;br&gt;&lt;br&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2013-06-06-68</link>
			<category>Конференция</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2013-06-06-68</guid>
			<pubDate>Wed, 05 Jun 2013 22:01:30 GMT</pubDate>
		</item>
		<item>
			<title>Воксельный трехмерный симулятор мира на OpenGL</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на конференции &quot;Старт в науку&quot;, МФТИ&lt;/span&gt;&lt;/b&gt;</description>
			<content:encoded>&lt;p&gt;Целью работы является создание воксельного трехмерного движка с возможностью генерации бесконечного ландшафта, а также его изменения сохранения. Поддерживается изменение мира несколькими людьми. Используется клиент-серверная архитектура. Для визуализации используется собственный движок освещения, работающий в реальном времени. Для рендеринга используется библиотека OpenGL.&lt;/p&gt;

&lt;p&gt;Отличительной особенностью является высокое быстродействие, а также большая дальность прорисовки.&lt;/p&gt;

&lt;p&gt;Приложение написано на C++ и не использует высокоуровневых библиотек, что обеспечивает лёгкое портирование. Используются лишь следующие библиотеки: OpenGL, libpng, zlib, freetype. Платформно-зависимый код используется лишь для поддержки оконной системы, сокетов, многопоточности, файловой системы и отладки. На данный момент поддерживаются операционные системы Windows и Linux, а также ведётся тестирование версий под Android и OS X.&lt;/p&gt;

&lt;p&gt;Клиент состоит из нескольких компонентов:&lt;/p&gt;

&lt;p&gt;- Загрузчик и генератор карты&lt;br /&gt;
- Движок освещения&lt;br /&gt;
- Генератор мешей&lt;br /&gt;
- Пользовательский интерфейс&lt;br /&gt;
- Физический движок&lt;br /&gt;
- Графический движок&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Сервер отвечает за синхронизацию физики, времени, изменения ландшафта, а также за обмен сообщениями между клиентами.&lt;/p&gt;

&lt;p&gt;За координацию работы других компонентов клиента отвечает загрузчик карты. Он работает в три потока, образующих конвейер. Первый поток получает у сервера нужные сжатые подмиры (части карты фиксированного размера), загружает с диска или вызывает генератор. Затем данные передаются передаются во второй поток для освещения, после чего третий поток строит меши с учётом освещения и передаёт их в поток визуализатора для отправки на видеокарту.&lt;/p&gt;

&lt;p&gt;Движок освещения просчитывает свет от солнца (или луны) и других источников освещения (от лампы). Движок позволяет в реальном времени пересчитывать освещение в случае изменения ландшафта.&lt;/p&gt;

&lt;p&gt;Мир хранится в отдельных файлах, называемых чанками, содержащих сжатые данные подмиров. Данные хранятся и у клиента, и у сервера. Благодаря этому клиент не получает подмир, если он не изменился с момента последнего посещения.&lt;/p&gt;

&lt;p&gt;Для генерации ландшафта используется шум Перлина. Благодаря этому достигается разнообразие мира. Карта условно делится на различные природные зоны: от заснеженных гор до песчаных пляжей.&lt;/p&gt;

&lt;p&gt;Приложение поддерживает локализацию на различные языки с помощью специальных файлов локализации. В данный момент реализована поддержка русского и английского.&lt;/p&gt;

&lt;p&gt;Также имеется возможность импорта карты из Minecraft. Для этого используется специальный конвертор.&lt;/p&gt;

&lt;p&gt;В настоящий момент разработан быстрый мультиплатформенный симулятор мира, отличающийся от других высокой производительностью. В текущий момент ведётся работа по оптимизации движка освещения и его улучшению, а также генерации более разнообразного ландшафта (с пещерами и деревьями).&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/NikitenkoIvanov%20-%20BlocksWorld/BlocksWorldMaterials.rar&quot;&gt;Материалы проекта&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;https://bitbucket.org/eviomjeka/blocks-world/src&quot;&gt;Исходный код&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://bitbucket.org/eviomjeka/blocks-world/commits/all&quot;&gt;Репозиторий проекта&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2013-06-06-67</link>
			<category>Конференция</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2013-06-06-67</guid>
			<pubDate>Wed, 05 Jun 2013 21:54:15 GMT</pubDate>
		</item>
		<item>
			<title>Применение автоматного метода в задаче поиска выхода из лабиринта</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад на семинаре&lt;/span&gt;&lt;/b&gt;&lt;br&gt;</description>
			<content:encoded>&lt;p&gt;Задача поиска выхода из лабиринта имеет множество известных алгоритмических решений. Одно из них - «правило левой руки». Оно заключается в том, что на каждом повороте следует поворачивать налево. Если возможность повернуть налево отсутствует, то нужно идти прямо. Если и туда нельзя, то направо. Если впереди тупик, то надо развернуться. Такой алгоритм поведения находит выход только из односвязных (не содержащих замкнутых маршрутов) лабиринтов, а также легко описывается описывается как с помощью любого алгоритмического языка, так и с помощью конечного автомата [1]. Целью работы является сравнение этих двух способов описания алгоритма при разработке программы.&lt;/p&gt;&lt;p&gt;Программа Maze – это симулятор произвольного односвязного лабиринта с исполнителем-роботом, который проходит лабиринт. Во время разработки программы был проведен эксперимент, связанный с ее разработкой. Было разработано две версии программы, идентичных по функциональности и интерфейсу, но отличающихся реализацией алгоритма поиска выхода. В первой версии алгоритм был написан вручную, а во второй применен сгенерированный из схемы конечный автомат [2]. Для генерации автомата была использована программа &lt;a href=&quot;http://ded32.net.ru/news/2009-02-06-29&quot;&gt;Visio2Auto Л. Столярова&lt;/a&gt; [3]. Этот эксперимент был проведен для выяснения того, действительно ли автоматное программирование упрощает разработку.&lt;/p&gt;&lt;p&gt;Как оказалось, представление алгоритма в виде автоматной схемы действительно сильно снижает сложность разработки программы. Для простоты понимания алгоритма работы программы, рано или поздно придется рисовать схему в Microsoft Visio или аналогичных редакторах и заботиться о ее соответствии фактическому коду программы, а в случае автоматного подхода изначально нарисованная схема легко транслируется в код без участия человека. А это значит, что, по сути, нарисованная схема являет собой уже большую часть сделанной работы. Кроме того, автоматическая трансляция исключает человеческий фактор при кодировании логической части алгоритма, являющийся источником ошибок.&lt;/p&gt;&lt;p&gt;Помимо самого лабиринта и робота, его проходящего, в программе Maze была реализована максимально понятная визуализация работы конечного автомата. Каждый шаг робота одновременно показывается в окне с лабиринтом и в окне со схемой автомата, в котором видно, какие состояния при этом сменились и почему. Также немаловажную часть в понятности и функциональности программы играет консоль, в которой ведется подробная распечатка всех состояний и переходов конечного автомата. Также из консоли возможен вызов всех основных команд, работающих с лабиринтом, роботом, распечаткой, схемой и прочих. Подробный список команд с их описанием доступен по введению команды &quot;help” в консоли. Кроме того, для простоты сопоставления распечаток переходов и состояний в консоли с реальными перемещениями робота, пройденный путь подсвечивается.&lt;/p&gt;&lt;p&gt;Программу Maze также можно использовать как небольшое учебное пособие по конечным автоматам на примере данного конечного автомата в данной задаче, благодаря реализованной системе простых сценариев (скриптов) для консоли. Это значит, что написав небольшой сценарий, вы можете оставить пользователя наедине с программой, и она сама объяснит ему, как работают конечные автоматы в данной задаче.&lt;/p&gt;&lt;p&gt;Из недостатков проекта можно упомянуть неуниверсальность подхода, примененного в модуле визуализации, который был жестко оптимизирован под данную задачу для сокращения сроков разработки.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Программа разработана на языке С++ в средах Microsoft Visual Studio, KDevelop и Qt Creator в операционных системах Microsoft Windows и Linux с использованием кроссплатформенной библиотеки Qt [4].&lt;/p&gt;ЛИТЕРАТУРА&lt;br&gt;&lt;br&gt;1. Дж. Хопкрофт. Введение в теорию автоматов, языков и вычислений. М.: Вильямс, 2002.&lt;br&gt;2. Н. И. Поликарпова, А. А. Шалыто. Автоматное программирование. СПб.: Питер. 2009.&lt;br&gt;3. Л.Н. Столяров. Трансляция описаний автоматов, представленных в формате Microsoft Visio, в исходный код на языке Си. СПб.: Компьютерные инструменты в образовании, № 5, 2009, с. 35-44.&lt;br&gt;4. М. Шлее. Qt 4.5: Профессиональное программирование на С++. СПб.: БХВ-Петербург, 2010.&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Pimkin%20-%20Maze/PimkinMaze.rar&quot;&gt;Материалы доклада&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://github.com/Nexx0f/Maze&quot;&gt;Репозиторий проекта&lt;br&gt;&lt;/a&gt;&lt;br&gt;&lt;/b&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2013-06-05-69</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2013-06-05-69</guid>
			<pubDate>Tue, 04 Jun 2013 22:56:18 GMT</pubDate>
		</item>
		<item>
			<title>Платформа для машинно-независимого исполнения программного кода с возможностью JIT-компиляции</title>
			<description>&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;Доклад в компании &lt;a href=&quot;http://Parallels.com&quot;&gt;Parallels&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt; и на конференции &quot;Старт в науку&quot;, МФТИ&lt;/span&gt;&lt;/b&gt;</description>
			<content:encoded>&lt;br&gt;Целью настоящего проекта явилась разработка простой и удобной в использовании платформы для машинно-независимого исполнения программного кода в стековой виртуальной машине с поддержкой JIT-компиляции в машинный код центрального процессора Intel x86_64. Работа выполнена на языке C++ без использования каких-либо библиотек помимо стандартной, что позволило обеспечить кроссплатформенность проекта на уровне исходного кода наряду с достаточно высокой скоростью работы и простотой реализации. &lt;p&gt;Платформа выполнена в соответствии с модульным конвейерным подходом. В её состав входят уровень абстракции от ОС, неизменяемое ядро, реализующее пользовательское API и определяющее межмодульные интерфейсы, и набор модулей, каждый из которых реализует определённый функциональный интерфейс. Задачей уровня абстракции является переопределение ОС-зависимых реализаций некоторых вспомогательных методов для каждой распространённой ОС и обеспечение &quot;заглушек&quot; для неподдерживаемых систем.&lt;/p&gt;&lt;p&gt;Основной конвейер, реализующий клиентское API, находится в составе ядра. Он состоит из четырёх шагов: загрузка исходного текста, сохранение частичного промежуточного образа, компоновка и исполнение байт-кода в виртуальной машине; на последнем этапе вместо исполнения в виртуальной машине возможна передача данных в JIT-транслятор.&lt;/p&gt;&lt;p&gt;Абстракция от языка исходного текста обеспечивается путём трансляции кода в промежуточное представление (байт-код), с которым и происходит дальнейшая работа. Байт-код, полученный в результате считывания одного исходного файла, помещается в так называемый контекст исполнения. Каждый контекст в дальнейшем можно объединить с любым количеством других загруженных контекстов, за счёт чего обеспечивается возможность раздельной компиляции и объединения исходных текстов, написанных на разных языках программирования. Также существует возможность сериализации контекстов в файл, по структуре похожий на объектный файл, и загрузки таких &quot;объектных файлов&quot; в полнофункциональные контексты.&lt;/p&gt;&lt;p&gt;Исполнение контекста возможно с помощью стековой виртуальной машины со строгой типизацией, изменяемым командным набором и возможностью программного управления исполнением (в т. ч. трассировки) с помощью перехвата соответствующих методов в интерфейсе модуля логики исполнения. Необходимо заметить, что скорость исполнения не является основным требованием, предъявляемым к виртуальной машине, и в том случае, если она недостаточно высока для конкретной задачи, возможно использование JIT-транслятора для построения машинного образа и исполнения кода непосредственно на центральном процессоре.&lt;/p&gt;&lt;p&gt;В настоящий момент с помощью уровня абстракции реализована отладочная печать, выделение памяти с необходимыми правами доступа для исполнения JIT-компилированного машинного кода и подсистема безопасной обработки исключительных ситуаций (сигналов). Последнее особенно важно при исполнении сгенерированного машинного кода, так как почти никаких проверок в этом режиме не производится. Перехват же исключения ошибки сегментации позволяет в случае неполадок корректно завершить выполнение приложения или же передать управление интерпретатору для безопасного исполнения проблемного кода.&lt;/p&gt;&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Shapovalov%20-%20JIT/ShapovalovScriptSystem.pdf&quot;&gt;Презентация&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://github.com/intelfx/Homework_2011&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href=&quot;http://github.com/intelfx/Homework_2011&quot;&gt;&lt;/a&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;https://github.com/intelfx/Homework_2011&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href=&quot;http://github.com/intelfx/Homework_2011&quot;&gt;&lt;b&gt;Исходный текст в репозитории: G&lt;/b&gt;itHub.com/intelfx/Homework_2011 (ветка &quot;master&quot;)&lt;/a&gt;&lt;/b&gt;&lt;br&gt;&lt;a title=&quot;Материалы доклада&quot; href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Shapovalov%20-%20JIT/ShapovalovScriptSystem.rar&quot;&gt;Материалы доклада&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2012-12-10-65</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2012-12-10-65</guid>
			<pubDate>Sun, 09 Dec 2012 20:52:55 GMT</pubDate>
		</item>
		<item>
			<title>Некоторые вопросы и заблуждения по поводу программистов и программирования</title>
			<description>&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;&lt;b&gt;Анонс&lt;/b&gt;&lt;br&gt;&lt;/span&gt;</description>
			<content:encoded>&lt;br&gt;Цель дискуссии – рассмотрение часто встречающихся проблем, с которыми сталкиваются люди в процессе создания программного обеспечения как в своей профессиональной деятельности, так и при обучении информационным технологиям.&lt;p&gt;Речь в данном случае идет не о конкретных технических проблемах в работе с той или иной программной платформой, а об общих проблемах, препятствующих достижению качественных результатов в установленные сроки, что есть суть каждой профессии.&lt;/p&gt;&lt;p&gt;Дискуссия ориентирована на людей, которые уже сделали свой выбор в пользу физико-математического профиля. В процессе обучения приходится сталкиваться со сложностями и даже разочарованиями, но у всех проблем есть решения. Для успешного решения проблемы необходимо в первую очередь понимание причин ее возникновения. Если причина определена неверно, то и выбранный путь решения не поможет. Здесь приводятся распространенные заблуждения, которые часто выдвигаются в качестве причин отсутствия успеха, анализ этих причин и некоторые подходы к преодолению препятствий на пути к цели.&lt;/p&gt;&lt;p&gt;Мы обсудим распространенные утверждения, которые часто выдвигаются в качестве причин отсутствия успеха, проведем анализ этих причин и обмен опытом по преодолению возникающих сложностей.&lt;/p&gt;&lt;h3&gt;Вопросы для обсуждения:&lt;/h3&gt;&lt;ul class=&quot;uz&quot;&gt;&lt;li class=&quot;uz&quot;&gt;Какими качествами нужно обладать, чтобы заниматься программированием? Творчество или рутина?&lt;/li&gt;&lt;li class=&quot;uz&quot;&gt;Учиться программированию интересно только тем, у кого быстро и хорошо получается выполнять задания?&lt;/li&gt;&lt;li class=&quot;uz&quot;&gt;Нужно ли вообще учиться программированию в школе, или учащиеся физико-математических классов в состоянии научиться самостоятельно, если захотят?&lt;/li&gt;&lt;li class=&quot;uz&quot;&gt;Нужно ли учиться программированию серьезно, или достаточно получить знания для общей эрудиции?&lt;/li&gt;&lt;li class=&quot;uz&quot;&gt;Программирование нужно лишь тем, кто собирается стать программистом?&lt;/li&gt;&lt;li class=&quot;uz&quot;&gt;Всегда ли нужна ли программисту четко поставленная задача?&lt;/li&gt;&lt;li class=&quot;uz&quot;&gt;Остается ли время на творческую работу, если почти все время уходит на поиск ошибок?&lt;/li&gt;&lt;li class=&quot;uz&quot;&gt;Что делать, если программа так и не заработала, а ее пора сдавать?&lt;/li&gt;&lt;li class=&quot;uz&quot;&gt;Какой практический результат дают занятия программированием?&lt;/li&gt;&lt;li class=&quot;uz&quot;&gt;Участники дискуссии могут выразить свое отношение к данным вопросам, рассказать о своем опыте и предложить свои подходы.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;О докладчике&lt;/h3&gt;А. В. Мельникова -- эксперт в области разработки и внедрения комплексных информационно-аналитических автоматизированных систем, а также а также мама ученицы 8 класса с углубленным изучением программирования. Окончила МАИ по специальности &quot;Автоматизированные системы управления и обработки информации&quot; и высшую школу при Министерстве внешнеэкономических связей по специальности &quot;Внешнеэкономическая деятельность: организация и управление&quot;. Имеет опыт реализации масштабных проектов в области ИТ-консалтинга, реформирования бизнес-процессов, создания ИТ-инфраструктуры для российских и зарубежных организаций. В течение последних 15 лет занимала руководящие позиции в ведущих компаниях сектора информационных технологий, таких как Ай-Теко, ISG, Egar Technology. В настоящее время отвечает за инновационные проекты в области ИТ в крупнейшем российском банке.&lt;br&gt;&lt;br&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2012-12-08-64</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2012-12-08-64</guid>
			<pubDate>Fri, 07 Dec 2012 22:30:14 GMT</pubDate>
		</item>
		<item>
			<title>Dotter. Библиотека для визуализации деревьев</title>
			<description>&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 
51, 0);&quot;&gt;&lt;b&gt;Анонс&lt;/b&gt;&lt;/span&gt;</description>
			<content:encoded>&lt;p&gt;&lt;br /&gt;
Рано или поздно программист сталкивается с такой структурой данных, как двоичное, или бинарное, дерево. Удобнее всего работать с таким деревом при помощи специального класса. У каждого надежного объекта (класса) должны быть диагностические функции проверки состояния (назовем ее OK, она возвращает true, если с объектом все в порядке) и визуализации или распечатки (Dump, она выдает полную техническую информацию об объекте для поддержки отладки, на программистском жаргоне &amp;laquo;дамп&amp;raquo;).&lt;/p&gt;

&lt;p&gt;Реализовать удобный Dump нелинейного объекта, в частности дерева, иногда бывает очень непросто. Разработанная библиотека поможет вам легко создать понятный и красивый Dump. Она основывается на приложении Dot пакета &lt;a href=&quot;http://www.graphviz.org&quot;&gt;GraphWiz&lt;/a&gt; и облегчает описание графов на языке &lt;a href=&quot;http://ru.wikipedia.org/wiki/DOT_%28%D1%8F%D0%B7%D1%8B%D0%BA%29&quot;&gt;dot.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Подробнее про Dump дерева и Dotter можно прочитать в описании библиотеки.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20Dotter/Baigushev%20-%20Dotter%20-%20WP.pdf&quot;&gt;&lt;b&gt;Читать полный текст статьи (файл PDF)&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20SCC/DotterInstaller.exe&quot;&gt;Скачать библиотеку&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20SCC/Documentation.chm&quot;&gt;Описание библиотеки (файл CHM)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;mailto://IDanila24@gmail.com&quot;&gt;Email автора: IDanila24@gmail.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h3&gt;Пример визуализации дерева синтаксического разбора выражения&lt;/h3&gt;

&lt;p&gt;&lt;img ilo-full-src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20Dotter/Images/Example.jpg&quot; src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20Dotter/Images/Example.jpg&quot; width=&quot;45%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2012-09-23-63</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2012-09-23-63</guid>
			<pubDate>Sun, 23 Sep 2012 15:51:44 GMT</pubDate>
		</item>
		<item>
			<title>Эволюция игры PunkMania</title>
			<description>&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 51, 0);&quot;&gt;&lt;b&gt;NexxOf Game Development 
presents&lt;/b&gt;&lt;br&gt;&lt;/span&gt;</description>
			<content:encoded>&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/PunkMania/PunkManiaEvolution.pdf&quot;&gt;Введение&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/PunkMania/PunkManiaEvolution.pdf&quot;&gt;В
 этой статье я покажу эволюцию кода программы (по-научному – 
рефакторинга) на примере небольшой популярной в определенных кругах, 
хоть и достаточно давней моей игры Punkmania. Я расскажу про часто 
встречающиеся ошибки в ходе разработки собственной игры (да и любой 
программы, не обязательно игры). ...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/PunkMania/PunkManiaEvolution.pdf&quot;&gt;&lt;b&gt;Читать статью (файл pdf)&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/PunkMania/PunkManiaMaterials.rar&quot;&gt;&lt;b&gt;Скачать
 исходный текст к 
статье&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;...а
 также... 
&lt;/b&gt;&lt;s&gt;(фанфары)&lt;/s&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;tt&gt;&amp;nbsp;&amp;#92;|/.&lt;br&gt;&amp;nbsp;
 
!_)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d&amp;nbsp; 
A&amp;nbsp; r&amp;nbsp; K&lt;br&gt;&amp;nbsp; !&amp;nbsp; u n 
k&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 &amp;nbsp; p&amp;nbsp; U&amp;nbsp; n&amp;nbsp; K &amp;nbsp; 
&lt;br&gt;&amp;nbsp; !&amp;nbsp;&amp;nbsp;&amp;nbsp; m a n i 
a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; 
&amp;nbsp;&amp;nbsp; d&amp;nbsp; A&amp;nbsp; Y&amp;nbsp; 
s&lt;br&gt;&amp;nbsp; !&amp;nbsp;&amp;nbsp;&amp;nbsp; ` `&apos;&quot;`&quot; 
``&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; 
&apos;&quot;`&quot;&amp;nbsp; 
&apos;&lt;/tt&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;nbsp; 
Компьютерная игра &quot;PunkMania: Dark Punk Days&quot;&lt;br&gt;&amp;nbsp; Автор:
 Nexx0f aka Артем Пимкин &lt;br&gt;&lt;br&gt;Описание 
игры&lt;/b&gt;&lt;br&gt;Устали после тяжелого рабочего дня? Хотите 
отдохнуть? А может быть вы еще и компьютерные игры любите? На самом деле
 это все не важно, ведь в любом случае игра &lt;b&gt;PunkMania: Dark 
Punk Days,&lt;/b&gt; продолжение &lt;b&gt;&lt;a href=&quot;http://ded32.net.ru/news/2010-04-18-50&quot;&gt;PunkMania,&lt;/a&gt;&lt;/b&gt; для
 вас. Эта игра поможет вам расслабиться, забыть о проблемах окружающего 
мира и насладиться игровым 
процессом!&lt;br&gt;&lt;br&gt;&lt;b&gt;ВАЖНО:&lt;/b&gt; Разрешение 
экрана вашего компьютера должно быть не менее чем 
1000х800.&lt;br&gt;&lt;br&gt;&lt;b&gt;Задачи 
разработки&lt;/b&gt;&lt;br&gt;1) Создать интересную, а главное, 
качественную и сбалансированную игру.&lt;br&gt;2) Реализовать 
возможность написания уровней по понятным и простым законам.&lt;br&gt;3)
 Разработать удобный движок - платформу для создания игр подобного 
типа.&lt;br&gt;&lt;br&gt;Для разработки игры и движка использовались 
среда Dev-Cpp и компилятор GCC. Для разработки графики использовалась 
программа Adobe Photoshop.&lt;br&gt;&lt;br&gt;&lt;b&gt;Правила 
игры&lt;/b&gt;&lt;br&gt;Правила игры просты: есть главный герой - панк. 
Кроме панка на экране перед вами предстанет собственно уровень с одним 
выходом, на котором будут расставлены коробки, и который будут 
патрулировать копы. Задача панка поджечь все коробки на уровне, не 
попавшись при этом копам, которые будут старательно мешать пироманской 
деятельности главного 
героя.&lt;br&gt;&lt;br&gt;&lt;b&gt;Управление&lt;/b&gt;&lt;br&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;font-size: 
8pt;&quot;&gt;&lt;b&gt;Стрелки&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;&lt;span style=&quot;font-size: 
8pt;&quot;&gt;–&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt; Управление 
персонажем: влево, вправо и вверх 
(прыжок)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;&lt;b&gt;Пробел&amp;nbsp; 
&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style=&quot;font-size: 
8pt;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;–&lt;/span&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;&lt;span style=&quot;font-size: 
8pt;&quot;&gt;&lt;/span&gt; Поджечь
 
коробку!&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;font-size: 
8pt;&quot;&gt;&lt;b&gt;R&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;–&lt;span style=&quot;font-size: 8pt;&quot;&gt; Рестарт
 
уровня&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style=&quot;font-size: 
8pt;&quot;&gt;&lt;b&gt;Z&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;– &lt;span style=&quot;font-size: 8pt;&quot;&gt;Выход в
 главное 
меню&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;b&gt;Нововведения
 по сравнению с &lt;b&gt;&lt;a href=&quot;http://ded32.net.ru/news/2010-04-18-50&quot;&gt;PunkMania
 1&lt;/a&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;&lt;ul class=&quot;uz&quot;&gt;&lt;li class=&quot;m&quot;&gt;Новая библиотека, позволившая существенно улучшить графику 
игры.&lt;/li&gt;&lt;li class=&quot;m&quot;&gt;Новая анимация огня. Система частиц,
 симулирующая настоящий огонь, вместо статичной 
картинки.&lt;/li&gt;&lt;li class=&quot;m&quot;&gt;24 новых уровня (но и старые тут
 тоже есть)&lt;/li&gt;&lt;li class=&quot;m&quot;&gt;Игра будет работать с 
одинаковой скоростью практически на любом компьютере.&lt;/li&gt;&lt;li class=&quot;m&quot;&gt;Добавлена новая поверхность - &quot;Трамплин&quot;. При наступании на
 трамплин панка, вне зависимости от его желания, подбрасывает на высоту,
 заданную автором уровня.&lt;/li&gt;&lt;li class=&quot;m&quot;&gt;Теперь в игре 
есть новый персонаж - ghost. Ghost - это призрак, показывающий либо 
лучшее прохождение уровня автором игры, либо лучшее ваше прохождение. 
Ghost похож на призрачного панка, пробегающего уровень вместе c вами. 
Его можно отключить, а можно изменить его прозрачность, чтобы он не 
мешал вам проходить уровень.&lt;/li&gt;&lt;li class=&quot;m&quot;&gt;Добавлена 
возможность настройки вида панка. Теперь вы можете настроить ему цвет 
волос, куртки и штанов на свой вкус.&lt;/li&gt;&lt;li class=&quot;m&quot;&gt;Теперь игра записывает время, за которое вы прошли 
уровень.&lt;/li&gt;&lt;li class=&quot;m&quot;&gt;Вы можете настроить стиль уровней
 PunkMania: Dark Punk Days. Он может быть либо в новом, холодном 
&quot;металлическом&quot; стиле, либо в старом, домашнем &quot;деревянном&quot;, ну или... а
 вот это уже секрет для тех, кто пройдет все уровни новой 
PunkMania)))&lt;/li&gt;&lt;li class=&quot;m&quot;&gt;Игра теперь сохраняет 
Config-файл. Это значит, что все сделанные вами изменения (пройденный 
уровень, измененная одежда панка, смена стиля уровня и т.д) сохранятся и
 при следующем запуске игры.&lt;/li&gt;&lt;b&gt;&lt;b&gt;Очень надеюсь, 
что вы оцените проделанную мной работу и получите 
удовольствие.&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/PunkMania/PunkMania - Dark Punk Days.rar.exe&quot; title=&quot;Скачать игру&quot;&gt;Скачать 
игру&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/b&gt;&lt;/b&gt;&lt;i&gt;С 
наилучшими пожеланиями, Артем Пимкин 
=)&lt;/i&gt;&lt;b&gt;&lt;b&gt;&lt;i&gt;&lt;br&gt;&lt;/i&gt;&lt;p&gt;&lt;/p&gt;&lt;/b&gt;&lt;/b&gt;&lt;/ul&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2012-03-04-61</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2012-03-04-61</guid>
			<pubDate>Sun, 04 Mar 2012 16:48:39 GMT</pubDate>
		</item>
		<item>
			<title>Библиотека 3D-графики на основе OpenGL</title>
			<description>&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 51, 0);&quot;&gt;&lt;b&gt;Анонс&lt;/b&gt;&lt;/span&gt;</description>
			<content:encoded>&lt;p&gt;&amp;laquo;Библиотека Художника-эксперта&amp;raquo; (EXLib) предназначена для работы с трёхмерной графикой для Windows на C++. Это библиотека для начинающих OpenGL-программистов, реализована с целью помочь им в изучении простейших принципов OpenGL. Документация на русском языке.&lt;/p&gt;

&lt;p&gt;Создание библиотеки начинается с идеи, ради которой библиотека должна существовать. Идея создания библиотеки пришла мне в голову, когда я увидел пример простейшей программы на &lt;a href=&quot;http://opengl.org&quot;&gt;OpenGL&lt;/a&gt;. Чтобы увидеть то, что я увидел, достаточно просто открыть простейшую среду разработки Dev-Cpp (не реклама), создать новый проект и выбрать тип &amp;laquo;OpenGL&amp;raquo;. Сколько кода! И ведь эта программа рисует всего лишь крутящийся треугольник. Мне было даже страшно представить, сколько кода потребуется ради создания простейшей 3D-игры. Стало понятно, почему программирование с OpenGL не привлекает начинающих. И тогда я решил &lt;s&gt;помучаться и&lt;/s&gt; написать библиотеку, позволяющую работать с OpenGL так же легко, как рисовать в TXLib.&lt;/p&gt;

&lt;p&gt;Основной идеей &lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/EXLibInstaller.exe&quot;&gt;библиотеки&lt;/a&gt; стало упрощение работы с OpenGL,что сделает трехмерную графику доступной для обычных &lt;s&gt;смертных&lt;/s&gt; (среди начинающих много таких, которые с радостью бы писали 3D-игры, но вынуждены были писать 2D-игры, за неимением легких для изучения 3D-инструментов).&lt;/p&gt;

&lt;p&gt;Важной стадией разработки библиотеки я считаю стадией реализации базового функционала (API). Не стоит сразу писать кучу функций. Стоит начать с одной-двух, а потом постепенно расширять их множество. Базовыми функциями стали создание окна и подготовка OpenGL к работе. Не менее важно то, что в библиотеке более понятно указываются размеры и координаты - в пикселях (в отличие от OpenGL, где они указываются более сложным для начинающих образом).&lt;/p&gt;

&lt;p&gt;После написания библиотеки, если ей будете пользоваться не только Вы, стоит подумать о документации кода. По моему мнению, самой простой, но мощной программой для этого является &lt;a href=&quot;http://www.doxygen.org/index.html&quot;&gt;Doxygen&lt;/a&gt;. Если Вы хотя бы немного знаете HTML, то эти знания Вам очень здесь пригодятся.&lt;/p&gt;

&lt;p&gt;Чтобы новичкам в создании библиотек было легче, все, что использовалось при ее создании, оставлено в папке &lt;b&gt;&amp;laquo;Dev&amp;raquo;.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Если Вы заинтересованы в создании 3D-игр, или Вам просто интересно посмотреть библиотеку, то установочный файл Вы можете найти &lt;b&gt;&lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/EXLibInstaller.exe&quot;&gt;здесь&lt;/a&gt;.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Если Вам нужна помощь на какой-нибудь стадии создания собственной библиотеки, или Вам что-то не понятно, Вы можете обратиться ко мне: &lt;a href=&quot;mailto://IDanila24@gmail.com&quot;&gt;IDanila24@gmail.com&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Примеры и скриншоты&lt;/h3&gt;

&lt;p&gt;&lt;img ilo-full-src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/Example2.jpg&quot; src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/Example2.jpg&quot; width=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Скриншот работы примера 2 (см. &lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/EXLib_Help.chm&quot;&gt;Документацию&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;img ilo-full-src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/LightSphere.jpg&quot; src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/LightSphere.jpg&quot; width=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Скриншот работы примера 3 (см. &lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/EXLib_Help.chm&quot;&gt;Документацию&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;img ilo-full-src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/ScaledSphere.jpg&quot; src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/ScaledSphere.jpg&quot; width=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Сжатая сфера. См. &lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/Examples/Sphere.zip&quot;&gt;Код и исполняемые файлы&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img ilo-full-src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/Particles.jpg&quot; src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/Particles.jpg&quot; width=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Система частиц. См. &lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/Examples/Particles.zip&quot;&gt;Код и исполняемые файлы&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img ilo-full-src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/RGBCube.jpg&quot; src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/RGBCube.jpg&quot; width=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;256*256*6 = 393216 точек. Каждая точка (x, y, z) имеет цвет RGB (x, y, z).&lt;/p&gt;

&lt;p&gt;&lt;img ilo-full-src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/RubicCube.jpg&quot; src=&quot;http://nas.ded32.ru/storage.ded32.ru/Materials/Baigushev%20-%20EXLib/Images/RubicCube.jpg&quot; width=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Кубик Рубика средствами EXLib.&lt;/p&gt;

&lt;h3&gt;Ссылки&lt;/h3&gt;

&lt;ul class=&quot;uz&quot;&gt;
 &lt;li class=&quot;m&quot;&gt;&lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/EXLib_Help.chm&quot;&gt;Документация&lt;/a&gt;&lt;/li&gt;
 &lt;li class=&quot;m&quot;&gt;&lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/EXLibInstaller.exe&quot;&gt;Скачать библиотеку&lt;/a&gt;&lt;/li&gt;
 &lt;li class=&quot;m&quot;&gt;&lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/Examples/Sphere.zip&quot;&gt;Пример &quot;Сжатая сфера&quot;&lt;/a&gt;&lt;/li&gt;
 &lt;li class=&quot;m&quot;&gt;&lt;a href=&quot;http://dl.dropboxusercontent.com/u/16586422/PUBLIC_FILES/EXLib_Files/Examples/Particles.zip&quot;&gt;Пример &quot;Машина частиц&quot;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2012-02-25-60</link>
			<category>Семинар</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2012-02-25-60</guid>
			<pubDate>Fri, 24 Feb 2012 21:15:12 GMT</pubDate>
		</item>
		<item>
			<title>Аналитический подход к довузовскому преподаванию программирования</title>
			<description>&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 51, 0);&quot;&gt;&lt;b&gt;Доклад на Всероссийском съезде учителей информатики в МГУ &lt;/b&gt;&lt;/span&gt;</description>
			<content:encoded>&lt;p align=&quot;justify&quot;&gt;&lt;strong&gt;Всероссийский съезд учителей информатики в МГУ &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;24-26 марта 2011 года, Москва, МГУ имени М.В. Ломоносова&lt;/p&gt;

&lt;p align=&quot;justify&quot;&gt;&amp;nbsp;&lt;/p&gt;

&lt;p align=&quot;justify&quot;&gt;&lt;strong&gt;Доклад на секции&lt;/strong&gt;&lt;strong&gt; 3&lt;/strong&gt; (Углубленное изучение информатики).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://it.teacher.msu.ru&quot;&gt;Сообщение о конференции&lt;/a&gt;, &lt;a href=&quot;http://it.teacher.msu.ru/sections_schedule&quot;&gt;Тематика секций&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://storage.ded32.net.ru/Lib/Doc/AnalyticApproach2010.pdf&quot;&gt;&lt;b&gt;Презентация доклада&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Тезисы доклада&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Углубленный подход к преподаванию информатики в большинстве случаев применяется в учебных заведениях или группах физико-математической на&amp;shy;правленности и предполагает курс программирования, что связано с дальней&amp;shy;шим обучением по этому профилю в ВУЗе. В большинстве случаев способом реализации курса является решение большого количества изолированных алго&amp;shy;ритмических задач (так называемый олимпиадный подход).&lt;/p&gt;

&lt;p&gt;Однако, если ограничиваться только этим и игнорировать современные тен&amp;shy;денции развития процесса разработки программного обеспечения, может полу&amp;shy;читься, что даже успешный олимпиадник будет испытывать серьезные пробле&amp;shy;мы с успешностью при попытках выйти за пределы олимпиадной стилистики. Это связано с тем, что участие в разработке ПО, как для научных целей, так и в качестве инженерной профессии &amp;ndash; процесс проектно-ориентированный, а это требует многих качеств, которые в олимпиадном подходе не нужны и, как след&amp;shy;ствие, не развиваются.&lt;/p&gt;

&lt;p&gt;В результате характерный для каждой профессии диссонанс между &amp;laquo;тем, чему учили&amp;raquo;, &amp;laquo;тем, что надо в работе&amp;raquo;, описывается непустым множеством образова&amp;shy;тельных разрывов, которые в настоящее время учащийся и студент должен пре&amp;shy;одолевать сам, и которые составляет его личный опыт. Такая ситуация сущест&amp;shy;вует и в школе, и в ВУЗе. В то же время, большинство разрывов типичны и лег&amp;shy;ко обнаруживаются в ходе внимательного анализа.&lt;/p&gt;

&lt;p&gt;Цель данной работы &amp;ndash; проанализировать образовательные разрывы и постро&amp;shy;ить курс таким образом, чтобы минимизировать эти разрывы и максимизиро&amp;shy;вать набор конструктивного положительного опыта, не ограничивающимся лишь конкретными приемами, шаблонами и средствами. Это позволяет уча&amp;shy;щимся в дальнейшем ориентироваться в меняющемся мире ИТ-технологий, ко&amp;shy;торые часто успевают развиться и умереть до того, как по ним выйдет первый учебник. В таких условиях главная учебная задача, и не только в сфере ИТ, &amp;ndash; научить студента действовать грамотно и самостоятельно. Под грамотностью здесь понимается умение классифицировать проблемы, знать типовые решения, выбирать из них спектр адекватных решений, комбинировать их, придумывать новые решения, контролировать качество, мыслить не рецептами, а как мини&amp;shy;мум технологиями [1].&lt;/p&gt;

&lt;p&gt;Для этого автором вводится понятие когнитивно-технологической единицы (КТЕ), как единицы действительного усвоения знаний, определенной следую&amp;shy;щим образом [2]:&lt;/p&gt;

&lt;ol class=&quot;uz&quot;&gt;
 &lt;li&gt;Зачем это надо,&lt;/li&gt;
 &lt;li&gt;Что это такое,&lt;/li&gt;
 &lt;li&gt;На чем основано и с чем связано,&lt;/li&gt;
 &lt;li&gt;Как это применять,&lt;/li&gt;
 &lt;li&gt;Где это можно и где нель&amp;shy;зя использовать,&lt;/li&gt;
 &lt;li&gt;Чем придется пожертвовать,&lt;/li&gt;
 &lt;li&gt;Что будет, если этого не делать,&lt;/li&gt;
 &lt;li&gt;Какие в этом &amp;laquo;подводные камни&amp;raquo; (чего опасаться).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Разработанный курс рассчитан на учащихся 7(8) &amp;ndash; 10(11) классов, нагрузку минимум 4 учебных часа в неделю и систему факультативов. Он учитывает раз&amp;shy;нородную предвари&amp;shy;тельную подготовку учащихся, и тот факт, что часть из них не изучали информатику и программирование во&amp;shy;все. По этой причине в начале курса преподавание ведется &amp;laquo;с нуля&amp;raquo;, в предположении, что учащийся не обла&amp;shy;дает какими-либо специаль&amp;shy;ными знаниями в области программирования. По этой причине используются следующие принципы:&lt;/p&gt;

&lt;ol&gt;
 &lt;li&gt;Во главу угла ставится задача, понимаемая как часть проекта, и, главное, путь от задачи к решению, а не кодирование алгоритма.&lt;/li&gt;
 &lt;li&gt;Для записи алгоритма на языке программирования выбирается минимальное подмножество средств языка, чтобы не акценти&amp;shy;ровать внимания на кодирова&amp;shy;нии и для более легкого перехода на другие языки программирования.&lt;/li&gt;
 &lt;li&gt;Самостоятельность решения является ключевым условием, которое необхо&amp;shy;димо доказать при сдаче работы.&lt;/li&gt;
 &lt;li&gt;Понимание учащимся тех средств, с помощью которых он решил задачу, ста&amp;shy;вится выше уровня самих средств решения.&lt;/li&gt;
 &lt;li&gt;Аккуратность и надежность решения ставятся выше &amp;laquo;программистских трю&amp;shy;ков&amp;raquo;, иногда позволяющих в отдельных слу&amp;shy;чаях добиться несколько лучших результатов.&lt;/li&gt;
 &lt;li&gt;Задачи ставятся в нескольких вариантах различной сложности (от базового до творческого), при сдаче работы засчитыва&amp;shy;ется решение на любом уровне (но удовлетворяющее п. 2-4). Уровень сложности фиксируется и использу&amp;shy;ется как дополнительная информация к оценке, для выяснения и повышения уровня профес&amp;shy;сионализма ученика.&lt;/li&gt;
 &lt;li&gt;Главным методологическим принципом является системный подход.&lt;/li&gt;
 &lt;li&gt;В обучении активно применяются парные и групповые техники (обмен кодом и документацией, перекрестные peer review и тестирование, групповая разра&amp;shy;ботка стандартов взаимодействия участников проекта). Эти же техники ис&amp;shy;пользуются при подготовке е ЕГЭ по информатике.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Важнейшей задачей курса является формирование системы профессиональ&amp;shy;ных ценностей (предпочтений) ученика. В конеч&amp;shy;ном счете, это формирование и есть основная инвариантная методологическая задача курса, так как все осталь&amp;shy;ное &amp;ndash; технология и будет неотвратимо изменяться с течением времени.&lt;/p&gt;

&lt;p&gt;Принятый подход, ориентированный на проектную работу, сильно увлекает многих учеников и дает не только высокие проектные результаты (призовые места на Всероссийских и международных конкурсах), но и высокие олимпиадные (победителей и призеров Всероссийского и регионального уровня). Однако надо отметить, что он не совпадает с традиционным подходом (ставящим во главу угла олимпиадное программирование) и не всегда одобряется приверженцами чисто олимпиадного подхода, которые зачастую хотят получить ученика &quot;целиком и полностью&quot; и воспринимают проектную работу такого уровня как конкуренцию. Тем не менее, действительно сильные олимпиадные школы России видят в нем большую перспективу &lt;a href=&quot;http://ded32.net.ru/news/2009-04-04-32&quot;&gt;(см., напр., письмо СПбГУ ИТМО).&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Результатом прохождения курса становится не только понимание основных принципов программирования и владение основными алгоритмическими кон&amp;shy;струкциями, но и серьезные концептуальные и технологические навыки, позво&amp;shy;ляющие самостоятельно разрабатывать проекты достаточно большого для школьников объема (порядка курсовой работы 2-3 курса ВУЗа), успешно рабо&amp;shy;тать в групповых проектах, требующих активного взаимодействия участников, а некоторым &amp;ndash; участвовать и побеждать в различных конкурсах Всероссийского и международного уровней, участвовать в научных конференциях РАН.&lt;/p&gt;

&lt;h4&gt;Методическое обеспечение, разработанное для поддержки курса&lt;/h4&gt;

&lt;p&gt;Для первых двух лет обучения (7-8, 8-9 класс), где мотивация наиболее критична, автором разработана компактная библиотека двумерной графики для Win32 на С++, намеренно выдержанная в стиле сугубого минимализма &lt;a href=&quot;http://ded32.net.ru/load/1-1-0-4&quot;&gt;&lt;b&gt;(TX Library).&lt;/b&gt;&lt;/a&gt; Это небольшая &quot;песочница&quot; для начинающих, реализованная с целью помочь им в изучении простейших принципов программирования. Она также является методическим учебным пособием для обучения основам программирования на С++. Библиотека позволяет писать прямолинейный графический код, не заботясь о событийной модели приложений в Win32. Имеется система помощи на русском языке, не требуется компоновки с внешними библиотеками.&lt;br /&gt;
&lt;br /&gt;
Философия TX Library - облегчить первые шаги в программировании и подтолкнуть к творчеству и самостоятельности. Исходный текст библиотеки может использоваться для иллюстрации элементарных приемов работы с окнами Windows, механизмом сообщений Win32, графикой, работой с меню, растровыми образами, простейшей многопоточностью.&lt;/p&gt;

&lt;h4&gt;Предупреждение, или TXLib - это всего лишь инструмент&lt;/h4&gt;

&lt;p&gt;Библиотека TXLib - это всего лишь инструмент для того, чтобы облегчить первые шаги в программировании. Однако этот инструмент, как и любой другой, может быть применен неправильно. (Тем не менее, в основу TXLib заложены некоторые принципы, помогающие конструктивному неиллюзорному обучению.)&lt;br /&gt;
&lt;br /&gt;
Сама по себе любая библиотека или язык программирования не научит начинающего писать программы грамотно. Научит этому разработка своих, достаточно больших проектов, в сочетании с тесным общением профессионалов, желающих помочь начинающим. Такие профессионалы должны обладать и опытом разработки больших программ, и педагогическими навыками, чтобы передать свой опыт начинающим. К сожалению, не всегда это совпадает. Профессионалы-программисты зачастую не хотят лезть в обучение, где хватает своих проблем. С другой стороны, недобросовестные учителя, иногда даже в сильных школах и курсах, хватаются за удобные им инструменты обучения (чужие или свои библиотеки, среды и языки программирования), не удосуживаясь следить за &lt;a href=&quot;http://www.google.ru/search?q=literate+programming&quot;&gt;качеством кода обучаемых, за стилем и направлением их мышления,&lt;/a&gt; ограничиваясь лишь видимостью обучения. Такие образовательные иллюзии очень вредны. Заметны они становятся достаточно поздно, когда выясняется, что ученик, легко пишущий небольшие программы (пусть даже логически насыщенные, олимпиадные), принципиально не способен написать что-то большее, путается в коде, а другие, в том числе и профессионалы, его не понимают в силу спутанности его мышления и неумения внятно выразить мысли на уровне современных стандартов. Чтобы преодолеть этот барьер, воздвигнутый нерадивым преподавателем (или вашей собственной нерадивостью), приходится серьезно и самостоятельно переучиваться - иногда будучи уже студентом или аспирантом. Либо смириться и &quot;носить кофе программистам&quot;.&lt;br /&gt;
&lt;br /&gt;
Искусство программирования - это искусство мышления, не надо это забывать, &lt;i&gt;дорогие преподаватели и учащиеся.&lt;/i&gt;&lt;/p&gt;

&lt;h4&gt;Принципы, заложенные в TXLib для повышения качества обучения&lt;/h4&gt;

&lt;p&gt;&lt;b&gt;Сделай сам.&lt;/b&gt; В TXLib многие вещи сделаны или оставлены не совсем удобными для применения. Это - предложение подумать, как сделать это самому, и, как правило, для этого в TXLib есть средства. Сделав, покажите решение другим, если они быстро поймут его и оценят - ваше решение удачное.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Загляни в &lt;a href=&quot;http://storage.ded32.net.ru/Lib/TX/TXUpdate/Doc/HTML.ru&quot;&gt;Help.&lt;/a&gt;&lt;/b&gt; (Слово неспроста выбрано английским, потому что большинство информации в современном программировании - на английском языке. Учите его.) Под системой помощи понимается не только TXLib Help, но и весь &lt;a href=&quot;http://google.com/&quot;&gt;Internet&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Посмотри, как сделано.&lt;/b&gt; Загляни в код библиотеки. Он создавался в том числе как пример программной системы со своей логикой и со своей реализацией, а некоторые функции можно понять только по коду, потому что их нет в системе помощи. Не всегда решения, примененные в TXLib оптимальны даже с точки зрения автора - он надеется, что это убережет желающих обучиться качественно, но нетерпеливых учеников, от [Ctrl+C и Ctrl+V] плагиата.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Посмотри, как сделано иначе.&lt;/b&gt; TXLib - не единственная графическая библиотека, и реализация &quot;простого графического холста&quot;, примененная в ней - не единственное решение. Посмотрите как устроены десятки других графических библиотек. Но &lt;i&gt;избегайте плохого кода&lt;/i&gt; (его можно определить по тому, как морщатся профессионалы, глядя на него, если у вас нет более объективных средств такого определения) - он научит вас плохому. Хороший, но сложный код (глядя на него, профессионалы не морщатся, а начинают изучать) - отложите до времени и вернитесь к нему позже.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Выйди за пределы &quot;песочницы&quot;.&lt;/b&gt; Это усиление принципа &quot;сделай сам&quot; - &quot;cобери вместе свои мысли про хорошую библиотеку, посмотри, как устроен TXLib и его аналоги, сделай свою библиотеку, лучше TXLib&apos;а.&quot; Примеры таких библиотек можно найти на сайте TXLib и в Интернете, и некоторые из них сделаны как раз начинающими.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Литература&lt;/b&gt;&lt;/p&gt;

&lt;ol&gt;
 &lt;li&gt;Хант Э., Томас Д. Программист-прагматик. Путь от подмастерья к мастеру. &amp;ndash; СПб, Питер, 2007. &amp;ndash; 288 с.&lt;/li&gt;
 &lt;li&gt;Дединский И. Р. Как хотеть учиться. // Компьютерра. &amp;ndash; 2005. &amp;ndash; № 24.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr size=&quot;2&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;В настоящее время позиция администрации лицея не позволяет говорить на данном сайте о состоянии преподавания информатики и профильной информатики в лицее. &lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;!--&lt;div align=&quot;left&quot;&gt;&lt;br&gt;&lt;span class=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;b&gt;В связи с этим из СПбГУ ИТМО в отдел образования было направлено &lt;a title=&quot;письмо&quot; href=&quot;http://ded32.net.ru/news/2010-09-10-55&quot;&gt;письмо в защиту инновационной работы&lt;/a&gt;.&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;--&gt;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2011-04-03-58</link>
			<category>Etc</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2011-04-03-58</guid>
			<pubDate>Sun, 03 Apr 2011 17:40:37 GMT</pubDate>
		</item>
		<item>
			<title>Программа конференции 2011 г., секция Computer Science</title>
			<description>&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 51, 0);&quot;&gt;Отдел образования Юго-Западного округа г.
Москвы&lt;br&gt;В рамках проектной деятельности в программировании
проводит&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana; color: rgb(153, 51, 0); font-size: 12pt;&quot;&gt;&lt;b&gt;СЕКЦИЮ
COMPUTER SCIENCE&lt;br&gt;В рамках конференции проектных и
исследовательских работ.&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana; font-size: 10pt; color: rgb(153, 51, 0);&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Четверг, 20 января 2011 года, 9&lt;sup&gt;00&lt;/sup&gt;&lt;br&gt;Актовый
зал&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://storage.ded32.net.ru/Materials/ComputerSciencePresentations-2011.htm&quot;&gt;&lt;b&gt;Материалы
секции
 Computer
Science 2011 г.&lt;/b&gt;&lt;/a&gt;&lt;br&gt;</description>
			<content:encoded>&lt;!-- &lt;a 
href=&quot;http://storage.ded32.net.ru/Materials/ComputerSciencePresentations-2011.htm&quot;&gt;&lt;h2&gt;&lt;b&gt;Материалы
докладов

 секции Computer
Science 2011 г.&lt;/b&gt;&lt;/h2&gt;&lt;/a&gt; --&gt;&lt;br&gt;&lt;a href=&quot;http://storage.ded32.net.ru/Materials/ComputerScienceSection-2011.htm&quot;&gt;&lt;b&gt;Информационное

 сообщение и тезисы секции Computer
Science 2011 
г.&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=&quot;2&quot;&gt;&lt;br&gt;&lt;a href=&quot;http://storage.ded32.net.ru/Materials/ComputerSciencePresentations-2011.htm&quot;&gt;&lt;b&gt;Материалы
секции
 Computer
Science 2011 г.&lt;/b&gt;&lt;/a&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;h3&gt;9&lt;sup&gt;00&lt;/sup&gt; – 12&lt;sup&gt;00&lt;/sup&gt;&lt;/h3&gt;&lt;ul class=&quot;uz&quot;&gt;&lt;li style=&quot;&quot;&gt;Рязановский Данила (8). Реализация системы частиц для задач компьютерной графики.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Лушковский Сергей, Сквирский Валентин (7В). Моделирование движения тел на разных планетах.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Петряйкин Федор (10В). Разработка DICOM-ассистента, осуществляющего функцию вычитания томографических изображений.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Пономарев Олег (11А). Дизайн и эволюция архитектуры универсального построителя фракталов TBG Fractal.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Столяров Леонид (10В). Трёхмерная визуализация высокодетализированных ландшафтов большого размера в графическом движке XEngine.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Татаринов Андрей (nVidia Corporation). Алгоритм Reyes для кинематографической визуализации трехмерных сцен с использованием DirectX 11.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;12&lt;sup&gt;20&lt;/sup&gt; – 14&lt;sup&gt;20&lt;/sup&gt;&lt;/h3&gt;&lt;ul class=&quot;uz&quot;&gt;&lt;li style=&quot;&quot;&gt;Дедков Антон, Шевелев Александр (11А). Quffman: кроссплатформенная реализация алгоритма сжатия информации с использованием кода Хаффмана.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Янушковский Владимир (11В). Cudaffman: алгоритм сжатия по Хаффману с применением технологии nVidia CUDA.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Смирнов Илья (11А). NanoGCC: система символьного преобразования выражений и оптимизирующей компиляции в байт-код.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Меркулов Алексей (Институт системного программирования РАН). Эмуляция трёхмерной графики в QEMU.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Уваров Никита (9В). Разработка библиотеки анализа исходного кода программ на языке С.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Шаповалов Иван (8В). Разработка JIT-компилятора арифметических и логических выражений для платформы Intel x86.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Платонов Владимир (Институт системного программирования РАН). Разработка и реализация системы автоматизации программирования для программируемых логических интегральных схем.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;14&lt;sup&gt;40&lt;/sup&gt; – 16&lt;sup&gt;40&lt;/sup&gt;&lt;/h3&gt;&lt;ul class=&quot;uz&quot;&gt;&lt;li style=&quot;&quot;&gt;Шемарин Антон (8В). Разработка виджета для ОС Android.&lt;br&gt;&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Андриенко Матвей (11В). Разработка системы управления сайтом, ориентированной на содержимое.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Пимкин Артем (8В). Этапы создания двумерной игры на С++.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Байтеков Никита (8В). Алгоритм морфемного анализа русских слов.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Никифоров Дмитрий (9В). Компьютерный анализ шумового фона в аудитории.&lt;/li&gt;&lt;li style=&quot;&quot;&gt;Башлыков Леонид (11А). Экспертная система диагностики проблем подключения к интернету.&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;http://storage.ded32.net.ru/Materials/ComputerScienceSection-2011.htm&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;font size=&quot;2&quot;&gt;&lt;a href=&quot;http://storage.ded32.net.ru/Materials/ComputerSciencePresentations-2011.htm&quot;&gt;&lt;b&gt;Материалы
секции
 Computer
Science 2011 г.&lt;/b&gt;&lt;/a&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2011-01-16-57</link>
			<category>Конференция</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2011-01-16-57</guid>
			<pubDate>Sun, 16 Jan 2011 15:00:32 GMT</pubDate>
		</item>
		<item>
			<title>Работа Л. Столярова, Ф. Петряйкина, Н. Уварова представлена на международной конференции Object Systems</title>
			<description>&lt;span style=&quot;font-family: Verdana; font-size: 8pt; color: rgb(153, 51, 0);&quot;&gt;&lt;b&gt;Object Systems 2010 - Вторая международная научно-практическая конференция &quot;Объектные Системы - 2010 (Зимняя сессия)&quot;&lt;/b&gt;&lt;/span&gt;</description>
			<content:encoded>&lt;p&gt;Работа Л. Столярова (10 класс), Ф. Петряйкина (10 класс), Н. Уварова (8 класс) &quot;Разработка платформы для автоматного моделирования и проведения соревнований автоматных интеллектов с трехмерной визуализацией&quot; принят на Object Systems 2010 - Вторую международную научно-практическую конференцию &quot;Объектные Системы - 2010 (Зимняя сессия)&quot; (10–12 ноября 2010 г , Россия, Ростов-на-Дону) и опубликован в сборнике трудов конференции.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://objectsystems.ru&quot;&gt;Это не мероприятие образовательного уровня.&lt;/a&gt;&lt;/b&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;tt&gt;&lt;font size=&quot;-1&quot;&gt;From: Conference &quot;ObjectSystems&quot; &lt;conf@objectsystems.ru&amp;gt;&lt;br&gt;To: ... lnd1212%rambler.ru, ...&lt;br&gt;Subject: Сборник конференции Объектные системы - 2010 (Зимняя сессия) &lt;br&gt;&lt;br&gt;Уважаемые авторы, друзья, коллеги, поздравляю вас с выходом в свет материалов конференции &quot;Объектные системы - 2010 (Зимняя сессия)&quot;, которые вы можете скачать по адресу:&lt;br&gt;&lt;a href=&quot;http://www.objectsystems.ru/files/Sertificates2010_2/Object_Systems_2010_Winter_Session_Proceedings.pdf&quot;&gt;http://www.objectsystems.ru/files/Sertificates2010_2/Object_Systems_2010_Winter_Session_Proceedings.pdf&lt;/a&gt;...&lt;/font&gt;&lt;/tt&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://objectsystems.ru&quot;&gt;&lt;b&gt;Программа конференции&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Публикация в &lt;a href=&quot;http://www.objectsystems.ru/files/Sertificates2010_2/Object_Systems_2010_Winter_Session_Proceedings.pdf&quot;&gt;сборнике трудов конференции (см. стр. 75):&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://is.ifmo.ru/works/_2010_12_25_stoljarov.pdf&quot;&gt;&lt;b&gt;Столяров Л.В.,&amp;nbsp; Петряйкин Ф.А., Уваров Н.С. Разработка платформы для автоматного моделирования и проведения соревнований автоматных интеллектов с трехмерной визуализацией // Объектные системы - 2010: материалы II Международной научно-практической конференции. Россия, Ростов-на-Дону, 10-12 ноября 2010 г., Ростов-на-Дону, 2010. С. 75-82.&lt;/b&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;Сертификаты участия: &lt;a href=&quot;http://www.objectsystems.ru/files/Sertificates2010_2/ObjectSystems_2010_Winter_Session_Leonid_Stolyarov.png&quot;&gt;Л. Столяров,&lt;/a&gt; &lt;a href=&quot;http://www.objectsystems.ru/files/Sertificates2010_2/ObjectSystems_2010_Winter_Session_Fedor_Petryaykin.png&quot;&gt;Ф. Петряйкин,&lt;/a&gt; &lt;a href=&quot;http://www.objectsystems.ru/files/Sertificates2010_2/ObjectSystems_2010_Winter_Session_Nikita_Uvarov.png&quot;&gt;Н. Уваров.&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;http://ded32.net.ru/news/2010-04-18-51&quot;&gt;&lt;b&gt;Страница проекта&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://txlib.wiki.sourceforge.net/Auto2Kill&quot;&gt;&lt;b&gt;Каноническая страница проекта Auto2Kill на SourceForge&lt;br&gt;&lt;br&gt;&lt;/b&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;</content:encoded>
			<link>https://ded32.net.ru/news/2010-12-20-56</link>
			<category>Etc</category>
			<dc:creator>ded32</dc:creator>
			<guid>https://ded32.net.ru/news/2010-12-20-56</guid>
			<pubDate>Mon, 20 Dec 2010 20:22:10 GMT</pubDate>
		</item>
	</channel>
</rss>