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

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

Первый раунд: «День выпуска…»

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

Вы будете очень и очень хорошо гуглить: ПРАВДА

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

Вы сможете самостоятельно создать следующее приложение Uber: ЛОЖЬ

Сколько раз я слышал: «Эй, тебе может понравиться, создай мне мобильное приложение, которое я хотел запустить, верно?» 🙄

Несмотря на то, что все в наши дни, кажется, думают, вам не будет обязательно пройти через стадию выпуска, вооружившись набором знаний, чтобы пойти домой и создать следующее отличное мобильное или веб-приложение. Возможно, вы выучили несколько популярных языков на своих факультативах или в ходе собственного исследования, но по большей части «программирование» в реальном мире не входит в основную учебную программу C.S. в * большинстве * школ. СКАЗАНО: вы будете очень хорошо изучать новостные трюки на этом этапе, и, обладая базовыми знаниями о нулях, единицах и всем, что приходит после этого, вы выиграли Не будьте далеки от того, чтобы запачкать руки. Быстрый учебный курс - или даже самостоятельное исследование - и некоторая помощь нескольких ваших друзей, вы полностью можете стать следующей технической звездой.

У вас будет отличное понимание строительных блоков программирования: ПРАВДА

Нравится вам это или нет, пока вы в школе, но к концу вашего пребывания в CS вы, вероятно, станете экспертом по каждому типу структуры данных и всем наиболее распространенным (или самым известным?) Алгоритмам. отделение. Напоминает вопрос, который вы задали, будучи обеспокоенным подростком на уроке геометрии: «Когда мне КОГДА-ЛИБО понадобится найти объем сферы в реальной жизни ?!», вы, вероятно, задаетесь вопросом, почему. в мире вам КОГДА-ЛИБО нужно запомнить разницу в эффективности между пузырьковой сортировкой и алгоритмом сортировки по выбору. Хорошо. Вам, вероятно, не нужно было запоминать его (см. «Погуглить» выше), НО наличие твердого понимания и уверенности в этих типах концепций дает вам огромные преимущества при изучении новых языков, решении проблем и критическом мышлении.

Второй раунд: «На собеседовании вы сможете…»

  1. См. все причины, по которым вы полностью квалифицированы, чтобы быть разработчиком полного цикла.
  2. Расскажите обо всех замечательных моментах, которые вы пережили, о том, почему они помогут вам стать лучшим членом команды и лучше решать проблемы.
  3. Вполне нормально относитесь к техническим «вопросам доски», которые, вероятно, будут вам брошены.

1. Укажите все причины, по которым вы имеете право быть разработчиком полного цикла: ЛОЖЬ

Не удивляйтесь, когда вы начнете получать списки вакансий для инженеров и разработчиков и увидите языки, платформы и системы, которые кажутся вам совершенно чуждыми. Скорее всего, вы никогда даже не коснулись того, как работает Интернет - или, по крайней мере, как объединяются те мелочи, которые кому-то действительно небезразличны (Интернет и телефонные приложения), - в ваших классах. Это может быть довольно деморализующим, но не бойтесь. На данный момент вы профессиональный «внешний вид», и эти новые веб-языки могут быть (хотите верьте, хотите нет) действительно забавными!

2. Расскажите обо всех замечательных моментах, которые вы пережили, о том, почему они помогут вам стать лучшим членом команды и лучше решать проблемы: ПРАВДА

Во всяком случае, вас ждет множество сложных сражений, трудных уроков и подъема с мертвой точки во время учебы в колледже. Вы извлечете все классические «жизненные уроки» - от изящных неудач до никогда не сдаваться. В вашем банке ответов на вопрос «Расскажите мне о времени, когда вы [вставьте общее требование, включающее решение проблемы, разрешение конфликта или неудачу], не будет недостатка в вариантах». Пришло время сиять.

3. Вполне нормально отвечать на технические «вопросы доски», которые, вероятно, будут вам заданы: ПРАВДА

Ключевые слова здесь: «неплохо». Я не думаю, что кто-нибудь когда-нибудь скажет,

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

Да нет.

НО, после четырех лет в CS у вас, вероятно, будет хотя бы некоторый опыт псевдокодирования и решения проблем на лету, и у вас будет ТОННА опыта, когда вы чувствуете, что понятия не имеете, что делаете, но зная, что вы просто нужно пыхтеть. На этом этапе ваши «частичные кредитные навыки» будут усовершенствованы, поэтому у вас должен быть хороший набор способов продемонстрировать направление, в котором вы бы пошли, если бы у вас было больше времени, или идеи, которые нуждаются в доработке. Подобные прикосновения могут иметь большое значение для демонстрации ваших знаний и комфорта с концепцией, даже если вы не обязательно дойдете до точного «правильного» или «полного» ответа. Также помните, что есть несколько способов снять шкуру с кошки.

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

Тем не менее, вы также можете полностью игнорировать меня и решить не проводить следующие четыре года своей жизни на американских горках агонии и блаженства. Потому что хорошая новость заключается в том, что существуют различные удивительные программы Bootcamp, которые помогут вам освоиться, независимо от вашего опыта. И завершение одного из этих курсов (например, Flatiron School) подтвердит все вышеперечисленные ИСТИНЫ в тот день, когда вы покинете университетский городок - даже если вы пришли абсолютно без опыта.

Хотя я бы ни на что не стал менять свой опыт, я считаю, что очень важно учитывать плюсы и минусы любого решения, особенно вашего курса обучения. Мне лично нравится возможность вернуться в учебную среду, концепции обучения, которым я никогда не знаком, поэтому сочетание и степени CS и Bootcamp идеально подходит для меня.

Но если вы не собираетесь делать долгий путь, возможно, вам стоит дважды подумать.