Должен ли я изучать язык программирования, прежде чем поступить в колледж по вычислительной технике? [закрыто]

14

Я погрузился в программирование на C ++, но на самом деле не углубился в это. Я хочу знать, действительно ли мне нужно изучать его или какие-либо другие языки, прежде чем я поступлю в колледж по специальности «Компьютерная инженерия», или я все равно собираюсь изучать это в школе?

Matt
источник
Я бы сказал, что вам определенно не нужно, но это совсем не повредит. До того, как я начал заниматься CS, я никогда не писал кодов и даже не знал, что такое C ++, а класс был на C ++.
pllee
3
... Даже если вы все равно узнаете это там, это просто легкий урок. Так что нет причин не изучать это сейчас ...
Изката
Это может помочь вам узнать, есть ли у вас склонность и / или интерес к программированию.
JeffO
Вы задали этот вопрос на сайте programmers.stackexchange.com. Вы действительно ожидали другого ответа, чем «да, изучите C ++, прежде чем поступить в колледж»?
Мартин Тома
@ лось, потом закрой как дубликат.

Ответы:

48

Да, по нескольким причинам.

  1. Чем раньше вы начнете получать опыт работы в этой области, тем раньше вы сможете выяснить, в какой области вам следует специализироваться. Если вы не любите программирование, то компьютерная инженерия, вероятно, не является хорошей областью для освоения. в. Даже если вы в основном заинтересованы в разработке процессоров, вы будете делать много программирования.
  2. Большинство людей считают, что уровень и объем работы, ожидаемый от них в колледже, значительно превышает уровень, который они привыкли в средней школе. Если вы не являетесь исключительно талантливым, вы окажетесь забитыми работой. Сделайте себе одолжение: выясните, какой язык используется для обучения на первом курсе, и начните изучать его сейчас. В худшем случае, вам будет немного скучно в классе, но вы сможете быстрее выполнить работу и использовать сэкономленное время для других ваших занятий.
  3. Многие классы оцениваются по кривой. Недостатком этого является то, что вы будете соревноваться с одноклассниками за оценки. Многие из ваших коллег по компьютерной инженерии уже много занимались программированием, так что вы, возможно, уже зашли в тупик. Это хорошее время, чтобы начать догонять.
  4. Единственный способ научиться программировать - это делать многое. Чем больше времени вы потратите на программирование в ближайшие несколько лет, тем лучше вы будете заниматься этим. Чем больше у вас опыта, тем больше у вас шансов на стажировку и работу.
Чарльз Э. Грант
источник
7
+1 Чтобы начать сейчас, чтобы было легче в будущем
Энди Хант
Можно также пропустить два класса (обычно введение в программирование и введение в структуры данных) в колледже, если они были приняты в HS. Если брать меньше уроков, возможно, придется потратить меньше денег или, по крайней мере, больше буферного времени. Программы CSE могут быть очень жесткими - например, если вы пропустите один урок, вы останетесь на год назад. Наличие буфера поможет. Всегда можно пройти дополнительные курсы или выбрать несовершеннолетнего.
Работа
Если вы в конечном итоге станете очень свободно владеть языком программирования, которому учат к моменту начала вводного урока программирования, подумайте, есть ли в вашем учебном заведении политика «Зачет по экзамену», которую вы можете использовать для тестирования. Это может сэкономить вам немного времени (но только если вы исключительно свободно владеете языком).
In silico
7

Будучи выпускницей CS (BS, MS, PhD), я бы посоветовал вам как можно скорее намочить ноги. На первом курсе колледжа у вас будет достаточно других вещей. В частности для программирования:

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

  • Опять же, заглянув на страницу учебного плана, посмотрите на предыдущие задания по программированию и посмотрите, какие программные инструменты и среда используются. Это vi и gcc (это то, что используют настоящие мужчины)? Microsoft Visual Studio? Затмение? Попробуйте использовать эти инструменты, прежде чем начать.

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

stackoverflowuser2010
источник
+1 за не только чтение на языках программирования
Энди Хант
4

Это зависит от колледжа. Когда я изучал то, что они называют «компьютерными науками» в Калифорнийском государственном университете, они (на мой взгляд, вполне справедливо) сосредоточились на научном аспекте, и они ожидали, что все (даже новички) уже знают, как использовать операционные системы и как написать код на каком-нибудь популярном языке. Они не приняли перевода некоторых кредитов, которые я получил, посещая языковые курсы в государственном университете штата Огайо. (Для меня это было обломом, но опять же, я это понимаю.) Это также имело положительный момент: я однажды выполнил задание, написав свой код на C; профессор не мог читать C, поэтому он попросил меня переписать это на Паскале. Я спросил начальника отдела о правомерности этого запроса, и он сказал, что, поскольку они не преподают языки, они также не могут ожидать, что кто-либо выполнит задание на каком-либо конкретном языке. Так что моему профессору пришлось жить с моим заданием, написанным на C. Итак, суть в том, чтобы узнать, в каком университете вы собираетесь учиться. Но если вам нужен мой совет, вам никогда не помешает узнать как можно больше заранее.

Майк Накис
источник
2
И C ++ - хороший выбор для начала, если вы собираетесь изучать какую-либо из инженерных дисциплин, потому что с C ++ вы можете учиться программировать близко к машине, и в то же время вы можете начать изучать ООП.
Майк Накис
Спасибо, я позвонил в школу (Университет штата Иллинойс), и они сказали мне, что обычно ученики просто немного понимают язык и что я должен просто выучить столько, сколько смогу, прежде чем попасть в школу. Спасибо за совет.
Мэтт
Отлично. Попробуйте также познакомиться с командной строкой Linux, если можете; такие знания обычно пригодятся в университетской среде. Лучше быть тем, кто показывает другим людям в компьютерной лаборатории, как дела, чем быть парнем, который всегда спрашивает других.
Майк Накис
4

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

оборота zipstory.com
источник
1
Я бы исправил это так, чтобы сказать «большинство УСПЕШНЫХ студентов-информатиков на первом курсе». Когда я учился в колледже (а затем и в аспирантуре), было много тревожных учеников CS, которые не знали в первую очередь об использовании компьютеров, но они только слышали, что CS была там, где были все деньги. Большинство из них сменили специализацию после того, как очень раздражались, когда инструкторы не говорили им, что печатать.
пушистый
Я был одним из тех новичков и стал очень успешным. Тем не менее, мне пришлось очень постараться, чтобы сделать это с этими фанатами, начинающимися с нуля. Если бы я не был в ситуации, когда мне пришлось бы зарабатывать деньги для моего ребенка, я бы не стал так сильно давить. В конце концов я полюбил это, так как понял это больше.
Джейсон Себринг,
3

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

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

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

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

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

dreza
источник
2

Да, но не начинайте с самого сложного языка, для этого будет много времени позже.

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

Изучите Python для динамического программирования, простых методов объектно-ориентированного программирования и правильного отступа. Узнайте javascript + JQuery или Lua, чтобы узнать о замыканиях. Изучите Java или C #, чтобы узнать о статической типизации. Изучите регулярные выражения для разбора строк. И выучите немного SQL, так как каждый программист должен в какой-то момент прикоснуться к базе данных. Затем изучите PHP, чтобы вы могли определить код спагетти.

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

Soviut
источник
1

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

FrustratedWithFormsDesigner
источник
1

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

hotpaw2
источник
1

Некоторые вещи, которые могут быть вам интересны перед поступлением в университет (выберите из них):

  1. Еще немного по математике (я не могу быть более конкретным, потому что я француз, и понятия не имею о математических навыках, которые у вас должны быть).
  2. Некоторые другие языки программирования, такие как Ocaml, Scheme, Haskell, Lua ... Они откроют ваш разум для новых способов мышления.
  3. Некоторая книга по алгоритмике
  4. Лучшее знание английского и письменных навыков (и иностранный язык никогда не бывает плохим)
  5. Использование и кодирование под GNU / Linux, и бесплатное программное обеспечение в целом. Возможность изучать свободное программное обеспечение (и вносить в него свой вклад) многому научит вас.
  6. Работать автономно, уметь самостоятельно определять рабочий план и придерживаться его
  7. SICP

Я не буду рекомендовать сосредоточиться на C ++; другие языки, книги, навыки принесут вам гораздо больше. Не тратьте все свои усилия на C ++.

Приятного обучения.

Василий Старынкевич
источник
1

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

java_mouse
источник
1

Определенно! Если вы раньше не программировали, изучение C ++ или C, Java или C # поможет вам начать все с нуля. Все эти языки основаны на Алголе (примерно) - как только вы выучите один из них, изучите Lisp или Haskell. Потрясающий сдвиг парадигмы между двумя семьями поможет вам, независимо от того, что влечет за собой ваши курсы.

Джин Темпл
источник
0

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

Асаф
источник
0

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

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

IMO C ++ - один из худших языков для начинающих. Если вы не находите это слишком сложным, изучите C ++, но другие языки, такие как C #, VB, Ruby или Python, немного проще.

Qwertie
источник
0

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

Однако качество программ в старших классах тоже может быть низким. Многие школьные администрации считают обучение использованию Micosoft Word информатикой. Ах, чепуха, которая исходит из школ!

Я хотел бы быть более оптимистичным. Если у вас есть хорошая программа compsci в вашей средней школе, зафиксируйте ее. Выйдите за пределы и будьте агрессивны в обучении. Если вы достаточно предприимчивы, нетрудно научить себя Python и получить некоторые навыки в этом. Как только вы изучите это, изучение других языков не составит труда. Простая грамматика Python делает обучение относительно простым.

ncmathsadist
источник
0

Да.

Какой из них вы должны изучить, зависит от того, что означает «Компьютерная инженерия». Это довольно нестандартный термин. Там, где я учился, это было сочетание электроники и информатики.

Если вы планируете работать в основном с компьютерным оборудованием, я бы предложил изучить C и Forth. Если вы в первую очередь собираетесь делать то, что я бы назвал «информатикой», я бы предложил изучить что-то вроде Python или Smalltalk, чтобы опробовать «настоящую работу» и функциональный язык программирования по вашему выбору (я бы предложил некоторый вариант Лиспа или схемы, но выбирай, что проще и круче).

Marcin
источник
0

Я поделюсь своим собственным опытом.

Я начал программировать около 10-11 месяцев назад. Мое первое настоящее знакомство с ним было с PHP, но потом я обнаружил, что изучаю C # на вводном курсе (CS 140) в моем местном колледже. После того, как я изучил основы, я в значительной степени полетел с этим и не остановился с тех пор. После C # я решил начать изучать механику более низкого уровня работы компьютеров. Я работаю над приложением, которое должно быть мультиплатформенным и должно помогать движкам видеоигр взаимодействовать друг с другом (аналогично SDL, но, возможно, более низкому уровню, со строгим акцентом на графический интерфейс, математику). и другие вспомогательные функции).

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

После этого продолжайте программировать, если вам это нравится. Если нет, изучите что-то еще. Независимо от того, что вы решите делать, вы должны потратить на это как можно больше времени, прежде чем учиться в каком-нибудь 2-4-летнем университете, чтобы изучить его, так как это ДЕЙСТВИТЕЛЬНО будет держать вас впереди. Это также покажет мотивацию любому работодателю, который потенциально может нанять вас.

Я могу сказать вам, что дисциплины информатика / электротехника являются самыми быстрыми с точки зрения их темпов развития (которые продолжают расти из года в год), и вам придется продолжать изучать новые технологии, чтобы идти в ногу с тем, что последний и самый лучший (который вы должны найти, по крайней мере, несколько интересным, хотя это действительно зависит от того, в какой области вы специализируетесь. Например, я ненавижу веб-программирование, и меня совсем не интересуют существующие технологии для этого, но некоторые люди действительно наслаждаются этим и заинтересованы в этом). Несмотря на это, C / C ++ являются отличными языками для изучения, поскольку, хотя многие другие языки (например, C #, Java) имеют свои собственные готовые API-интерфейсы для «облегчения жизни», вы ни за что не узнаете о том, что происходит на самом деле. под капотом пока

По сути, я программировал в течение 10-11 месяцев, и я не посещал ни одного университета. Я учился на C # в местном колледже (мой первый урок программирования, который научил меня основам), и по крайней мере 95% остальных я выучил самостоятельно. Это потому, что после обучения я поняла, что хочу стать программистом. Вы узнаете это, как только поймете это. Любой путь, который вы выберете, вы должны изучать самостоятельно, если вы действительно хотите добиться успеха в этом, потому что это повышает вашу склонность к мотивации и приверженности. Программист имеетбыть мотивированным, чтобы преуспеть. Они имеют дело с большим, чем просто «написание кода». Приложение постоянно должно тестироваться, отлаживаться и разбираться с нуля. Как правило, будь то маленький или большой, вы почти будете изучать что-то новое для каждого проекта, который вы предпринимаете. Это хорошая вещь, потому что вам нужно держать мозг активным.

о пустом
источник