Я студент 3 курса колледжа. Учусь на программиста. У меня большая проблема: я не умею решать задачи. Я не знаю с чего начать и чем закончить. Также я не знаю математику. Особенно дискретную. По высшей математике хотя бы преподаватель - просто топовый мужик, я научился решать некоторые разделы и даже что-то понял, а с дискретной математикой всё глухо, я её просто списываю. Также у нас сейчас есть теория алгоритмов, там я тоже абсолютно беспомощен.
Как это можно исправить? Многие твердят: решай задачи. Ну, ок, допустим, беру какую-нибудь задачу. Прочёл текст. А дальше-то что? Я не знаю как подойти к решению задачи, с чего начать, что вообще делать и чем закончить.
Сейчас у нас активно преподаются С и С++, и мне сильно тяжело. Что-то простенькое сделать могу, но там, где нужно решить какую-то задачку или где присутствует какой-то алгоритм (например, пузырьковая сортировка), я абсолютно беспомощен: смотрю на экран как идиот, но мозг ничего не может родить... В программировании дела не очень. Могу побрыкаться где-то до циклов и массивов, а дальше "наши полномочия уже всё"... Обижаюсь на себя, что я такой тупой, но ничего изменить не получается. Я могу сидеть над задачей хоть неделю, но с мёртвой точки сдвинуться не получается...
Помогите советом, пожалуйста: как "перепрошить" свой мозг? Как научиться решать задачи? Как научиться понимать алгоритмы и хоть немного шарить в математике? Под "хоть немного шарить в математике" я имею ввиду способность видеть суть проблемы и находить оптимальное решение.
P.S.: пока чтобы хоть как-то развиваться, я практикую вёрстку и C# (в дальнейшем хочу пойти в backend).
Сергей delphinpro, ой, это долгая история. В айти меня вообще случайно занесло. Не получилось поступить на ту специальность, куда я хотел, но так как мне ещё были интересны компьютеры (и я пробовал сам писать на Паскале и мне это понравилось), то решил поступить на программиста.
Или прям очень хочется в IT?
Скажу так, я туда не рвусь всеми силами души, интерес, скорее, несколько посредственный. Но основное, что меня держит - это тот факт, что я уже на 3-м курсе... Выпуск уже на следующий год... Как-то жалко потерянные 4 года..
Помимо программирования есть очень неплохие скилы в дизайне (весьма классно рисую и неплохие модельки в Блендере, также работаю в 3D-максе). Планирую даже опубликовать некоторые работы на профильных ресурсах. Но, сдаётся мне, в этом направлении мало что заработаешь, ибо дизайнеров нынче полным полно) Поэтому и долблю программирование)
Скажу так, я туда не рвусь всеми силами души, интерес, скорее, несколько посредственный. Но основное, что меня держит - это тот факт, что я уже на 3-м курсе... Выпуск уже на следующий год... Как-то жалко потерянные 4 года..
Чуть позже будет жалко потерянные 4 курса уника + несколько лет безуспешных скитаний по IT, инфа сотка. Без интереса в IT делать нечего. Если тебя не прёт с того, что программа скомпилировалась и работает, не прёт с того, что ты прошил свой роутер и он еле как работает, зато на прошивке, которую ты сам туда залил, не прёт с того, что ты открыл браузер на localhost:8000 и видишь там буковки, которые печатаешь в IDE, не прёт с того, что ты смог помигать диодом на ардуине, которую купил за 5к рублей, хотя она стоит в 10 раз дешевле, но ждать с Китая долго и ты не готов это всё делать в 4 часа утра, хотя в 8 утра уже вставать — нечего пытаться, честно.
Понять программирование легко. Мы тут не ядерной физикой занимаемся и (в большинстве своём) не ракеты в космос пускаем. Но чтобы понять, нужно желание.
P.S. Ещё добавлю, что С/С++ — не самые удачные языки для первого языка и обучения в унике. В С/С++ ты сначала тратишь 90% времени, отвечая себе на вопрос "да какого хера этому компилятору от меня надо?". Возможно, стоит попробовать Golang или Python, где ты эти 90% времени сможешь потратить на решение задачи.
WbICHA, Скажу так, я туда не рвусь всеми силами души, интерес, скорее, несколько посредственный. Но основное, что меня держит - это тот факт, что я уже на 3-м курсе... Выпуск уже на следующий год... Как-то жалко потерянные 4 года..
Помимо программирования есть очень неплохие скилы в дизайне (весьма классно рисую и неплохие модельки в Блендере, также работаю в 3D-максе). Планирую даже опубликовать некоторые работы на профильных ресурсах. Но, сдаётся мне, в этом направлении мало что заработаешь, ибо дизайнеров нынче полным полно) Поэтому и долблю программирование)
Петр, стараюсь именно так и делать. Но бывает даже такая ситуация, когда даже не представляю как разбить задачку на подзадачки... И это уже реально страшно... Страшно то, насколько я тупой...
Сергей delphinpro, не буду спорить, т.к. уверен, вы в этом разбираетесь лучше меня. Но везде говорят о том, что заработок там не очень и конкуренция на порядки выше, чем в программировании. Но в любом случае, если, допустим, с дизайном у меня ничего не выйдет в плане заработка, то 100% буду продолжать им заниматься в качестве хобби.
Roman Kitaev, Всё возможно, конечно. У меня бывают такие дни, когда интерес есть, а бывают такие, когда интереса нет и я занимаюсь программированием чисто из-за того, что у меня профильное образование и потому что "надо".
На счёт С и С++ вы правы. Один из моих одногруппников пишет на C#, показывая свои работы, заинтересовал этим языком. Сейчас я изучаю только C#. Он значительно лучше как первый язык и легче.
Помимо программирования есть очень неплохие скилы в дизайне (весьма классно рисую и неплохие модельки в Блендере, также работаю в 3D-максе).
Это отличный повод задуматься:) Мой брат работает на какую-то компанию в Австралии, тоже рисует модельки в блендере. Зарабатывает весьма неплохо для РФ. Зато делает это в удовольствие. Убивается по оружию, военной тематике и английскому языку. Собственно, работает, рисуя оружие и хаммеры и общается по-английски с коллегами.
Roman Kitaev, достойно! Уважаю! Мой брат тоже делает модельки в Блендере, но ещё новичок, заработка хватает лишь на оплату услуг ЖКХ) Самое главное, конечно, это работать в удовольствие. Ну и знать английский)
Для данного конкретного примера: "найти максимальный элемент одномерного массива" - я бы делал так:
на бумаге бы написал алгоритм простыми словами, типа: считаем, что наибольшим элементом массива является его первый элемент - запишем ег ов переменную MAX - далее организуем цикл по массиву - сравниваем каждый элемент массива с переменной MAX - если элемент больше MAX - записывает его в MAX. Ну это конечно для данного примера.
А вообще по алгоритмам можно читкануть книгу "Грокаем алгоритмы" Адитья Бхаргава
Ну а про "перепрошить мозг" - тут, как мне кажется, только один выход - учиться, учиться и еще раз, ну вы поняли. В наше время в интернете просто огромное множетво учебных материалов. На любые темы, есть для детей, там прям вообще просто объясняется. Попробуйте поискать интересующую тему и добавить "для детей", там будет разжевано прям вапче.
Еще было бы здорово найти товарища/друга, который бы вам помог.
Успехов!