The paper brings up some problems of teaching programming in universities. Aspects of understanding the specificity of programming as an academic course, its links to a variety of related courses are presented. The discourse points to some difficulties that students have while learning programming and instructors have while teaching it, especially such problems as translating tasks from the language of the subject domain to the terms of software construction, refactoring the code structure, and understanding software changeability as its essential attribute. In conclusion, there is an attempt to apply the philosophical categories of the form and the substance to the software recognized as a product of human creative ability and as an art work.
Author: Evgeny Pyshkin
Ph.D., Associate Professor, Vice-dean (International Programs), Dept. of Computer Systems and Software Engineering, Faculty of Computer Science, St. Petersburg State Polytechnical University
Pyshkin teaches courses on programming in high level languages, object-oriented analysis and design, Java technologies, data structures and algorithms. He is author and instructor of intensive courses “Introduction to the Java Language and Technology” and “Microsoft.Net Framework Programming” in the Central Ostrobothnia University (Finland), “Object-Oriented Software Engineering” in the University of Aizu (Japan).
He is author of several books on software technologies including titles both in Russian and English and about 40 research papers.