Personal tools
You are here: Home Members lich's Home Темы курсовых работ

Темы курсовых работ

Темы курсовых работ для второкурсников.

1. Обнаружение узлов в сети. Инструмент.

Имеется сеть, состоящая из коммутаторов и компьютеров. Есть необходимость по MAC или IP адресу компьютера определить его физическое местонахождение - коммутатор и номер порта, в который воткнут искомый компьютер.
Задача: реализовать подобную утилиту.
Технологии: snmp, bridge-mib, automake/autoconf, networking, TCP/IP.
Языки: C/C++ или по согласованию.

2. Обнаружение узлов в сети. Обзор.

Имеется сеть, состоящая из коммутаторов и компьютеров. Есть необходимость по MAC или IP адресу компьютера определить его физическое местонахождение - коммутатор и номер порта.
Задача: сделать подробный обзор имеющихся утилит.

3. Сетевая безопасность

(берет Чередник)
Есть веб сайт, который аутентифицирует пользователей (например, ВКонтакте). Изучить какой-нибудь подобный ресурс на предмет безопасности, описать возможные технические (не социальная инженерия) способы получить доступ к чужим данным.
Задача: описать возможные методы и способы защиты (!) от них.
Технологии: стек TCP/IP, криптография, SSL, sniffing.

4. Модель разработки Open Source

Выбрать какой-нибудь активно развивающийся проект с открытым исходным кодом, реализовать в нем что-нибудь толковое и добиться принятия патчей в основную ветку разработки.
Можно попробовать свои силы в проекте wine.

5. Поисковики по сайтам интранет

(берет Филатов)
В компании есть веб сайт, по которому необходимо осуществлять поиск. В качестве быстрого решения можно пользоваться Гуглом с параметром site:www.example.com, но в таком случае недавние изменения не будут учтены. Поэтому внедряется отдельная система индексирования и поиска.
Задача: сделать подробный обзор таких систем.

6. Многопоточное программирование

Имеется большой пул небольших задач и несколько вычислительных элементов (процессоров). Требуется раскидать эти задачи на процессоры таким образом, чтобы все процессоры были заняты и не простаивали.
Задача: реализовать подобную систему. Изучить или придумать способы межпоточного взаимодействия, реализовать и сравнить их. Например, нити могут общаться между собой при помощи сокетов, неименованных каналов, рукописных очередей, и т.п.
Технологии: thread, mutex, semaphore, queue, lock-free interaction.

7. Базы данных (2 человека?)

Требуется реализовать простую, но эффективную систему выполнения SQL запросов на чтение.
1) модуль высокого уровня выполняет взаимодействие с пользователем и некоторые реляционные операции.
2) модуль низкого уровня отвечает за построение индекса и выполнение некоторых реляционных операций.
Языки: C/C++ или по согласованию.
Технологии: реализация SQL, индексирование БД, деревья.

8. Роутер

Современные коммутаторы и маршрутизаторы предоставляют администратору специальный консольный интерфейс для конфигурирования, называемый cisco-style CLI (command-line interface). Имеется компьютер (скорее всего, это будет виртуалка с линуксом на борту) с несколькими сетевыми интерфейсами, выполняющий роль маршрутизатора. Требуется сделать из компьютера маршрутизатор: снабдить его CLI и конфигуратором интерфейсов.
Языки: C/C++ или по согласованию.
Технологии: cisco-style CLI


В качестве решения обзорных задач ожидается подробный отчет листов на 4-6 (или больше) с итоговой таблицей.
От задач на программирование (кроме "модели разработки Open Source") ожидается ХОРОШИЙ код в специальном svn-репозитории.
Document Actions