The paper analyses the problems in selecting and integrating tools for delivering basic programming knowledge at the university level. Discussion and analysis of teaching the programming disciplines, the main principles of study programme design, requirements for teaching tools, methods and corresponding languages is presented, based on literature overview and author`s experience. A pressure from labor market, students and other sources to emphasize practical skills over deeper, long-term programming concepts is described. A model of teaching introductory programming disciplines at a higher logical level, using C#, is presented as a summary of the accomplished analysis, and also taking into account the recommendations of the ACM (Association for Computing Machinery) association for typical teaching programs. Also, design principles for building introductory programming courses, aligned with such teaching approach, are presented. This model has already been trialed at Vytautas Magnus University.
Conventional wisdom attributes the lack of effective technology use in classrooms to a shortage of professional development or poorly run professional development. At the same time, logo-like learning environments require teachers to develop more expertise not only in technology but also in pedagogy.
This paper proposes that the perceived lack of technology professional development is a myth and that traditional professional development is ill-suited to teaching teachers how to create logo-like learning environments. Furthermore, it proposes models of student-centered, student-led support for teachers that support classroom practice aligned with the attributes of logo-like learning environments. These models situate teacher learning about technology in their own classroom, reinforce constructivist teaching practices, provide support for technology use in the classroom, and enrich learning environments for students.