Способы получить более глубокое понимание концепций программирования? - PullRequest
3 голосов
/ 13 июня 2010

Я маркетолог и много лет возился с PHP / MySQL. Недавно (последние несколько месяцев) я делал свои собственные скрипты / программы на Python, и мне очень понравился весь процесс решения проблем.

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

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

Мне не нужно изучать конкретный язык или что-то для работы, просто для удовольствия. Хотя моя работа часто связана с веб-разработкой, некоторые утилиты были бы хороши. Я не люблю изучать понятия, просто читая их. Мне нужно применять их, даже если примеры надуманы. Было бы неплохо рекомендовать пару хороших книг или других ресурсов. :)

Извинения, если это слишком расплывчато / неуместно ...

Ответы [ 5 ]

3 голосов
/ 13 июня 2010

Вам нужен проект, чтобы сделать.Это ослабит ваши навыки решения проблем.Некоторые идеи проекта, которые я обычно предлагал в классе:

  • Небольшая «банковская» программа для отслеживания финансов домашних хозяйств.
  • Небольшая программа для отслеживания инвестиций.
  • Какая-то игра, например, небольшой симулятор бейсбола или приключенческая игра с комнатами и дверями.
  • Научная программа, похожая на симуляцию генетики.
  • Имитация гонки на парусной лодке.
  • Программа для воспроизведения музыки.
  • Программа для рисования интересных картинок.
  • и т. Д.

Вы заполняете детали.Это должно быть просто и весело .Не «откусывайте больше, чем вы можете жевать», как 3D-графику в реальном времени (если только вы не думаете, что можете это сделать).

У меня была одна студентка, милая молодая азиатская женщина, которая симулировала отношения- Барби против Кена.
Это был Брутал !!Но это было познавательно ...

1 голос
/ 13 июня 2010

У меня есть общий интерес к ИИ и Естественный язык в частности, но это Кажется, что эти вещи требуют мастеров в области компьютерных наук.

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

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

Это общее решение проблем. Этот навык не ограничивается компьютерным программированием.

Вы, вероятно, уже прошли это, но вот общий процесс решения проблем .

Выберите один компьютерный язык. После того, как вы потратили около 6 месяцев на изучение синтаксиса языка, изучите шаблоны проектирования для этого языка. Изучение шаблонов дизайна определенно поможет вам мыслить более аналитически.

1 голос
/ 13 июня 2010

Зайдите на projecteuler.com, попробуйте их решить.

1 голос
/ 13 июня 2010

Я прочитал (просмотрел) некоторые книги и понял основы ООП, полиморфизма и т. Д.

Используйте эти знания, написав на языке ОО, и этот дополнительный языкСам привнесет новые опции в вашу кодировку.(При использовании базы PHP очевидным выбором будет использование JavaScript для добавления функциональности клиентам вашего веб-приложения.)

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

0 голосов
/ 15 июля 2010

Бесплатная книга Подумайте на Python: как мыслить как компьютерный ученый преподает множество концепций программирования, таких как:

  • Инкапсуляция - группировка кода в функции
  • 1008 * Обобщение *
  • Композиция - вызов одной функции из другой
  • Рекурсия - сам вызов функции
  • Концепции отладки
  • Поэтапное развитие

В то же время он полон практических примеров и упражнений. Ответы на упражнения приведены на сайте книги.

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