LINUX.ORG.RU
ФорумTalks

Тема курсовой/дипломной


0

0

Навеяно предыдущей темой про диссертацию. Я сейчас на 4-ом курсе (ВМК, МГУ). Очень хочется выбрать интересную тему для курсовой/дипломной работы. Мне интересны следующие области:

1) Компьютерные сети (в частности, сетевое программирование, точнее системное программирование сетевого взаимодействия)

2) ЯП (яп как инструмент и как вещь-в-себе. Технологии, концепции, положенные в основу ЯП)

3) Программирование встроенных систем (вот здесь опыта и знаний совсем не имею)

Может быть лоровцы подскажут актуальные темы по данным направлениям? Был бы рад выбрать тему, которая, как говорил Дейкстра, будет значима и для науки и для общества. Ну, а если нет, то пусть будет значима хотя бы для науки.

Спасибо.

★★

Бери что-нибудь типа "построение кластера на мобилах". То есть на ненадежных узлах с плохой связью.

anonymous
()

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

1) был бы ты железячником, а не компутер саентистом, то мог бы сделать сетевуху, реализующую ip-стек в железе или очередную новаторскую штуку для ускорения обмена между нодами в кластере

2) надрачивать собственный язык и фронтенд к гцц для него имхо неинтересно (но фреймфорк на какой-нибудь функциональщине для какой-нибудь небанальной предметной области можешь попробовать)

3) встраиваемые системы обычно программируются людьми со знанием соответствующей предметной области (промышленные контроллеры - технологами, медицинские сканеры - медиками итд), сама по себе ембеддед система с точки зрения системотехника устроена очень просто, делать нечего

anonymous
()
Ответ на: комментарий от anonymous

> как студент вмк, где кафедру надо выбирать после второго курса (т.е. в относительно разумном возрасте), до сих пор не определился с направлением научной деятельности?

Да, так вот получилось. Научный руководитель - человек занятой, видимся с ним редко. А самому интересную тему выбрать не получается, т.к. опыта маловато.

parser ★★
() автор топика
Ответ на: комментарий от anonymous

По сетям: Что такое сеть, ISO/OSI, TCP/IP, различные протоколы маршрутизации и т.д. (в общем, все, что есть в книгах Танненбаума "Современные компьютерные сети" и Стивенса "TCP/IP Illustrated vol.1"). Сейчас, по работе, занимаюсь разработкой "Отказоустойчивого распределенного блочного хранидища" - это iSCSI + n-k схема, предложенная Ади Шамиром в 60-ч годах.

По языкам программирования: недавно прочел книгу Себесты "Основные концепции ЯП", без словаря знаю С и Python, со словарем C++, Java - немного.

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

parser ★★
() автор топика
Ответ на: комментарий от anonymous

> медицинские сканеры - медиками

Это... жить не страшно будет? Программируют их очень далёкие от медицины люди, предметной областью там физика и/или обработка сигналов.

anonymous
()
Ответ на: комментарий от parser

>По сетям: Что такое сеть, ISO/OSI, TCP/IP, различные протоколы маршрутизации и т.д. (в общем, все, что есть в книгах Танненбаума "Современные компьютерные сети" и Стивенса "TCP/IP Illustrated vol.1")

А это точно дипломник ВМиК?

Sun-ch
()

> 2) ЯП (яп как инструмент и как вещь-в-себе. Технологии, концепции, положенные в основу ЯП)

для некроисторикопалеоантологов, можно сделать что-то вроде обзорной работы по "эволюции ЯП" (типа сначала были "палки и верёвки", потом библиотеки и тулкиты, потом появляются платформы, навязчивой идеей которых моросит идея "общей шины данных"). Не просто ЯП сами по себе, а на фоне платформ и применения в ынтерпрайсах, на фоне дополнений ЯП общего назначения-предметный-glue код для платформы

anonymous
()
Ответ на: комментарий от anonymous

>а веб-магазин программируют специалисты по jit-компиляции, да?

Неужели специалисты по маркетингу?

Midael ★★★★★
()
Ответ на: комментарий от parser

Я конечно не знаю, что сейчас должен знать дипломник ВМиК, но "TCP/IP Illustrated" + немножко с++ - разве не это первый курс?

Sun-ch
()
Ответ на: комментарий от Sun-ch

Курс по компьютерным сетям - 6-ой семестр, курс по СП + С++ - 4-й семестр. Sun-ch, тебе не кажется, что не разумно начинать учить первокурсников алгоритмам и программированию на C++?

parser ★★
() автор топика
Ответ на: комментарий от parser

если не лень в сжатые сроки научиться многим новым вещам, то можешь совместить все три пункта

делаешь сетевуху с аппаратным айпи-стеком, для этого тебе придется:

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

будут тебе и сети, и языки, и ембеддед в одном флаконе, и даже относительная новизна - такие железяки уже постепенно начинают делать (для сильно нагруженных серверов, которым все еще необходимо общаться по tcp/ip)

но все это мало относится к компутер саенс, учить которому должны на вмк

anonymous
()

Кстати, чтобы дальше не заниматься перетиранием воды в ступе, предлагаю считать меня не очень хорошим студентом ВМК. Поэтому, отталкивайтесь, пожалуйста от тех данных которые я уже дал или задавайте дополнительные вопросы по теме. Очень хочется услышать дельных предложений. Думаю, что больш'ая часть лора намного опытней меня.

parser ★★
() автор топика
Ответ на: комментарий от UrbanSerj

> а вам не кажется, что учеба не ограничивается универом?

Абсолютно верно. Я перечисли только то, что, по моему мнению, относится к теме. Если хотите пригласить меня на работу могу прислать резюме:) Там намного больше.

parser ★★
() автор топика
Ответ на: комментарий от parser

Не знаю, я на ВМиК не учился. А по теме, я бы написал высокооптимизированный компилятор ANSI C под x86, и выложил бы под BSD лицензией.

Sun-ch
()
Ответ на: комментарий от Midael

по мере роста сложности предметной области, разделение архитектора и быдлокодера становится все менее целесообразным

если с пых-пых- и жаба-ентерпрайз-поделиями использование быдлокодеров для перевода с человеческого языка на машинный еще катит (и то, сейчас все чаще и чаще быдлокодеров заменяют на понятный человеку фреймворк), то в более наукоемких областях нет

anonymous
()
Ответ на: комментарий от parser

>могу прислать резюме:) Там намного больше.

неправильное резюме. Это всё нужно для реальной работы или просто покрасоваться? Если ищешь по конкретным специальностям, лучше 2-3 разных резюме написать, чем одно вида всё-свалено-в-кучу.

anonymous
()
Ответ на: комментарий от Sun-ch

>высокооптимизированный

Высокооптимизированный или высокооптимизирующий?

parser ★★
() автор топика
Ответ на: комментарий от anonymous

> делаешь сетевуху с аппаратным айпи-стеком, для этого тебе придется:

ага, или берёшь FPGA и изобретаешь свой компьютер на своём процессоре, вроде такого http://www.homebrewcpu.org/ (это кольцо, среди остальных сайтов попадаются и интересные)

зачод автоматом поставят :)

anonymous
()
Ответ на: комментарий от Sun-ch

90% такого поделия будет велосипедом, проще дописать бекенд к гцц (но опять же, даже если ограничиться им, переплюнуть гццшников вряд ли у студента получится)

anonymous
()
Ответ на: комментарий от anonymous

> Если ищешь по конкретным специальностям, лучше 2-3 разных резюме написать, чем одно вида всё-свалено-в-кучу.

Спасибо за совет. Если честно, никогда не интересовался составлением правильного резюме, хотя знаю, что это достаточно сложно. Я свое резюме делал тольке для участия в GSoC. На нынешнюю работу меня без резюме брали.

parser ★★
() автор топика
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

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

Sun-ch
()
Ответ на: комментарий от Sun-ch

саныч, если ты ни разу не сталкивался с ембеддед-решениями, а тсп стек видел только в опенсолярисе, то лучше сойти за умного

anonymous
()
Ответ на: комментарий от anonymous

А зачем их переплевывать? Появились же какие то новые идеи и работы в области создания компиляторов. Пусть хоть одну идею и реализует.

Sun-ch
()
Ответ на: комментарий от anonymous

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

Sun-ch
()
Ответ на: комментарий от Sun-ch

саныч, ты, кажется, и в компиляторах не разбираешься

почитай классику (dragon book), узнай о компонентах компилятора, пойми, что ты предлагаешь писать еще один бекенд (даже всего лишь часть бекенда)

переплюнуть гцц или ицц в деле оптимизации под монстроидальную полную костылей архитектуру студент не сможет и вообще уснет в самом начале

anonymous
()
Ответ на: комментарий от anonymous

А помоему ты очень плохо представляешь как работает этот стек в ядре. А модуль пакетного фильтра я тоже буду в сетевуху встраивать вместе с IPSec?

Sun-ch
()
Ответ на: комментарий от Sun-ch

какие именно рейдконтроллеры? они сделаны на асиках или там банально пучок армовых ядер? как именно они сливают, в каких тестах/приложениях? какова нагрузка основных cpu при использовании железного контроллера и какая при использовании софта? что важнее для нашего приложения - быстрый ввод/вывод или лишнее процессорное время?

вопрос превосходства одной реализации над другой одним громким маркетоидным выкриком не решается

anonymous
()
Ответ на: комментарий от Sun-ch

стеки бывают разные - существуют реализации размером менее 1кб машинного кода (но и умеют они мало)

сетевухи со встроенным аппаратным стеком и аппаратным же пакетным фильтром уже выпускаются, к твоему сведению

anonymous
()
Ответ на: комментарий от anonymous

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

Sun-ch
()
Ответ на: комментарий от Sun-ch

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

криптографические ускорители бывают очень разные - как смарткарты-переростки, где ряд алгоритмов выполнен в железе, так и чудо на процессорах общего назначения со своей полноценной ОС и стораджем

anonymous
()
Ответ на: комментарий от anonymous

> 3 - не менее забитое унылое говно, но в глазах школьников "круто"

гы, ток вот чет особо много не вижу народу, который рвался бы что-то по этой теме писать ...

phasma ★☆
()
Ответ на: комментарий от anonymous

+1, есть ембеддед 8-bit tcp/ip стек в несколько десятков килобайт (на микроконтроллерах; вроде что-то и на Z80 было)

anonymous
()
Ответ на: комментарий от Sun-ch

хотя бы здесь(остальное лениво искать) http://cooler-online.com/cl170505.html [1]

ещё проходили ссылки на MIPS-компьютер в разъёме RJ45. Кубик чуть больше разъёма с видео-аудио-джеками и RJ45.

Стоить дорого -- не обязательно, хотя сейчас когда у всех Gigabit Ethernet -- становится дороже.

[1] "по поводу управления "всем" по IP и пр.

В Германии своего рода freeware-"пионером" в этой области стал некто Ulrich Radig, со своей одноименной страничкой (к сожалению, только на немецком). Основная идея в использовании контроллера (Ulrich использовал Atmel АТмега от 32 и выше) совместно с Ethernet-контроллером RTL8019AS в режиме NE2000 со старых ISA сетевых плат, коих сейчас все еще множество. Софт свободный и представлен в виде С-кода (потому возможно портирование), реализованы Ping, Telnet, UDP, TCP. В идеале представляет собой плату размером от 6х6 см, на которой разведены контроллеры, RJ-45 разьем"

anonymous
()
Ответ на: комментарий от phasma

а ты побольше проводи времени за компом, играя в контерстрайк и смотря онеме - общеизвестно, что эти занятия тысячекратно увеличивают кругозор

anonymous
()
Ответ на: комментарий от tailgunner

да, байтики из порта в порт кидать - очень интересно (а на большее такого раздолбая и не хватит)

anonymous
()

Кстати, на счет 2 - тоже очень интересно. Например, ЯП на теории зависимых типов - http://www.e-pig.org/

AiLr ★★
()
Ответ на: комментарий от AiLr

> Полностью децентрализованные анонимные p2p сети ;)

есть интересный протокол, уровня tcp/ip для p2p -- Netsukuku. "Физика волны" для маршрутизации, фрактальное сжатие "таблицы" маршрутизации, автоматическая перестройка, неиерархическая, распределённая, может работать через wi-fi и прочие прелести. http://ru.wikipedia.org/wiki/Netsukuku

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.