Серия ««От нуля до кода»»

2

Пост № 3. Алгоритмы и структуры данных

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

Разобрал несколько популярных алгоритмов:

- Линейный поиск (перебираем элементы массивы один за другим);

- Бинарный поиск (сравниваем целевой элемент с серединой отсортированного массива);

- Сортировка пузырьком (элементы как бы "всплывают" вверх по мере сортировки массива).

Выяснил, что такое «сложность алгоритма». Оценивали её по двум параметрам: времени выполнения и потребляемой памяти. Это помогло лучше понять, какие алгоритмы работают быстрее и эффективнее.

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

Изучил популярные методы решения задач:

- «Наивный» подход: просто делаем так, чтобы работало;

- Метод двух указателей: позволяет сразу отбрасывать неподходящие варианты;

- Метод скользящего окна: работаем с частью массива, постепенно перемещаясь по нему.

Заключительное задание блока — задача службы доставки. Нужно было написать программу для марсохода, который перевозит роботов-исследователей. У каждого робота свой вес, а платформа имеет ограниченную грузоподъемность. Требовалось найти минимальное число платформ для транспортировки всех роботов.

Задача оказалась интересной и сложной, но я справился! Блок завершён успешно. :)

Предыдущие посты серии здесь:

Пост № 1. Знакомство
Пост № 2. Python

Показать полностью

Пост № 2. Python

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

Итак, продолжим...

Курс состоял из нескольких тематических блоков, каждый из которых включал теоретические занятия, практические задания в онлайн-тренажере и проекты. Первым блоком был Python, который мы изучали 5 недель.

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

Проекты:

1. Проект «Холодильник»: программа управляет списком продуктов, отслеживает их количество и сроки хранения. Можно добавлять новые товары и просматривать содержимое холодильника.

Пост № 2. Python IT, Разработка, Учеба, Python, Программирование, Видео, Без звука, Короткие видео

2. Игра «Змейка»: необходимо разработать игровую логику, создать нужные классы и методы. Графическая оболочка уже была предоставлена, наша задача заключалась в реализации самой механики игры.

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

К моему удивлению на этом наше путешествие по изучению Python подошло к концу. Но впереди ещё много интересного!

Показать полностью 1

Пост № 1. Знакомство

Всем привет! Меня зовут Anasych, и я хочу поделиться своим опытом погружения в мир IT. В 30 лет я задумался о смене профессии и решил попробовать себя в программировании. Поскольку никаких специальных навыков у меня тогда ещё не было, друзья-айтишники посоветовали мне заняться backend-разработкой. Для тех, кто не в курсе: backend — это внутренняя часть сайта или приложения, отвечающая за обработку данных и взаимодействие с базой данных.

Я выбрал язык программирования Python и начал с бесплатного курса на Яндекс Практикуме (спасибо друзьям за рекомендацию!). Курс понравился, и я понял, что дело пошло. Тогда я решился на следующий шаг — записался на платный курс «Python-разработчик». Обучение длится 14 месяцев, и каждый месяц обходится примерно в 16 тысяч рублей. Этот курс привлёк меня большим количеством учебных проектов и возможностью спокойно осваивать материал.

После оплаты курса меня распределили в когорту (это такая учебная группа) под номером 53. Когорта получила своего куратора, который решает организационные вопросы, и наставника, помогающего с учебными проблемами. С этого момента началась моя интенсивная учёба!

Поскольку я работаю на основной работе полный день, посвящаю программированию минимум 20 часов в неделю: по два часа вечером после работы и по пять часов в выходные. Так продолжается уже почти полгода. Если уделять меньше времени, есть риск не успеть сдать проекты вовремя — ведь на курсе действуют строгие дедлайны. А за несвоевременную сдачу грозит перевод в другую когорту, которая начала обучение позже.

К счастью, курс предусматривает каникулы, хотя они, как и всё хорошее, проходят очень быстро.

На этом знакомство заканчиваю. В следующем посте расскажу подробнее о самом учебном процессе и о том, чему уже успел научиться.

Показать полностью
Отличная работа, все прочитано!