This paper discusses some difficulties in teaching introductory courses to programming, paying particular attention to their mathematical nature. We consider some aspects, which have not been commented in detail in textbooks and often neglected by course outlines and schedules. Some of these are constructing complex conditions, exceeding array bound, calculating infinite series in conjunction with recursion, etc. We believe that those topics and accompanying notes along with appropriate teaching methodology could be and should be incorporated into introductory programming courses.