Быть компьютерным ученым - это не о программировании; это об изучении алгоритмов (серии шагов, понятых кем-то или чем-то, чтобы выполнить задачу за определенное количество шагов). Многие компьютерные ученые вообще не занимаются программированием. Действительно, Эдсгер Дейкстра однажды сказал: «Информатика - это не больше компьютеры, чем астрономия - телескопы».
Шаги
Часть 1 из 4: Начало
Шаг 1. Станьте учеником на протяжении всей жизни
Быть компьютерным ученым - это значит учиться быть студентом не только во время обучения, но и на протяжении всей вашей карьеры. Технологии меняются, появляются новые языки, разрабатываются новые алгоритмы: вам нужно уметь узнавать что-то новое, чтобы оставаться в курсе.
Шаг 2. Определите свою будущую роль
Ваша работа как компьютерного ученого - решать проблемы. Это также касается решения проблем таким образом, чтобы в конце концов все остались довольны. Это означает овладение хорошими коммуникативными навыками, а также навыками программирования, потому что у вас больше шансов сопоставить потребности вашего клиента с подходящим решением, если вы будете внимательно слушать и четко передавать свое понимание, а также держать клиента в курсе во время проекта.
Часть 2 из 4: Написание псевдокода
Шаг 1. Начните с псевдокода
Псевдокод на самом деле не является языком программирования, но это способ представления программы в очень английском стиле. Вероятно, наиболее знакомый вам алгоритм находится на бутылке шампуня: вспенить, сполоснуть, повторить. Это алгоритм. Он понятен вам («Вычислительный агент») и имеет конечное количество шагов. Или это…
Шаг 2. Настройте псевдокод
Пример шампуня не очень хороший алгоритм по двум причинам: у него нет условий, на которых можно закончить, и он не говорит вам, что повторять. Повторить намыливание? Или просто полоскание. Лучшим примером может быть «Шаг 1 - Мытье. Шаг 2 - Полоскание. Шаг 3 - Повторите шаги 1 и 2 (2 или 3 раза для лучших результатов), а затем закончите (выход)». Это понятно для вас, имеет конечное условие (конечное количество шагов) и очень явное.
Часть 3 из 4: Написание алгоритмов
Шаг 1. Попробуйте написать алгоритмы для чего угодно
Например, как добраться из одного здания в другое на территории кампуса или как приготовить запеканку. Скоро вы увидите алгоритмы повсюду!
Шаг 2. После того, как вы научитесь писать алгоритмы, программирование должно стать для вас естественным
Купите книгу и прочтите ее целиком, чтобы выучить язык. Избегайте онлайн-руководств, поскольку они часто написаны любителями, а не профессионалами.
Тем не менее, не стесняйтесь искать помощь в Интернете. Объектно-ориентированные языки, такие как Java и C ++, сейчас «в ходу», но процедурные языки, такие как C, легче начать, потому что они имеют дело исключительно с алгоритмами
Шаг 3. Программирование - это всего лишь перевод псевдокода на язык программирования
Чем больше времени перед программированием вы потратите на планирование в псевдокоде, тем меньше времени вы потратите на набор текста и царапины в затылке.
Часть 4 из 4: анализ алгоритма
Шаг 1. Считайте данные из RAM (машина с произвольным доступом)
Лучше всего начать с чтения книги Стивена Скиены «Руководство по разработке алгоритмов».
Шаг 2. Узнайте об ограничивающем поведении функций
Прочтите о нотации Big O.
Шаг 3. Прочтите о том, как входные данные в наихудшем случае могут нарушить работу вашего алгоритма или сильно повлиять на процессорное время
Важно узнать, какими способами можно эффективно противодействовать им.
подсказки
- Область информатики разветвляется на множество различных областей, таких как компьютерный дизайн и разработка, базы данных, компьютерная безопасность или компьютерные языки и это лишь некоторые из них. Поэтому было бы разумно сосредоточиться на одном или, может быть, на нескольких, если они вас заинтересуют.
- После изучения одного языка программирования изучить другой в рамках той же парадигмы легко, потому что вы все еще переводите псевдокод на реальный язык.
- Доска - отличное место для написания алгоритмов.
- Если вы учитесь в средней школе и моложе 20 лет, рассмотрите возможность участия в олимпиаде по информатике в вашем районе.