В этом отчете я сосредоточил свое внимание на наностепенях программирования, рассматривая две программы, отмеченные как новые, и вводную, которая подготовит вас к их решению.
Раскрытие информации: когда вы совершаете покупку, перейдя по ссылке из этой статьи, мы можем получать партнерскую комиссию.
В настоящее время существует так много вариантов обучения программированию и концепциям программирования, зачем рассматривать Udacity? Ответ заключается в том, что это хороший вариант, если вам нужен практический подход, ориентированный на карьеру, при котором проекты, за которые вы беретесь, основаны на реальных сценариях с участием в учебной программе партнеров по отрасли. В результате вы приобретаете навыки, необходимые компаниям, и получаете готовый к работе опыт. Если вы хотите узнать больше о внутреннем опыте завершения Udacity Nanodegree, посмотрите серию из 5 частей, написанную Никосом Вагаллисом о Java Web Developer Nanodegree.
Новая программа, с которой я раньше не сталкивался, — это Learn Data Structures and Algorithms Nanodegree. Он рассчитан на четыре месяца и призван дать программистам интуитивное понимание алгоритмов и возможность выбрать правильный подход для решения новых проблем. Он разработан, чтобы помочь вам подготовиться к собеседованию при приеме на работу, а также чтобы вы могли лучше придумывать решения для широкого спектра реальных сценариев.
В ходе курса студенты решают более 80 практических задач. Есть четыре модуля, и в первом, после освежения навыков Python, вы знакомитесь с фреймворком для деконструкции любой открытой проблемы и исследуете концепции временной и пространственной сложности, необходимые инструменты для оценки различных структур данных и алгоритмов. Во втором вы познакомитесь со структурами данных для хранения данных с уроками, охватывающими структуры данных сбора, рекурсию, деревья и карты и хеширование. В соответствующем проекте вы можете решить ряд открытых практических задач, таких как LRU Cache, Private Blockchain, File Recursion, и отточить свои навыки для определения и реализации соответствующих структур данных и соответствующих методов, которые соответствуют заданным ограничениям.
Третий модуль посвящен некоторым базовым алгоритмам — двоичному поиску, алгоритмам сортировки и алгоритмам разделения и владения. Его проект сталкивает вас с рядом реальных открытых проблем, таких как маршрутизация запросов для веб-сервера, автозаполнение поискового запроса и куча Фибоначчи, которые обучают вас применять подходящие структуры данных и алгоритмы в различных контекстах. В последнем модуле Advanced Algorithms вы познакомитесь с жадными алгоритмами, графическими алгоритмами, динамическим программированием и линейным программированием, а в рамках этого проекта вы создадите алгоритм планирования маршрута, подобный тому, который используется в Google Maps для вычисления кратчайшего пути между двумя точками на карте с помощью реализация алгоритма A *.
Если все это звучит сложно, помните, что вас поддерживает технический наставник, а также другие студенты. Кроме того, ваши проекты подлежат проверке кода. Согласно 5-звездочному обзору этого курса:
Проверка кода также была кульминацией процесса. Благодаря обзору мне удалось улучшить некоторые методы работы 🙂
Хотя программа, ведущая к C ++ Developer, имеет пометку «Новая программа», ее схема во многом такая же, как когда я впервые сообщил о ней два года назад. Основное отличие состоит в том, что теперь она рассчитана на 4 месяца и в большей степени ориентирована на проекты, чем раньше.
В видео Бьярн Страуструп, создатель языка, объясняет, что C ++ используется для «основополагающих частей» практически всего, что мы делаем, говоря:
«Он занимает промежуточное положение между программным обеспечением более высокого уровня и оборудованием, и это гораздо большая часть мира, о которой думает большинство людей. Это практически повсюду».
Если вы еще не достигли промежуточного уровня, необходимого для любой из вышеперечисленных наностепен, рассмотрите возможность присоединения к введению в программирование наностепей, которое предназначено для новичков в качестве «первого шага к карьере» в области машинного обучения веб-разработки и разработки приложений, науки о данных, искусственного интеллекта, и больше. Как отмечалось в моем отчете, когда он был впервые представлен, этот курс учит вас мыслить как программист, и в ходе этого вы создаете веб-страницу и используете ее для документирования того, что вы изучаете. Это влечет за собой, помимо прочего, изучение языка стилей CSS и встраивание видео с помощью Python.
Предложения Udacity — это намного больше вариантов для тех, кто хочет изучить новое программирование, включая промежуточный Javascript Nanodegree, о котором я рассказывал в прошлом году, когда он был обновлен. В Школе программирования и разработки также есть ориентированные на карьеру Nanodegrees для веб-разработчиков, см. Новые Nanodegrees Udacity для веб-разработчиков.