Pull to refresh

JetBrains открывает базовую кафедру на факультете компьютерных наук НИУ ВШЭ

Образовательные проекты JetBrains corporate blog Studying in IT

Базовая кафедра JetBrains будет поддерживать новую специализацию “Средства анализа и разработки программного обеспечения” для студентов 3-4 курса бакалаврской программы “Программная инженерия”. Планируется, что первый набор на специализацию состоится уже в 2021-2022 учебном году. Также преподаватели кафедры будут вести несколько факультативов: “Язык Kotlin”, “Неклассические логики” — и практические занятия по программированию для первокурсников.

Читать далее
Total votes 19: ↑19 and ↓0 +19
Views 5.6K
Comments 8

Неплохая статья о преподавании программной инженерии

Website development *
www.interface.ru/home.asp?artId=1064

Есть информация, полезная любому разработчику. Некоторые цитаты:

"Заблуждение 3: Планирование в программной инженерии осуществляется хуже, чем в других областях

[...]
Флайвберг, Брузелиус и Розенгаттер приводят примеры нескольких известных проектов с крупными перерасходами бюджетов:

Суэцкий канал (1869 год) — перерасход на 1900%;
Сиднейский оперный театр (1973 год) — перерасход на 1400%;
«Конкорд» (первый полет в 1969 году) — перерасход на 1100%;
Панамский канал (1913 год) — перерасход на 200%;
Бруклинский мост (1883 год) — перерасход на 100%."


Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Views 1.7K
Comments 11

Вонючие дипломы или стальное колечко?

Lumber room

Первый вариант висячего моста в США, в штате Вашингтон через пролив Такома-Нэрроуз, который разрушился 7 ноября 1940 года из-за недоучёта ветровой нагрузки и явления механического резонанса. Восстановленный мост был открыт в 1950 году.

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

Вонючие дипломы или стальное колечко?
В Канаде инженеры, получающие диплом по окончании обучения по аттестованным инженерным программам, при выпуске получают стальное кольцо. С 1923 года это кольцо вручается на закрытой церемонии, которую разработал Редьярд Киплинг. Традиция гласит…
Читать дальше →
Total votes 34: ↑23 and ↓11 +12
Views 858
Comments 22

Программная инженерия в НИУ-ВШЭ, абитуриентам

Studying in IT

Приветствую молодую часть Хабрахабра.

Как вы можете догадаться из названия топика, речь пойдёт об абитуриентах, кто в эти выходные делает выбор — МГУ или ВШЭ, а может между чем-то ещё.

Я успешно отучился 2 (UPD: 4) курса на факультете программной инженерии ВШЭ, давно хотел написать небольшой рекламный пост.
Рекламщик из меня плохой, да и вопросов для обзора придумать самостоятельно не смог.

Зато в эти дни меня часто стали спрашивать примерно так
Привет! Ты с ПИ ВШЭ? Если да, то можешь ответить на несколько вопросов по поводу ПИ (я абитуриент, надо определиться окончательно в ближайшие дни).


И я подумал, почему бы не ответить подробно и не выложить на хабр. Вопросы довольно специфичные и относятся к первым двум курсам.
Предполагается, что вы уже знакомы с НИУ-ВШЭ и, в частности, с факультетом ПИ.
Данная статья была актуальна пару лет назад, сейчас многое изменилось в лучшую сторону, а ещё Яндекс и Высшая школа экономики открывают факультет Computer Science.

Мне интересно, хочу увидеть вопросы и ответы
Total votes 52: ↑35 and ↓17 +18
Views 69K
Comments 77

Современные технологии проектирования ПО в контексте теории коммуникации и метода декомпозиции

Programming *
Sandbox
Использование родного языка для начинающих изучать программирование является традиционной практикой в процессе обучения информатики. Ей оппонирует профессиональная и научная разработка ПО, в которой Английский язык является «лингво франка». Где формальный английский — это тщательным образом выбранные имена ключевых слов и переменных, обращённые к ассоциативному и творческому мышлению на языке оригинала.
Читать дальше →
Total votes 9: ↑6 and ↓3 +3
Views 9.3K
Comments 9

Вебинар «Работа в компании или магистратура: раскрываем плюсы и минусы для разработчика»

Innopolis University corporate blog Programming *Development of mobile applications *Robotics development *
Карьерный рост в IT — какой путь выбрать? 26 мая на этот вопрос подробно ответит руководитель группы разработки в прошлом, а сейчас ведущий преподаватель и научный сотрудник Университета Иннополис Василий Артемьев.

image
Читать дальше →
Total votes 19: ↑10 and ↓9 +1
Views 5.8K
Comments 2

Говорит ли ваш код по-русски?

Programming *
Sandbox

Да, это пока не широко распространено. Обработка естественного языка еще недостаточно развита и не интегрирована с разработкой. Также, как нет и удобных способов интегрировать код с поиском или виртуальным помощником (таким как Siri). Голосовые команды имитируют GUI пути (щелчок-открыть-щелчок). Семантический Веб пытается познакомить приложения со смыслом, но все еще не может достигнуть широкой аудитории. Behavior-driven development (BDD) полагается на DSL (предметно-ориентированный язык), который близок к естественному, но этого все еще недостаточно, чтобы научить ваш код говорить.


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


  • который будет адаптирован к естественному языку
  • которому будет легко обучить широкий круг людей
  • который может выступать связующим звеном между естественным языком и компьютерными сущностями
  • который сможет создавать окружение в как можно большем количестве областей программной инженерии
Читать дальше →
Total votes 19: ↑14 and ↓5 +9
Views 7.9K
Comments 12

Может ли рассуждать ваш код?

Programming *

Когда мы думаем о рассуждениях (reasoning) в программировании, первое, что приходит в голову — это логическое программирование и подход базируемый на правилах (rule-based), экспертные системы и системы управления бизнес-правилами (business rule management systems, BRMS).


Общераспространенные мультипарадигмальные языки практически не включают эти подходы, хотя и работают с ними посредством библиотек и интерфейсов. Почему? Потому что эти языки не могут включать себя формы, которые в некотором смысле противоречат их сути. Популярные языки программирования обычно работают с детерминизмом (ожидаемые данные, сценарии использования, и т.п.), в то время как подходы, использующие рассуждения, обычно работают с неопределенностью (непредсказуемые данные, сценарии использования, и т.п.). Рассуждения (reasoning) будет различным в обеих случаях тоже. В первом, рассуждает архитектор или разработчик, во втором же рассуждает машина вывода/правил (reasoning/rule engine).


Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 7.8K
Comments 6

Разыменование нулевых указателей больше не проблема

Innopolis University corporate blog Programming *
image

Дефект, который справедливо считается «чумой» современного программирования преодолим. Предлагаем ознакомиться с переводом статьи Бертрана Мейера, французского учёного, создателя языка программирования Eiffel, приглашенного профессора и руководителя Лаборатории программной инженерии Университета Иннополис. Оригинал статьи опубликован в журнале Сommunications of the ACM.
Читать дальше →
Total votes 34: ↑20 and ↓14 +6
Views 8.3K
Comments 21

Конец программной инженерии и последний методист

Information Security *IT systems testing *Programming *Development Management *IT career
Translation
Это перевод статьи профессора Бертрана Мейера из блога Communications of the ACM.
Статья относительно недавняя (по сравнению с предыдущим переводом).

Кроме того, что Бертран Мейер известен большинству специалистов как создатель языка программирования Eiffel и идей контрактного программирования (design by contract), он является почетным доктором и заведующим кафедрой ИТМО, преподает в университете Иннополис. И прекрасно владеет русским языком. ;)

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

Но так было в давние времена. За некоторыми исключениями, одно из которых будет упомянуто ниже, если кто и продолжает изучать методологии программирования, занимается он этим уже в мире agile, там, где решающие доводы часто начинаются с фразы «Я всегда говорю…» (Пример со страницы консультанта: «я всегда говорю команде: ‘Мне хотелось бы, чтобы [пользовательские] истории были небольшими, умещались в одну итерацию, однако такой путь не всегда приемлем»). Дейкстра, бывало, апеллировал к интуиции, однако подтверждал ее строгими концептуальными доказательствами.
Читать дальше →
Total votes 25: ↑20 and ↓5 +15
Views 16K
Comments 141

Программирование — это материализация идей

Programming *


Основной тезис этой статьи: Разработку программного обеспечения следует рассматривать как материализацию идей посредством трансформации ментальных моделей в программный код.
В статье описывается парадигма материализации идей в программной инженерии (engl.: RPSE: Reification as Paradigm of Software Engineering).
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 9.4K
Comments 30

Образование программисту – Что? Где? Когда?

Programming *IT Infrastructure *Infographics The future is here Interview


Привет, Хабр! Уже много сказано об образовании, в частности для программистов, о программах, что лучше подходят или не подходят, но каждый год ситуация меняется и как бы грустно не было, в этом надо разбираться (будь ты абитуриент или работодатель). Очень важно начать свой путь именно с выбора alma mater… Прошу под кат всех, кого не испугает длинная статья по теме.

Читать дальше →
Total votes 18: ↑11 and ↓7 +4
Views 114K
Comments 54

Почему вы должны думать о функциональном программировании

Java *Scala *Functional Programming *
Sandbox
Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию.

image

Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы:

  • всегда ли ваши проекты выполняются в определенные сроки?
  • Были ли у пользователей какие-либо жалобы?
  • Поддержка проекта никогда не занимала много времени?
  • Новый функционал всегда удачно вписывается в существующую архитектуру?

Если ответы на все вышеупомянутые вопросы положительные, вам не нужно ничего менять, ваша команда — редкий пример гармоничного персонала, методологии и инструментов. В противном случае вы должны быть открыты для новых подходов к решению ваших проблем, включая критический взгляд на используемые технические средства и языки программирования.
Читать дальше →
Total votes 31: ↑21 and ↓10 +11
Views 17K
Comments 59

Изменение требований к проекту — ключевая проблема разработки ПО

Дата-центр «Миран» corporate blog Development Management *Project management *Agile *
Translation

Шаги по разработке большой компьютерной программы для доставки заказчику

Иллюстрация выше — из статьи д-ра Уинстона Ройса «Управление разработкой больших программных систем» 1970 года. Считается, что это первое в программной инженерии описание модели водопада. Диаграммы д-ра Ройса разошлись по сотням учебников и статей. Но часто забывают тот факт, что изобретатель водопада сразу написал: «Эта конкретная реализация рискованна и влечёт за собой неудачу».

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

Прошло уже более 50-ти лет с момента проведения первой конференции IFIP по программной инженерии, и за это время предложено немало различных методик, процессов и моделей, призванных помочь разработчикам достичь этого предсказуемого и экономически эффективного процесса. Но и через полвека у нас те же проблемы, что и всегда: опоздания, неудовлетворительные результаты и полные провалы проектов.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Views 12K
Comments 26

Почему чтобы переместить кнопку, нужно две недели

VDSina.ru corporate blog System Analysis and Design *Development Management *Popular science
Translation
Многие сталкивались с нерелятивистскими искажениями времени разработки крупных проектов. Кажется, что выполнение задачи должно занять один-два дня, а на самом деле требуется две-три недели. Это вызывает вопросы, однако существует красивая метафора для иллюстрации происходящего. Разумеется, как любая метафора, она упрощает ситуацию, поэтому на самом деле ничего не объясняет, но всё же демонстрирует некоторые любопытные механики.


Допустим, мы строим пирамиду из кирпичиков Lego размером 2x2 блока. Сколько потребуется времени на создание MVP (minimum viable product) пирамиды? Столько, сколько требуется для установки одного кирпичика! Допустим, это 1 секунда. То есть мы создали MVP пирамиды за 1 с. Сколько потребуется времени на реализацию v1? Нам нужно установить ещё три детали на уровне 0 и одну на уровне 1. Ещё 4 детали, то есть ещё 4 секунды. А для версии v2? Ещё пять деталей на уровне 0, три детали на уровне 1 и одна на уровне 2 — суммарно девять деталей и ещё девять секунд.
Читать дальше →
Total votes 54: ↑49 and ↓5 +44
Views 17K
Comments 23

Делу время, потехе час! Тезисы «мифического человеко-месяца» Фредерика Брукса, в пословицах и поговорках

RUVDS.com corporate blog Professional literature *Development Management *Project management *Product Management *

Время — судья


Книга “мифический человеко-месяц”, заслуживает того, чтобы её читали и перечитывали, издавали и переиздавали. В 2025 году, а он не за горами, будет 50 лет первому изданию. Т.е. проверка временем пройдена. В 1995 году вышло юбилейное издание (ждём юбилейного издания 2К25), в предисловии к которому, автор, помимо прочего, сообщает:
Работая над обзором и обновлением книги «Мифический человеко-месяц», я поразился, как мало тезисы, заявленные в ней, были подвергнуты критике, доказаны или опровергнуты текущими исследованиями и опытом в инженерии ПО. Теперь для меня оказалось полезным каталогизировать эти тезисы в сырой форме, лишённой подтверждающих аргументов и данных. В надежде, что эти голые утверждения привлекут аргументы и факты для доказательства, опровержения, обновления или уточнения, я включил этот план в главу 18.

Кто празднику рад, тот накануне пьян


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

В споре рождается истина


А цель всё та же что у Брукса, ещё раз обратить внимание, и привлечь новые аргументы, доказательства, опровержения или уточнения.

А заодно расслабиться, и повеселиться. Не воспринимайте написанное слишком буквально — без смешного нельзя понять серьёзное.
Читать от доски до доски...
Total votes 60: ↑59 and ↓1 +58
Views 13K
Comments 17