Выбор метода обучения программированию: колледж или самообразование?
======================================================================

 Поступил в колледж на прикладную информатику после 9 класса, в надежде получить фундамент для своей будущей профессии программиста. Школьным курсом я не особо занимался. Хочется изучать дисциплину программирования (ближе к веб-программированию склоняюсь), чем и занимаюсь, быть может не очень продуктивно ввиду недостатка на это времени на данный момент(читаю книги по php,Pascal, созданию ПО ). Склоняюсь к серверной части, интересует программирование и информационная безопасность в web (back-end). Но есть одна проблема, можно так сказать внутренний конфликт:  

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

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

Вопрос состоит следующем: стоит ли делать усилие и мучиться над этим математическим фундаментом или пустить колледж на самотек и окунуться уже в программирование (читать по нему литературу, писать код). Как бы вы поступили и почему именно так? Быть может, ваши рекомендации? (заранее извиняюсь, если вопрос задан некорректно, первый случай обращения сюда). 

> В частности, неуспеваемости в математических дисциплинах.

  

Это ты зря! В этой жизни нам дается только лишь один шанс. Ошибки вообще не правятся! Мы лишь пытаемся снизить печальные последствия их допущения. Мой Вам совет: Если Вы хотите стать программистом РАЗВИВАЙТЕСЬ МАТЕМАТИЧЕСКИ! Это ставит Ваш мозг в нужном направлении. Даже если Вам какой-нибудь дифур нафиг нигде не пригодится тем не менее это будет Вам полезно! Потому что человек досих пор не знает как работает его головной мозг. Изучая Математику Вы развиваете те отделы мозга, которые очень важны технарю.  
  

Вот пример задачки где-нужна математика:  

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

Решение этой задачки можно применить и для компьютерных вирусов, когда очередное число в ряде перестановки это индекс в области которую надо расшифровать. Другими словами известная технология PRIDE - pseudo random index decryption engine. При такой технологии многие движки антивирусов не могут автоматически распознать цикл расшифровки и следовательно не могут накрутить бал-подозрительности файла.  
  

Изучайте математику. Это важно! 

 Без образования в крупные компании не попадешь. Задумайся о высшем по профилю. Не столь важен конкретный вуз, главное, чтобы было связано с CS.  
  

Знания лишними не бывают, тем более бесплатные. Тебе не 30 лет, у тебя полно времени, потом его не будет (жена-ребенок-семья-собака, на работе "сроки горят", да и вообще ремонт делать нужно...), используй все возможности! Утром колледж, вечером - программирование и технологии. Не гонись за заработками сейчас. Те деньги, которые "теряешь", сидя за учебниками, окупятся. Знания - это инвестиции в будущее.  
  

Расширяй свой кругозор за рамки PHP, с большой долей вероятности, рано или поздно придется менять сферу деятельности (вот там-то и может пригодится математика). Развивай и углубляй знания. Со временем изучи обязательно С/С++ хотя бы в основах, чтобы понимать работу с памятью, не прикрытую динамическими типами и сборщиками мусора. Попробуй C# .Net, Java. Хотя бы, чтобы иметь представление. Все это потом здорово помочь. 

 1. На самотёк пускать не стоит, пусть будут тройки, но не полный провал.  

2. Ни один колледж не научит решать те задачи, которые придётся решать в реальной жизни. Так что самообразование и постоянная практика обязательны.  

3. Без математики никак.  

4. Лень - постоянная спутница любого программиста, но именно лень рождает простые и гениальные решения, только по тому, что было лень :) 

 Пока программирование сводится к складыванию одной строчечки к другой, как в конструкторе Лего, оно и будет вызывать только энтузиазм и положительные эмоции. Таких энтузиастов похапе наплодил 100500 человек - очень уж просто складывать.  

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

Хотя, конечно, на похапе можно всю жизнь просидеть, клепая сайты на вордпрессе, безо всякой математики.   

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

В общем, говнокодить на вордпрессе можно и без математики. 

 Математику изучать нужно!   
  

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