Вопрос к IT?
Здравствуйте! Подскажите пожалуйста! Есть желание изучить тему программирования, встает вопрос, с чего начать? Чтобы отфильтровать все ненужное, дилетантов и прочих разводил! Хотелось бы чтоб изначально сформировалось четкое направление движения.
Работаю в другой сфере никак не связанной, навыков нет!
Курсы в СПБ? Ресурсы? Что востребовано?
Буду очень благодарен за помощь!!! Спасибо!
Проведем аналогии: хочешь стать врачом, начни с анатомии.
Так и здесь — хочешь стать программистом, начни с теории алгоритмов. Иначе будет везде магия: что делает код — не ясно, но работает. Сказали в видео так сделать — сделал. Только это будет не разработка, а чтение заклинаний из книги.
Начинать надо с простых вещей, программ, чтобы понять суть ветвления, циклы,
Мой опыт обучения сына программированию был таков
1. Я думал, что питон зайдёт, как наиболее открытый для простых программ. Но я поторопился, подкатить слишком рано
2. Далее купил книгу по С шарп и мы вместе делали игру крестики нолики. Наглядность результата всегда важна иначе может стошнить.
3. А потом квейк3 зашёл. Там открытый исходный код С, можно менять параметры игры и видеть результат. Это все — период нескольких лет, как только у него появился интерес, он сам вникал.
В общем, лучше постараться сделать простейшую програмку, возможно на основе учебных примеров. Меняя параметры и куски кода, видеть результат. Параллельно читать базовые понятия
Сам я учил с нуля, с типов данных и тд. На это ушли годы. С++ сложная штука, но открывает доступ к целому семейству.
А вот уж потом идёт алгоритмическая подготовка. Оптимизация
Начинать изучать программирование с алгоритма обхода графов- это поставить крест сразу.
Из собственного опыта: надо видеть результат иначе тошнить начнёт. Поэтому какие-то простые формы, программки, которые работают, они закрепляют мотивацию.
Когда лезешь на сухую (как делал я) мотивация должна быть на несколько порядков выше.
И самое самое главное во всем этом, это должно искренне нравится. Тогда двигаешься.
Например мне удалось вложить в голову, старшему сыну, что овладение программированием — это в целом одно из конкуретных преимуществ в жизни, не обязательно при этом работать программистом.
Я сделал все, что мог. А захочет он это применить и как, это уже его выбор и жизнь. Но инструментом я поделился.
Кстати нет лучшего метода обучения ребёнка, чем собственный пример.
Доктор, Причем здесь графы… До них еще дойти надо. Детей учат для начала понимать что такое условие и цикл — налево пойдешь, направо пойдешь. Есть 10 яблок, как ежикам перенести их все, если за раз могут перенести 2 яблока.
Учить синтаксис языка — это самое последнее что надо делать, а уже тем более используемые библиотеки в нем. Ну изучил как пишется цикл в языке, и что? Чем это поможет как и где его применять. Иначе простую задачу — сделать пруд, будут решать как принято в питоне — взять преобразователь материи, задать параметры и получит пруд. А на самом деле, надо понять как задачу решать — вырыть яму, решить вопрос с грунтом, наполнить водой, обеспечить циркуляцию воды. И зная это, уже решишь эту задачу даже на Хаскеле или Скале.
А сейчас, куда ни глянешь, везде обучение строится на языках типа Java, Python, Javascript — самые плохие языки для обучения. Один все видит в очках ООП, другие — книги заклинаний, где чтобы прочитать файл и рассчитать среднее, принято подключать пол мира на десятки мегабайт, вместо написания нескольких строк самому.
Интересно, как же раньше изучали программирование без компьютеров вовсе. Просто на листке бумаги. Воображение тренирует...
И хорошо, что пока еще остались области где требуется обладать знаниями, а не выученным синтаксисом того или иного языка с его заклинаниями. Где надо думать как решать задачу, как ограничить потребление памяти, т.к ее просто мало на борту и т.д.
Общий принцип изучения чего либо вообще — это положительное подкрепление. Особенно у детей
Лучшего прикрепления, чем какой-то наглядный результат — ппосто нет.
Считать как кто-то кому-то дальяблоу можно, но мы говорим о более развитом ребёнке. Такое уже не заходит.
Математика и алгоритмика это круто и важно, но редко кто будет изучать это без прикладного применения. Поэтому- наоборот. Вначале простые формочки клепать, потом необходимый уровень математики, алгоритмики.
Вначале танчики сделать, безмозглые. Чтобы увидеть результат. Затем прикрутить к нему ИИ, чтобы бот был сильным.
Наоборот- просто не получится.
Доктор, Что значит не получается… Еще раз — как же раньше дети учились? У меня не было компьютера, был только программируемый калькулятор и желание это изучать. Доступ к железу еще заслужить надо было.
Формочки — какие формочки в командной строке. Расширьте кругозор — не все делается ради очередной бесполезной аппликации в телефон. Железо, терминал, лог, оптимизация. Я бы сказал что наоборот, эта мода на визуализацию затмевает реальное применение алгоритмов, железо, которое выполняет свою работу повсеместно, скрыто от глаз. Впрочем да, можно, конечно, пилить очередную форму, показывающую котиков, собирающая лайки. Каждому свое, не спорю.
Я его ещё раз выделю:
Успешное научение это -
1. Посильные задачи на интерес
2. Положительное подкрепление, в виде наглядного результата
3. Повторение с п1.
Сюда подставляем формочки (поскольку речь о современном мире), либо конструктор, либо калькулятор. Что угодно.
В этот алгоритм постепенно можно добавлять усложнение, подмешивая новые вводные. Из конструктора, собрать подвижного робота, к тупым танчикам приделать ИИ. С калькулятора пересесть на спектрум и тд. И вот на эти дрожжи, уже сеем более сложные вещи. Наиболее эффективные алгоритмы, оптимизацию и тд.
О чем спор то?
Какой твой вариант обучения? Ты сразу сел за книги дональда кнута по алгоритмам, а только потом игрался в свой калькулятор?
Надеюсь я достаточно подробно объяснил.
Доктор, Спор странный. Если, конечно, мы говорим о фундаментальном образовании, а не о курсах за три месяца стань «программистом».
Я начинал с изучения устройства компьютера, потом алгоритмы, мат. анализ, логика. Поэтому фундамент — это “азы” логики (хотя в школе на доп. курсах нам уже давали мат. логику, законы де Моргана), разбирать блок-схемы (вариативная часть). Да блок схемы — это очень полезные занятия. Далее основы математического анализа и линейная алгебра, дискретная математика. Теория вероятностей и мат. статистика.
И, конечно, никто не мешает параллельно писать код. Но код и язык не первичен вовсе. Если же речь про курсы или про простое изучение языка как инструмента в решении других фундаментальных задач, например как R, MATLAB, то да, возможно уже есть фундамент, и надо за пару вечеров изучить новый язык.
Но да ладно, понятие современного IT вижу, что разное. Для меня это не смартфоны, а другое железо. Поэтому, видимо, и такое разное восприятие.
Ознакомься с трудами Дональда Кнута по алгоритмам.
Алгоритм — это абстракция, обобщение.
А вот реализация его может быть применительна к чему угодно. Как к железу, софту так и в целом к жизни.
Ещё раз повторю, основы булевой логики это НЕ алгоритмы. Эту ошибку я озвучил несколько постов назад.
Не следует вводить в заблуждение начинающих, рекомендуя им начать изучение программирования с теории алгоритмов. Это грубая ошибка. Алгоритмы это сложная концепция.
Не надо давать такие советы.
ru.m.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2#:~:text=%D0%A2%D0%B5%D0%BE%CC%81%D1%80%D0%B8%D1%8F%20%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%CC%81%D1%82%D0%BC%D0%BE%D0%B2%20%E2%80%94%20%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%20%D0%BC%D0%B0%D1%82%D
Шутка...)))) Вам уже всё расписали выше…
От себя добавлю, что при службе занятости есть подобные курсы.
В остальном хозяин барин. Самое простое и что имеет хоть какой-то шанс на применение — начать с вижуал бейсик который встроен в ексель. Ну или сайты поклепать (это html). Это тоже может быть хоть как-то применено. Разный мелкий бизнес может даже продукт из этого купить (хотя шансы крайне малы).
Я купил много лет 15 назад книгу «PHP 5 для чайников»
На том и учился. Там же можно изучить и верстку, и яваскрипт.
А с яваскриптом можно уже и в мобильную разработку податься.
Как что-то научишься делать можно податься в вебстудию работать за опыт и за еду — там гарантировано найдешь опыт. Конечно от возраста зависит.
у тя счас какая специальность?
проблема в том, что без образования ты будешь просто быдлокодерное дно...
Developer Roadmaps:
roadmap.sh/
Начинай с нормального востребованного языка, к примеру С#, есть все, IDE VisualStudio практически эталон в компиляторах . В идеале конечно С++, но он сложнее. Когда освоишь С- ный язык, все остальные будут гораздо проще в изучении .
Паскали, Дельфи и другие ВисуалБейсики — мертвечина .
Новомодные " Пайтоны ", скриптовые недоязыки, сам по себе легкий и бесполезный, нужно учить всевозможные фраймворки к нему ( коих куева туча), можно учить когда уже есть в багаже полноценный С-ный язык, как дополнение, если на работу устраиваться, а так и он нах. не нужен .
Все эти толпы бесполезных недопрограммистов — как раз из разряда «скриптовых языков» .
Вэб-программирование это отдельный коленкор .
Скачивай VisualStudio от МайкроСофта и осваивай.
А ведь с голым С#, даже с хорошим, если речь действительно про умение что-то вменяемое написать, нормальной работы для новичка не будет. Бросит он. :-) А скриптовые языки это то что освоить и применять реально. Хотя денег там и не будет.
Так что большое число сильных профи выйдет на внутренний рынок.
Да, сейчас стоит задача импортозамещения софта. Но больших денег там не будет. И причина банальна. Расходы страны растут, доходы страны падают. Исключения будут, конечно. Но ставить на них....
Вот для учебы время может быть отличным. Т.к. многие профи выйдут на рынок обучения, передавать боевой опыт. Так что обучаться сейчас можно. :-)