умение видеть весь процесс разработки ПО в комплексе. • Жизненный цикл программы практически в каждый момент имеет отношение к некоторому технологическому процессу, некоторому языку и некоторому инструментарию системы программирования. • Поэтому нам необходимо не только знание каждого из этих направлений, но и понимание теснейших внутренних и внешних связей и зависимостей между ними.
Scala ◦ Ruby ◦ Python • Язык как инструмент. • Политические аспекты языка ◦ Причины, проблемы, контекст, история. • Технические аспекты языка ◦ Характеристики, выразительность, Методологии, Библиотеки и возможности.
обеспечения, поддерживающая процесс программирования и работу уже готовых программ. • Basic ◦ IDE Eclipse и её основные возможности. • Advanced ◦ Далее, для сложных проектов, или в частных случаях – необходимы более специфические инструменты, решающие отдельные задачи. • System ◦ Системы, спасающие разработку.
основные знания. • ООП методология программирования • Спецификация • UML как общий язык ??? • Eclipse – системы программирования. • Модульное тестирование • Программирование под виртуальную машину • Платформа программирования • Языки программирования – характеристики
и нефункциональные требования • Research & Development (Analysis & Development) • Dependencies / Dependency Management • Abstractions Based Design • Invariant Based Design • Behaviour Based Design • Test Driven Design • Value / Identity • State / Life cycle • Patterns • Error Handling / Logging