Предложения для открытого проекта Final Degree Project - PullRequest
35 голосов
/ 10 ноября 2009

Примечание: Я не совсем уверен, действительно ли этот вопрос относится к StackOverflow, поэтому не стесняйтесь голосовать за закрытие, если вы так думаете.

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

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

Я работаю над созданием проприетарного программного обеспечения, используя проприетарные инструменты разработки, практически не используя компоненты с открытым исходным кодом, поэтому я подумал: «Хорошо, что было бы полезно для сообщества с открытым исходным кодом, которого еще нет» ... и я просто понятия не имею, .

Есть предложения? Все будет приветствоваться. Хотя я предпочитаю c # или php, я не буду отказываться изучать что-то новое, если я должен.

Из-за комментария университет: Facultad de Informática. Политехнический университет Мадрида.

Спасибо всем за ответы. Хотя я еще не полностью решил (я не хочу врываться в какой-либо проект), мне действительно понравилась идея проекта ROBOCODE, хотя он не был бы действительно полезен традиционным способом, это звучит как МНОГИЕ забавы. Я все равно ценю все предложения.

Ответы [ 17 ]

18 голосов
/ 13 ноября 2009

Почему бы не заглянуть на веб-сайт Google Summer of Code , чтобы узнать о предыдущих проектах, которые не были реализованы.Они рассчитаны на пару месяцев и предназначены для проектов с открытым исходным кодом, и это то, что кто-то другой решил, что будет полезно.

8 голосов
/ 10 ноября 2009

Помогите с усилием портировать Silverlight 3 на Mono? Я уверен, что вы могли бы найти конкретную функцию для реализации в качестве отдельного проекта. Это было бы очень полезным вкладом в сообщество разработчиков ПО с открытым исходным кодом и включало бы углубленное изучение структуры Silverlight.

7 голосов
/ 13 ноября 2009

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

Существует множество проектов с открытым исходным кодом, которые подойдут для ваших навыков PHP: Drupal , Wordpress или любой из проектов Sunlight Labs . Лично мне нравятся Sunlight Labs, потому что их цель заключается не только в создании программного обеспечения (чтобы сделать правительства более открытыми и прозрачными), а организация выглядит здоровой и развивающейся. Независимо от того, какой проект вы выберете, вы не ошибетесь, внеся свой вклад в активный проект с открытым исходным кодом.

5 голосов
/ 18 ноября 2009

Почему бы не спроектировать и не реализовать алгоритм искусственного интеллекта для ROBOCODE (поиск в Google). Вы можете использовать нейронные сети, кластеризацию, оптимизацию роя частиц ... или другие более продвинутые алгоритмы. большинство из них действительно просты и эффективны, только названия звучат так, как будто они взяты из «Звездного пути».

Другое предложение, которое сейчас модно, - это использовать коллажи: брать несколько веб-сервисов и объединять их, создавая что-то приятное. как http://globelogger.com/2008/05/timetube-awesom.html, это то, о чем я говорю

4 голосов
/ 18 ноября 2009

Рефакторинг Python Tkinter GUI, чтобы удалить его зависимость от TCL. Это потребует разветвления последней версии TK, части проекта TCL , а затем замены внутреннего использования сценариев TCL сценариями Python. Проект будет написан на языке C.

Конечным результатом будет модуль Python TK GUI, который работает в Windows, Macintosh и UNIX. Все вещи по переносимости уже есть в модуле TKinter, так что это не то место, где будет работать. Вместо этого это будет похоже на хирургическое вмешательство на головном мозге, определяющее все связи между TK и TCL, так что вы можете либо изменить рефакторинг в более простой интерфейс с Python, либо выполнить замену TCL один на один с Python.

Это потребует изучения TCL и Python, а также, возможно, написания некоторых инструментов, которые помогут вам перечислить взаимосвязи между TCL и TK. В конце проекта вы также получите много информации о кроссплатформенных графических интерфейсах, даже если у вас есть только одна из платформ, работающих как часть вашей степени.

Конечная цель этого состоит в том, чтобы этот GUI стал интерфейсом Python по умолчанию, а интерфейс разработчика для GUI стал интерфейсом по умолчанию для других интерфейсов GUI. Например, разработчик Jython не может использовать этот графический интерфейс, но если вы сделаете интерфейс чистым и не зависящим от системы, тогда кто-то может написать PythonTK на Java, который использует SWING, а другая группа может написать PythonTK на C #, который использует Windows Forms.

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

4 голосов
/ 18 ноября 2009

Мое предложение было бы найти местную благотворительную организацию, которая нуждается в некоторой помощи для отслеживания их финансов / доноров / и т.д. Работайте с ними, чтобы определить их потребности и разработать приложение, которое поможет им решить их проблему. Есть два преимущества, которые я вижу в этом. Во-первых, вы получаете опыт работы с реальными клиентами и их потребностями. Во-вторых, если вам это удастся, вы помогли некоторым людям, у которых, вероятно, нет ресурсов, чтобы сделать то, что им нужно, другим способом.

4 голосов
/ 10 ноября 2009

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

  • Создайте распределенную систему обработки, такую ​​как seti online
  • Сделай игру.
  • Сделайте сайт социальной сети.
  • Создание классной визуализации для демонстрационной сцены
3 голосов
/ 18 ноября 2009

Создать вики-сайт сообщества только для табличных данных: список стран (название, валюта ...), список продуктов (название, витамины, калории ...), статистика инфляции по стране в год, ... что когда-либо пользователи создают. Разрешить пользователям создавать запросы и загружать результаты в том формате, который им нравится (CSV, Excel, XML, ...). После этого создайте веб-сервис, позволяющий проектам с открытым исходным кодом использовать данные в своих продуктах.

3 голосов
/ 16 ноября 2009

Присоединяйтесь к какому-нибудь проекту с открытым исходным кодом. Например, Qooxdoo (http://qooxdoo.org) имеет действительно хорошее сообщество и нуждается в опытных программистах. Это хорошая платформа для веб-приложений. Или вы можете внести свой вклад в какой-то действительно большой проект, такой как Ruby on Rails.

Если вам нравится низкоуровневый (как близко к аппаратному), вы можете поработать с Gnu Compilers Collection.

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

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

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

/ Глеб

2 голосов
/ 12 ноября 2009

А как насчет распределенного мобильного решения с открытым исходным кодом? Теперь, когда мобильные устройства приобрели достаточную вычислительную мощность, было бы неплохо, если бы вы связали эту мощь с идеей распределенной системы, подобной SETI Байрона. Его также можно использовать в практических целях, например, для сбора данных GPS в массивную сетку, чтобы определить и избежать переполненных дорог и перекрестков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...