о курсах
регистрация поступающихначальное отделение программирования<br> (4-8классы)основное отделение программирования<br>(8-12классы)KypcoWeekолимпиады
новости >
Новый спецкурс "Язык С и обработка данных".02.09.2008 20:30
     
     Ю.Моисеенко
     Автор статьи – выпускник наших курсов 2003 года. Работает преподавателем с сентября 2004 года. Учится в RTU на 2-ом курсе профессиональной магистратуры на факультете DITF (Datorzinatnes un Informacijas Tehnologijas Fakultate). Работает в фирме Softikom программистом на С.
     
     Основной объект курса - потоки данных, главным образом двоичные и текстовые. Теоретическая часть курса посвящена рассмотрению некоторых подходов к построению алгоритмов, базовых идей и концепций обработки потоков данных. Изучаются различные алгоритмы и их реализация, в процессе построения реализаций в курсе появляется ряд нетривиальных структур данных.
     Курс включает следующие сюжеты:
     1. Работа с битами, специфика работы с битами на C; синхронная и асинхронная обработка битотового потока.
     2. Форматы передачи и хранения данных, например, формат передачи данных для электронной почты.
     3. Контрольные суммы для обнаружения повреждения или непредумышленного замещения данных при передаче или хранении (некриптографические хеш-функции), в частности, рассматриваются CRC-коды, их реализация и устойчивость.
     4. Различные алгоритмы сжатия без потерь (архивации) и их реализация на языке С. Здесь рассматриваются всевозможные подходы, применяемые в современных архиваторах, в частности: статистическое сжатие (например, построение префиксного кода методом Хаффмана), арифметическое сжатие, блочное кодирование (преобразование Барроуза-Уилера и методы, используемые совместно с ним), словарные методы сжатия данных (различные варианты алгоритма Зива-Лемпеля).
     Для реализации алгоритмов выбран язык программирования C. Эффективность C, характерный для него набор инструкций управления и структур данных обусловили именно такой выбор.
     Предварительных знаний языка C не требуется. Необходимый предварительный минимум – базовые 5 семестров.
     В смысле изучения языка C курс представляет альтернативу традиционному спецкурсу "C. Unix". При этом курс построен так, что на протяжении всех частей курсант будет постепенно изучать сам язык С и учиться использовать его. Это означает, что на этот спецкурс могут поступать и те, кто уже знает собственно язык С - у них появляется возможность взглянуть на него с иных позиций, увидеть другой класс характерных применений C и, сравнивая с уже им известными, в конечном счёте более тонко понять, почувствовать язык, глубже освоить (весьма содержательные) структуры данных, применяемые в реализации изучаемых алгоритмов.
     Спецкурс, можно сказать, является "платформенно-независимым" - курсанты будут разрабатывать программы под Unix, но перенос их на платфому Windows (или какую-либо другую) не составляет никаких трудностей.
     

о курсах | новости | основное отделение программирования
(8-12классы)
| начальное отделение программирования
(4-8классы)

олимпиады | вопросы и ответы | фото | на главную
Copyright © 1999-2012 SIA Progmeistars. All rights reserved.