Настоятельно рекомендуется хорошее знание математики [не обязательно]. На мой взгляд, знание физики не так важно, но базовые знания физики обязательно помогут.
Информатика уходит корнями в математику, и как программирование, так и математика требуют хороших аналитических навыков и навыков решения проблем.
Вишня информатики выбирает математику для своих нужд, по крайней мере, там, где вы не используете вычисления в области, которая в значительной степени является математической, например, для программирования игр.
Это включает логику, теорию графов, статистику, векторы и тригонометрию, теорию множеств. Для средней работы ваша ежедневная задача будет включать логику и не более того. Если вы получаете работу выше среднего, то это может измениться.
Зависит от сферы вашей деятельности. Если вы пытаетесь реализовать какую-то гравитационную модель для игрового движка, знание физики, несомненно, поможет.
Я думаю, что знание математики необходимо, однако вы всегда будете сталкиваться с проблемами, связанными с математикой. Например, я работаю веб-разработчиком; для одного клиента мы должны были сделать инструмент/функцию на его сайте, которая вычисляет расстояния между местами. Но программист не знал, как реализовать/использовать теорему Пифагора...
Для программирования как такового: полезно придумать соотношения и функции, но глубоких знаний не требуется. Если вы не хотите заниматься более глубокими вопросами и более теоретическими вещами: да, это математика. Физика не нужна, если, конечно, вы не хотите решить задачу по физике.
Я разработчик игр и, честно говоря, должен сказать, что вам не нужно много математики и очень мало физики. Все, что я использовал до сих пор, это тригонометрия, линейная алгебра (для 3d матриц) и некоторые интерполяции. Я бы не сказал, что это сложная математика. Что касается физики, некоторые знания о механике и силах должны помочь, если вы хотите моделировать окружающую среду, но в остальном я не вижу смысла.
Я также делал некоторые другие приложения в свободное время и никогда не нуждался в математике выше 8 класса.
Программирование - это в основном организованное мышление о проблеме. Математика и физика - это области, в которых вам тоже нужно довольно ясно мыслить. Так что, если вы разбираетесь в математике, она будет вам полезна, потому что вы научитесь структурировать задачи и решать их.
Что касается конкретных математических понятий, математика - это настолько обширная область, что какую бы специализированную тему вы ни закончили программированием, вам придется взять книгу и изучить ее. Например, я прошел инженерный курс с огромным количеством физики и математики, но мне пришлось выучить всю финансовую математику, когда я начал работать, потому что это довольно специализированные вещи. Но научиться этому несложно, если вы привыкли мыслить организованно.
Вопрос, заданный конкретно о «Программной инженерии», и, конечно же, программная инженерия может включать в себя еще несколько чем программирование. Как программисту вам нужно будет делать такие вещи, как оценивать усилия, необходимые для выполнения проекта, или оценивать влияние рисков. Снижение риска и некоторые модели оценки усилий основаны на нетривиальных распределениях вероятностей и, чтобы их использовать по назначению, необходимо понимать.
Еще одна область - оценки звездных величин. Если вы разрабатываете алгоритм, который потенциально может использоваться много раз или вам нужно обрабатывать большие объемы данных, вам нужно будет оценить, как время, необходимое для алгоритма-кандидата, будет расти, когда его требуется выполнять много раз или с увеличением нагрузки данных. , по сравнению с каким-либо другим алгоритмом, который может быть более или менее эффективным. Для этого требуется математическая модель ваших алгоритмов.
Мой совет: если вы планируете участвовать в более крупных аспектах разработки программного обеспечения, не пропускайте курсы математики.
Чтобы ответить на ваш вопрос: вам понадобится хорошая математика и физика, если вы пишете научные (ну, научные типа физики) и инженерные программы. Для более общих целей хорошая математика лучше плохой математики, но плохой математики часто бывает достаточно, а физика может быть совершенно неважной. Хорошая математика - это вопрос темы (например, теория графов полезнее вещественного анализа, арифметика полезнее топологии) и глубины знаний.