Что такое разработка ПО?
Искал в интернете по этой теме, но осталось поверхностное понятие. 
Это очень печально. В интернете по этой теме все написано настолько внятно, насколько возможно.
Если же понятие осталось поверхностным, очень сомневаюсь что есть смысл идти в эту тему.

Входит ли разработка ПО в computer science?
Иногда да, иногда нет.

Какой язык лучше всего подходит для программирования ПО?
Программирование ПО это "масло масляное". Грамотно говорить разработка Программного Обеспечения.
Любая программа - это ПО. Для разных программ лучше всего подходят разные языки.

P.S С математикой все норм 
Математика лишь тем уже полезна, что она ум в порядок приводит (C) Ломоносов.

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

Поэтому развивайте логику, усидчивость и попробуйте на подобные элементарные вопросы найти ответы самостоятельно, потратив не 5 минут, а хотя бы пару вечеров.
Для этого нужно понять что такое Программа - это некоторый набор действий для компьютера(любого устройства способного исполнить набор действий) - решающий определенную задачу. Таким образом разработка ПО - это прежде всего грамотная постановка задачи из абстрактных представлений человека. 
Для этого нужно понимать какие действия может выполнять компьютер, знать типовые решения для задач - чтобы не "изобретать велосипед" с каждой задачей.
Язык выбирается в соответсвии его возможносятами и требованиями задачи - он зависит от того где будет работать программа, например написать мобильное автономное приложение на Go или PHP будет сложнее чем на Java.