Как это учиться в институте?
В комментариях спросили (полагаю это был вопрос) сложно ли учиться в ИТМО.Призн
аться этот вопрос у меня периодически спрашивают школьники, так что отвечу свое мнение тут.
Участь в ИТМО вы можете сами определять насколько сложно вам будет учиться. По сути у вас есть несколько вариантов, между которыми вы можете найти себя.
• Вариариант легкий: есть базовый набор курсов, которые вы слушаете и можете что-то пропускать, и лабы делать спустя рукава или вообще через GPT (естественно это все видно хорошо), кроме того вы не участвуете в другой движухе на факультете (а ее много, об этом далее). В таком случае учиться будет просто. Очевидно - вы так ничему не научитесь, а с учетом развития ИИ еще и работу будет не найти.
• Вариант сложный: вы ходите на все лекции, делает все лабы (плюс доп задания которые тоже бывают в лабах), все лабы делаете сам, вы участвуете во всех мероприятиях и темах, которые предоставляет факультет, и чтобы было совсем классно - вы еще устраиваетесь куда-то на работу. В этом случае учиться будет сложно, интересно, но такой подход думаю близок к износу организма. Хотя я знаю и таких студентов - их сразу работодатели находят и предлагают трудоустройство.
• Вариантсбалансированный : это тот как я учился (спойлер, я учился не в ИТМО ), вы ходите на все основные курсы максимально (фундаментальные вещи типо математики, физики) + курсы по интересующей вас тематике (я рекомендую на первом и втором курсе ходить вообще на все лекции и ничего не пропускать). Да часть лекция и лаб вы будете пропускать, но это будет на втором и далее курсах, плюс вы сами выбираете что именно, а освободившееся время тратите на усиление своих знаний в выбранной вами области. Лабораторные вы делаете сами ну или с GPT но осознанно переделывая и дорабатывая (скажем просите его с пояснениями, но потом пояснения и комментарии из кода убираете по мере ознакомления с ним самостоятельно). Вы смотрите какие варианты дополнительно вам предоставляет факультет и ходите туда по мере сил и интересов. Кроме того я рекомендую как можно раньше устраиваться куда-то работать или брать подработки - то есть получать реальный опыт. Что-то предоставляет факультет, что-то можете пробовать и находить сами. В таком случае я хоть и назвал "сбалансированный" но он по суть не простой, не для ленивых, но и не включает в себя слово "все" на каждой позиции - то есть вы выбираете. В таком случае вы будете интересны работодателю, вы спокойно будете пользоваться современными инструментами типо GPT и достигать больших результатов и делать это эффективно.
В любом случае работать и учиться спустя рукава я не рекомендую. Я считаю, что студенческие годы - это годы когда надо прям "пахать" - много работать. У вас еще молодой организм и вместо того чтобы тратить его ресурсы на выпивку (осуждаю) и праздный образ жизни (тоже осуждаю), вы можете его тратить на инвестиции в свое развитие. Развитие возможно только преодолевая трудности ("единственный способ стать умнее - играть с более умным соперником") как в учебе (пробуйте решить задания со звездочкой, пробуйте лабы делать самостоятельно, пробуйте пробуйте пробуйте), так и не стоит забывать про ЗОЖ и спорт - ходите на тренировки, в походы, участвуйте в волонтерских проектах, общайтесь с людьми, влюбляйтесь и радуйтесь - живите полной жизнью!
P.S. В ближайшее время сделаю посты про движухи на факультете и мой собственный опыт студенческих лет.
В комментариях спросили (полагаю это был вопрос) сложно ли учиться в ИТМО.Призн
аться этот вопрос у меня периодически спрашивают школьники, так что отвечу свое мнение тут.
Участь в ИТМО вы можете сами определять насколько сложно вам будет учиться. По сути у вас есть несколько вариантов, между которыми вы можете найти себя.
• Вариариант легкий: есть базовый набор курсов, которые вы слушаете и можете что-то пропускать, и лабы делать спустя рукава или вообще через GPT (естественно это все видно хорошо), кроме того вы не участвуете в другой движухе на факультете (а ее много, об этом далее). В таком случае учиться будет просто. Очевидно - вы так ничему не научитесь, а с учетом развития ИИ еще и работу будет не найти.
• Вариант сложный: вы ходите на все лекции, делает все лабы (плюс доп задания которые тоже бывают в лабах), все лабы делаете сам, вы участвуете во всех мероприятиях и темах, которые предоставляет факультет, и чтобы было совсем классно - вы еще устраиваетесь куда-то на работу. В этом случае учиться будет сложно, интересно, но такой подход думаю близок к износу организма. Хотя я знаю и таких студентов - их сразу работодатели находят и предлагают трудоустройство.
• Вариант
В любом случае работать и учиться спустя рукава я не рекомендую. Я считаю, что студенческие годы - это годы когда надо прям "пахать" - много работать. У вас еще молодой организм и вместо того чтобы тратить его ресурсы на выпивку (осуждаю) и праздный образ жизни (тоже осуждаю), вы можете его тратить на инвестиции в свое развитие. Развитие возможно только преодолевая трудности ("единственный способ стать умнее - играть с более умным соперником") как в учебе (пробуйте решить задания со звездочкой, пробуйте лабы делать самостоятельно, пробуйте пробуйте пробуйте), так и не стоит забывать про ЗОЖ и спорт - ходите на тренировки, в походы, участвуйте в волонтерских проектах, общайтесь с людьми, влюбляйтесь и радуйтесь - живите полной жизнью!
P.S. В ближайшее время сделаю посты про движухи на факультете и мой собственный опыт студенческих лет.
❤20🍌1
Forwarded from Dev Meme / devmeme
This media is not supported in your browser
VIEW IN TELEGRAM
🤣4🎉2🤩1💯1🍌1
Как написано на кружке справа:
Лучшая защита - это понимание.
Все верно написано, и это применимо во всех сферах жизни.
Я поздравляю всех с Днём Знаний!
Желаю всем прекрасного, насыщенного и интересного учебного года! Пусть он будет наполнен новыми вызовами, с которыми вы все блестяще справитесь и станете лучше!
Лучшая защита - это понимание.
Все верно написано, и это применимо во всех сферах жизни.
Я поздравляю всех с Днём Знаний!
Желаю всем прекрасного, насыщенного и интересного учебного года! Пусть он будет наполнен новыми вызовами, с которыми вы все блестяще справитесь и станете лучше!
🔥9👍2🍌1
Как некоторые из вас уже знают, я учился в Политехе (Политех Петра), на факультете технической кибернетики (ФТК — сейчас его уже нет в результате реструктуризации), на кафедре информационной безопасности компьютерных систем (ИБКС, сейчас это Институт кибербезопасности). Учился я на специалитете — 5 лет — и закончил его в 2010-м году. Диплом у меня был посвящён созданию защищённых систем виртуализации, как, собственно, и моя кандидатская диссертация — её я защитил в 2013-м.
Учиться было трудно)
Я как раз выбрал такой средний, сбалансированный вариант. Не скажу, что участвовал во всей движухе — отнюдь. На кафедре и факультете, как и в институте в целом, было не так уж много движухи, ну а я, как интроверт, всё это пропускал)
Тем не менее на первых двух курсах я ходил на все лекции, особенно на физику, математику и всё, что было по специальности.
Набор курсов был интересным: и теория компиляторов, и системы управления базами данных, и даже искусственный интеллект (в то время это был Prolog).
Хочу немного пояснить про искусственный интеллект — нынче модную тему. Этот курс был посвящён в основном экспертным системам, и все лабы были на языке Prolog.
Ох, в своё время для моего императивно мыслящего мозга это было очень сложно. Вроде смотришь на код — как будто функции:
А это нифига не функции) Это предикаты, и запускать надо так:
Кому интересно — рекомендую полюбопытствовать в качестве упражнения для мозгов.В то время мы с друзьями в составе четырёх человек на выходных завалились ко мне домой и пытались вместе разобраться с этой штукой. Успешно, впрочем.
Но главная фишка моего обучения была в том, что меня с первого курса — со второго семестра — пригласили на работу. Я был несказанно счастлив. Первые два месяца мне не платили, потом я работал примерно за 5к (тогда у меня стипендия была больше), но всё равно был очень рад приобщиться к реальному рабочему процессу. С лета начал работать full-time и каждый день ездил на работу на электричке из Токсово. Я, конечно, тогда ничего особо не умел (сейчас вообще не понимаю, за что мне платили даже те деньги...), однако как начал там работать в коллективе из 5–6 человек, так и продолжил. В результате я проработал там больше 12 лет и дорос до должности системного архитектора, а компания к тому моменту выросла до 100 человек.
Прекрасный опыт. Там я сделал много проектов, многие придумывал сам и сам же реализовывал. Довелось поработать и просто тестировщиком, и разработчиком, и даже несколько лет поруководить командой из 10 человек как PM. Потом решил, что кодить всё-таки интереснее))) Стал тимлидом, а затем системным архитектором.
Я понимаю, что вряд ли кто-то из них это читает, но я благодарен всем моим руководителям, учителям и коллегам за те годы. Спасибо вам!
Так вот, из-за того, что я начал работать с первого курса, некоторые вещи я узнавал сперва на практике, а уже потом слушал про них на лекции.«А-а-а... Вон оно как на самом деле...» — думал я на лекции. Конечно, так было не всегда. Приведу пример с компьютерными сетями. Сначала на работе я писал код для сетевого фильтра и видел все сетевые пакеты как u8* p_packet, парсил MAC, IP, TCP и т. д. А потом уже на лекциях мне рассказывали, что такое OSI и всё остальное...
👇👇👇
Учиться было трудно)
Я как раз выбрал такой средний, сбалансированный вариант. Не скажу, что участвовал во всей движухе — отнюдь. На кафедре и факультете, как и в институте в целом, было не так уж много движухи, ну а я, как интроверт, всё это пропускал)
Тем не менее на первых двух курсах я ходил на все лекции, особенно на физику, математику и всё, что было по специальности.
Набор курсов был интересным: и теория компиляторов, и системы управления базами данных, и даже искусственный интеллект (в то время это был Prolog).
Хочу немного пояснить про искусственный интеллект — нынче модную тему. Этот курс был посвящён в основном экспертным системам, и все лабы были на языке Prolog.
Ох, в своё время для моего императивно мыслящего мозга это было очень сложно. Вроде смотришь на код — как будто функции:
factorial(N, Result) :-
( N =:= 0
-> Result = 1
; N1 is N - 1,
factorial(N1, Partial),
Result is N * Partial
).
main :-
factorial(5, F), format('factorial(5) = [F]).А это нифига не функции) Это предикаты, и запускать надо так:
?- main.factorial(5) =
120 true.Кому интересно — рекомендую полюбопытствовать в качестве упражнения для мозгов.В то время мы с друзьями в составе четырёх человек на выходных завалились ко мне домой и пытались вместе разобраться с этой штукой. Успешно, впрочем.
Но главная фишка моего обучения была в том, что меня с первого курса — со второго семестра — пригласили на работу. Я был несказанно счастлив. Первые два месяца мне не платили, потом я работал примерно за 5к (тогда у меня стипендия была больше), но всё равно был очень рад приобщиться к реальному рабочему процессу. С лета начал работать full-time и каждый день ездил на работу на электричке из Токсово. Я, конечно, тогда ничего особо не умел (сейчас вообще не понимаю, за что мне платили даже те деньги...), однако как начал там работать в коллективе из 5–6 человек, так и продолжил. В результате я проработал там больше 12 лет и дорос до должности системного архитектора, а компания к тому моменту выросла до 100 человек.
Прекрасный опыт. Там я сделал много проектов, многие придумывал сам и сам же реализовывал. Довелось поработать и просто тестировщиком, и разработчиком, и даже несколько лет поруководить командой из 10 человек как PM. Потом решил, что кодить всё-таки интереснее))) Стал тимлидом, а затем системным архитектором.
Я понимаю, что вряд ли кто-то из них это читает, но я благодарен всем моим руководителям, учителям и коллегам за те годы. Спасибо вам!
Так вот, из-за того, что я начал работать с первого курса, некоторые вещи я узнавал сперва на практике, а уже потом слушал про них на лекции.
👇👇👇
❤7👍2
Второй особенностью того, что я начал работать с первого курса, стало то, что я начал пропускать некоторые лекции. Второй курс я ещё держался и ходил на всё, но вот на третьем как-то раз больше месяца не появлялся в институте, а вместо этого ходил на работу. Нетрудно догадаться, что это привело к проблемам, которые я потом, надрываясь, исправлял.В частности, как сейчас помню: последний день зачётной недели — пятница. У меня ни одного зачёта, а нужно было получить минимум пять для допуска к экзаменам, иначе сразу допса. Я не спал две ночи — реально проснулся в среду и больше не смыкал глаз — и всё это время делал лабораторные. В пятницу утром я пришёл на работу в офис попить кофе и подготовиться к сдаче лаб. Потом — бац — уже вечер пятницы, а я сдал пять зачётов + один экзамен и наконец-то могу поспать! Не делайте так — не спать две ночи вредно для здоровья.
Вот такие первые флешбэки с моей учёбы. Будут ещё)
Всем хорошего дня!
Вот такие первые флешбэки с моей учёбы. Будут ещё)
Всем хорошего дня!
❤11🔥4👍2🍓1
Всем привет!
Скоро мы запускаем новый проект и сейчас ищем людей, которым интересна глубокая работа с аппаратным обеспечением.
Будем много работать руками и головой: паять, прошивать, конструировать, анализировать, проводить измерения, трейсить сигналы, разбираться в схемах и чипах — и делать много всего интересного на стыке hardware и low-level разработки.
Что желательно иметь на старте:
— базовые навыки пайки;
— понимание основ электроники;
— опыт работы с измерительным оборудованием: осциллографами, мультиметрами, лабораторными блоками питания и т. д.
Но самое важное — желание ковыряться в железе, залезать поглубже в устройство чипов и систем, разбираться, как всё работает на самом деле, и развиваться в этом направлении.
В рамках проекта будем вместе приобретать новые навыки, осваивать современные технологии и сразу применять их на практике.
Если вам интересно это направление и хочется развиваться в hardware — пишите мне в личку иди direct на канале.
Скоро мы запускаем новый проект и сейчас ищем людей, которым интересна глубокая работа с аппаратным обеспечением.
Будем много работать руками и головой: паять, прошивать, конструировать, анализировать, проводить измерения, трейсить сигналы, разбираться в схемах и чипах — и делать много всего интересного на стыке hardware и low-level разработки.
Что желательно иметь на старте:
— базовые навыки пайки;
— понимание основ электроники;
— опыт работы с измерительным оборудованием: осциллографами, мультиметрами, лабораторными блоками питания и т. д.
Но самое важное — желание ковыряться в железе, залезать поглубже в устройство чипов и систем, разбираться, как всё работает на самом деле, и развиваться в этом направлении.
В рамках проекта будем вместе приобретать новые навыки, осваивать современные технологии и сразу применять их на практике.
Если вам интересно это направление и хочется развиваться в hardware — пишите мне в личку иди direct на канале.
🔥11
Forwarded from Постироничные идеи для ебаного C++ (Ivan Sokolov)
This media is not supported in your browser
VIEW IN TELEGRAM
❤10
Forwarded from Dev Meme / devmeme
#news
Cost of it is millions of dollars
But when o3 was announced it costed half a million to score 87.5% on ARC-AGI 1
Today, Astra scores higher for ~$20
In 2025 it took us and GDM an enormous amount of compute to achieve IMO gold. For the 2026 IMO, anyone with a $20/month ChatGPT subscription could do it
Cost of it is millions of dollars
But when o3 was announced it costed half a million to score 87.5% on ARC-AGI 1
Today, Astra scores higher for ~$20
In 2025 it took us and GDM an enormous amount of compute to achieve IMO gold. For the 2026 IMO, anyone with a $20/month ChatGPT subscription could do it
🤯3
🚀 Binary Thinking: С++ & Windows
Это будет курс не про «выучить синтаксис C++» и не про очередное повторение учебника.
Мы будем разбираться, как программный код работает на самом деле — от исходника на C/C++ до машинного кода, памяти процесса, операционной системы и ядра.
Начнем с software internals и на практике посмотрим, как связаны:
→ код на C/C++
→ компилятор и линкер
→ object files
→ assembler и machine code
→ executable files
→ runtime memory
→ stack и heap
→ процессы, библиотеки и операционная система
Разберемся, что происходит с программой между моментом, когда вы нажали Build, и моментом, когда процессор начал выполнять инструкции, и какие именно он будет выполнять.
🛠 Сборка и организация проектов
Научимся работать с Visual Studio, VS Code, CMake и Makefile.
Но главное — разберемся не только как ими пользоваться, а когда какой инструмент выбирать, как их сочетать и как правильно организовывать реальный проект.
⚙️ C → C++
Отдельно перейдем от C к C++.
Я покажу, почему это не просто «C с классами», а во многом совершенно другой язык и другой способ проектирования программ.
Разберем ключевые механизмы C++ так, чтобы после курса вы могли использовать язык осознанно и уверенно.
🏗 Software Design
Будем много говорить опроектировании ПО:
OOP, архитектура, декомпозиция, интерфейсы, зависимости и design patterns.
И не просто смотреть схемы на слайдах — будем применять всё это в коде.
🐛 Debugging & Reverse Engineering
Научимся пользоваться профессиональными инструментами:
kd, cdb, gdb, Visual Studio Debugger, VS Code, системами tracing и profiling, а также декомпиляторами и другими инструментами анализа программ.
Будем смотреть, что происходит с программой не только на уровне исходного кода, но и внутри процесса и операционной системы.
🪟 Windows Internals
Отдельный большой блок посвятим Windows — одной из самых сложных современных операционных систем.
Разберемся, как она устроена, как работают процессы, память, DLL, exceptions, user mode и kernel mode и как правильно писать системный код под Windows.
Для сравнения будем регулярно заглядывать и в Linux.
🎮 Большой практический проект
С нуля спроектируем и напишем собственную игру.
На ее примере разберем полный жизненный цикл проекта:
архитектура → код → сборка → отладка → profiling → организация проекта → deployment.
Все знания курса постепенно соберем в один большой работающий проект.
🔬 Будет много экспериментов
DLL injection.
Stack overflow.
Kernel debugging.
ROP.
Запустим DOOM через pipe.
Попробуем запихнуть DOOM в driver.
И вообще будем регулярно делать вещи, после которых становится значительно понятнее, что происходит внутри компьютера
😈Я подготовил большое количество реального кода для разбора: Linux, Windows, BIOS (AMI), драйверы, приложения, шеллкоды, DOOM, GTA V и другие проекты.
Будем читать код, запускать его, отлаживать, дизассемблировать, модифицировать и исследовать его поведение.
💻 Максимум практики
Я буду прямо на занятиях писать код, экспериментировать, показывать решения из реальных проектов, что-то делать вручную, что-то вайбкодить и вместе с вами разбираться, почему один подход работает, а другой — нет.
Конечно, будем использовать и современные LLM-инструменты. Я покажу, как использую их сам: где они действительно ускоряют разработку, где ошибаются и как применять их так, чтобы они помогали понимать код, а не заменяли понимание.
🎯 Главная цель курса
Дать вам ключевые практические навыки проектирования, создания, отладки и анализа программного обеспечения.
После курса у вас должно появиться целостное понимание:
что такое C и C++ на практике, как работает программный код, что происходит внутри Windows и Linux и как все эти уровни связаны между собой.
И, конечно, я буду отвечать на вопросы и помогать разбираться со сложными темами по ходу всего курса.
Если вам интересно не простописать код, а понимать, что происходит под капотом, — этот интенсив именно про это.
Если вам это интересно прошу принять участие в предварительном голосовании, чтобы мне все спланировать.
👇👇👇
Это будет курс не про «выучить синтаксис C++» и не про очередное повторение учебника.
Мы будем разбираться, как программный код работает на самом деле — от исходника на C/C++ до машинного кода, памяти процесса, операционной системы и ядра.
Начнем с software internals и на практике посмотрим, как связаны:
→ код на C/C++
→ компилятор и линкер
→ object files
→ assembler и machine code
→ executable files
→ runtime memory
→ stack и heap
→ процессы, библиотеки и операционная система
Разберемся, что происходит с программой между моментом, когда вы нажали Build, и моментом, когда процессор начал выполнять инструкции, и какие именно он будет выполнять.
🛠 Сборка и организация проектов
Научимся работать с Visual Studio, VS Code, CMake и Makefile.
Но главное — разберемся не только как ими пользоваться, а когда какой инструмент выбирать, как их сочетать и как правильно организовывать реальный проект.
⚙️ C → C++
Отдельно перейдем от C к C++.
Я покажу, почему это не просто «C с классами», а во многом совершенно другой язык и другой способ проектирования программ.
Разберем ключевые механизмы C++ так, чтобы после курса вы могли использовать язык осознанно и уверенно.
🏗 Software Design
Будем много говорить опроектировании ПО:
OOP, архитектура, декомпозиция, интерфейсы, зависимости и design patterns.
И не просто смотреть схемы на слайдах — будем применять всё это в коде.
🐛 Debugging & Reverse Engineering
Научимся пользоваться профессиональными инструментами:
kd, cdb, gdb, Visual Studio Debugger, VS Code, системами tracing и profiling, а также декомпиляторами и другими инструментами анализа программ.
Будем смотреть, что происходит с программой не только на уровне исходного кода, но и внутри процесса и операционной системы.
🪟 Windows Internals
Отдельный большой блок посвятим Windows — одной из самых сложных современных операционных систем.
Разберемся, как она устроена, как работают процессы, память, DLL, exceptions, user mode и kernel mode и как правильно писать системный код под Windows.
Для сравнения будем регулярно заглядывать и в Linux.
🎮 Большой практический проект
С нуля спроектируем и напишем собственную игру.
На ее примере разберем полный жизненный цикл проекта:
архитектура → код → сборка → отладка → profiling → организация проекта → deployment.
Все знания курса постепенно соберем в один большой работающий проект.
🔬 Будет много экспериментов
DLL injection.
Stack overflow.
Kernel debugging.
ROP.
Запустим DOOM через pipe.
Попробуем запихнуть DOOM в driver.
И вообще будем регулярно делать вещи, после которых становится значительно понятнее, что происходит внутри компьютера
😈Я подготовил большое количество реального кода для разбора: Linux, Windows, BIOS (AMI), драйверы, приложения, шеллкоды, DOOM, GTA V и другие проекты.
Будем читать код, запускать его, отлаживать, дизассемблировать, модифицировать и исследовать его поведение.
💻 Максимум практики
Я буду прямо на занятиях писать код, экспериментировать, показывать решения из реальных проектов, что-то делать вручную, что-то вайбкодить и вместе с вами разбираться, почему один подход работает, а другой — нет.
Конечно, будем использовать и современные LLM-инструменты. Я покажу, как использую их сам: где они действительно ускоряют разработку, где ошибаются и как применять их так, чтобы они помогали понимать код, а не заменяли понимание.
🎯 Главная цель курса
Дать вам ключевые практические навыки проектирования, создания, отладки и анализа программного обеспечения.
После курса у вас должно появиться целостное понимание:
что такое C и C++ на практике, как работает программный код, что происходит внутри Windows и Linux и как все эти уровни связаны между собой.
И, конечно, я буду отвечать на вопросы и помогать разбираться со сложными темами по ходу всего курса.
Если вам интересно не простописать код, а понимать, что происходит под капотом, — этот интенсив именно про это.
Если вам это интересно прошу принять участие в предварительном голосовании, чтобы мне все спланировать.
👇👇👇
❤10🤮1