Программирование - это нечто большее, чем кодописание. Я учился на специальности, где множество лаб/курсовых было в виде программ. И было множество людей в потоке, которые там случайно оказались, на их примере я для себя понял, что является критерием способности к программированию: этим критерием является понимание свойств алгоритма (ну всякая фигня вроде массовости, результативности, дискретности...). Как бы странно это не казалось, но большинство потока этого не понимало.
Ну как пример, можете ли вы написать любой алгоритм (да хоть сортировка или реализация стека) на любом, даже выдуманном языке программирования? Если можете, то способности у вас есть. Дальше нужна только усидчивость.
А уж реализовать алгоритм на любом языке программирования - это уже кодописание.