на школьную страницу...

Что такое компьютерные науки?

Языки программирования
Алгоритмы и структуры данных
Архитектура компьютеров
Базы данных
Операционные системы
Компьютерная графика
Информационная безопасность и криптография
Искусственный интеллект

Языки программирования

Сколько языков надо знать в приличном обществе?

Фортран, Алгол (Алгол-60 и Алгол-68), ПЛ-1, Lisp, Снобол, Паскаль (Delphi), Basic, Forth, С/С++, Prolog, Ada, Ява, C#, Perl, PHP, Python, Ruby, SQL? Про ассемблер (точнее ассемблеры) уж вообще молчу. Зачем столько? А есть ещё и диалекты: Visual C++ заметно отличается от gcc.

Языки развиваются, появляются новые. Не один раз пытались создать один язык «на все случаи жизни». Не все эти попытки провалились. Например, ПЛ-1 и Ada можно считать сравнительно успешным проектами. Тем не менее, единого языка так и нет.

Чем отличается один язык от другого? Зачем и почему все время появляются новые? Когда это кончится и доколе?

Слабая/сильная/полная типизация. Объекты.

Среды программирования универсальные и для отдельного языка. Отладчики. Интеграция среды и отладчика. Методы отладки.

Встроенные и внешние библиотеки. Интеграция с другими языками программирования. Работа в разных операционных системах.

Методы компиляции программ на различных языках. Оптимизирующие компиляторы.

Алгоритмы и структуры данных

Мало знать язык (языки) программирования. Надо ещё знать и многие стандартные структуры данных и алгоритмы.

Массив, список, двусвязный список, очередь, стек, дерево (бинарное, сбалансированное и пр.). Многомерные массивы (плотные и разреженные) и методы индексации.

Сортировка, поиск (линейный, бинарный, через хэш-функции). Алгоритмы быстрого поиска строки, поиск «похожих строк».

Комбинаторика: множества и подмножества, генерация перестановок, сочетаний и т.п.

Датчики случайных чисел.

Математика: комплексные числа, кватернионы. Вектора, матрицы, многочлены. Работа с числами произвольной длины.

Методы избыточного кодирования: обнаружение и исправление ошибок.

Методы работы архиваторов.

Кодирование текста: cp-1251, UTF-8, Unicode.

Архитектура компьютеров

  • Цифровая логика, булева алгебра, теория кодирования и конечных автоматов.
  • Способы выполнения арифметических операций, кэш-память.
  • Организация виртуальной памяти.
  • Машины фон Неймана, RISC/CISC-компьютеры. VLIW (Very Long Instruction Word).
  • Параллельные архитектуры, SIMD/MIMD.
  • Компьютерные сети.



Базы данных

Какие бывают базы данных:
  • Иерархическая
  • Объектная и объектно-ориентированная
  • Объектно-реляционная
  • Реляционная
  • Сетевая
  • Функциональная

Чем одна модель лучше другой? Как использовать каждую из моделей? Как работать с базой данных на выбранном языке программирования? Как работать с базой данных через интернет?

Язык SQL и его диалекты.

Как создать/изменить базу данных? Как правильно выбрать структуру базы? Создание и использование индексов. Особенности работы в «реальном времени».

Как поведет себя база данных при росте объема в тысячу раз? в миллион? в миллиард? Где хранить данные? Что делать, если база «сломалась»? Как организовать работу, чтобы быстро её восстановить после сбоя или отказа оборудования?



Операционные системы

  • Загрузчик
  • Ядро
  • Командный процессор
  • Драйверы устройств
  • Встроенное программное обеспечение
  • Пакетный режим
  • Разделение времени и многозадачность
  • Разделение полномочий
  • Масштаб реального времени
  • Файловые системы и структуры



Компьютерная графика

  • Цветовое пространство (RGB, CMYK, …)
  • Растровая и векторная графика.
  • Палитра.
  • Форматы графических файлов. bmp, jpg, gif, tiff, png, jpeg2000, djvu.
  • Выбор подходящего формата для различных изображений.
  • Анимация, спрайты, фракталы.
  • Форматы видео-файлов: mp4, avi, mkv. H263, H264, V4W.
  • 3d-графика. WRML. Моделирование, текстурирование, освещение, анимация, рендеринг.
  • Стереоизображения.



Информационная безопасность и криптография

Какое отношение имеет гипотеза Римана о нулях дзета-функции
к безопасности отправки в банк платежного поручения по интернету?

«Эллиптической кривой E, определенной над конечным простым полем Fp (где p>3 - простое число), называется множество пар чисел (x,y), x, y из Fp, удовлевторяющих тождеству

y2 = x3 + ax + b (mod p),
где ...»

Именно так начинается содержательная часть ГОСТа Р 34.10-2012, на который ссылается закон РФ «Об электронной цифровой подписи». Этот ГОСТ обязателен на всей территории РФ и все юридически значимые электронные подписи строятся в соответствии с ним.

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

А тогда, - «Эх, надо было соломки подстелить», заранее разобраться.

Простоварцыоды варикмопу криптография прокоцу вартинале о"комборатоф кориандр аошыюуд щыу дыдыру 739/101 водщырз ьмыды уодцрыр:). И даже ещё больше.

Какой пароль, по вашему более надежен при вводе его с клавиатуры:

  1. 12345
  2. 19980324
  3. z4g$ae#3o
  4. 000000000000011111111eoe
  5. kwidh$l34#0*dkz_ds=zkjs_!j2SaAlz.Dyd+,qljlm1bslLlsp/e,zm:J5HilsiO*f$&

Секретный пароль, в соответствии с ГОСТ Р 34.10-2012 имеет длину более 256 битов, то есть более 78 десятичных цифр. Как его запомнить?

Как вам нравится реклама:

Вам надоело каждые три месяца придумывать новые пароли к Вашему банковскому счету?
Нашими экспертами придуманы для Вас более сотни новых, абсолютно невзламываемых паролей на все случаи жизни. Просто отправь 'ПАРОЛЬ' на короткий номер '111'!

Где Windows хранит пароли пользователей?

Я упаковал свои файлы в архив с паролем и забыл его. Как быть?

Как расшифровать сообщение, зашифрованное по ГОСТ 28147-89, не зная пароля? ОЧЕНЬ надо!

Я записал пароль на листок и положил его под клавиатуру, а теперь его там нет. Где мне его искать?

Я заменяю на работе своего заболевшего напарника. Где мне найти его пароль для входа в систему?

Курс «Информационная безопасность», читаемый для студентов факультета математики и компьютерных наук ИвГУ, охватывает следующие темы:


Искусственный интеллект

Есть ли жизнь на Марсе? Может ли машина мыслить? Не будем вдаваться пока в такие дебри. Возьмемся за более конкретные вопросы и задачи.
  • На этих двух фотографиях один и тоже человек или два разных? А если на одной фотографии человеку 5 лет, а на другой – 55?
  • Имеется база из миллиона фотографий. Есть ли в ней человек с новой фотографии?
  • Имеется стереоизображение ящика с деталями. Как надо управлять рукой робота, чтобы он взял нужную деталь?
  • Ракета летит на цель и смотрит на нее через видеокамеру. Как отличить настоящую цель от нескольких ложных? Причем времени у нас – 1/30 секунды (до следующего кадра).
  • Написать программу, управляющую взлетом, полетом и посадкой самолета без летчика.
  • Написать программу, управляющую автомобилем при поездке по городу без водителя.
  • Я нашел интересную книжку. Как мне найти в интернете похожие? И что значит «похожие»?
  • Студент на экзамене в ответ на вопрос написал 10 страниц текста. Как понять, он правильно ответил или нет?
  • Как перевести текст с португальского языка на арабский?
  • Имеются рентгеновские снимки человека + кардиограммы + энцефалограммы + результаты различных анализов. Чем он болен и как его лечить?

Более формально, искусственный интеллект, это:

  • Сегментация, распознавание, классификация и обработка изображений;
  • Анализ медицинских изображений;
  • Представление знаний;
  • Методы поиска информации;
  • Машинное обучение;
  • Интеллектуальный анализ данных;
  • Обработка естественного языка;
  • И многое другое.


С.И.Хашин

Flag Counter