953 research outputs found

    Design Patterns in the Teaching of Programming

    Get PDF
    AbstractTeaching algorithmization and programming has been recently going through big changes trying to react to the dynamic development of software industry. Previously used methodical process, development models, or programming languages do not conform to current requirements. The results of the surveys in primary and secondary schools, we can say that the teaching of programming and algorithms are not sufficiently exploited. The aim of this paper is to present practical experience of the author teaching programming and the possibilities of using design patterns in the teaching of programming. According to the performed analyzes the procedures and methodologies of teaching programming shows that Design Patterns are used only marginally. For these reasons, students learn to improper practices that subsequently applied in practical solutions programs. According to the experiments show that the correct use of the teaching of design patterns can improve student performance in programmin

    Web-focused technologies for the study of the basics of programming of future computer science teachers

    Get PDF
    У статті на основі аналізу наукової літератури показано, що використання web-орієнтованих технологій при навчанні основ програмування майбутніх учителів інформатики є провідним напрямком діяльності. Показано основні можливості використання різних видів web-орієнтованих технологій при навчанні основ програмування, зокрема систем з проведення спортивних змагань з програмування, та хмарних технологій.On the basis of analysis of scientific literature shows that the use of web-oriented technologies in teaching of programming future teachers Informatics is a leading activity. The basic possibility of using different types of web-oriented technologies in teaching of programming, including the conduct of sports programming and cloud technologies

    Effective Teaching of Programming Concepts Using Low-Resolution (Character) Graphics

    Get PDF
    For novice students of Computer Programming, the difference between Floating point numbers and Integers (and consequent difference between arithmetic operations on them) appears to be a difficult concept to grasp. In popular languages such as C++ or Java, this difficulty is made more acute by the fact that the same symbol is used for both floating point division and integer division.1 Without a proper grasp of the difference between these two fundamentally different kinds of numbers, students would also find it difficult to understand that floating point results should not be compared for equality. I was therefore interested in finding a way to reinforce these concepts soon after the students were initially exposed to them

    Teaching programming with computational and informational thinking

    Get PDF
    Computers are the dominant technology of the early 21st century: pretty well all aspects of economic, social and personal life are now unthinkable without them. In turn, computer hardware is controlled by software, that is, codes written in programming languages. Programming, the construction of software, is thus a fundamental activity, in which millions of people are engaged worldwide, and the teaching of programming is long established in international secondary and higher education. Yet, going on 70 years after the first computers were built, there is no well-established pedagogy for teaching programming. There has certainly been no shortage of approaches. However, these have often been driven by fashion, an enthusiastic amateurism or a wish to follow best industrial practice, which, while appropriate for mature professionals, is poorly suited to novice programmers. Much of the difficulty lies in the very close relationship between problem solving and programming. Once a problem is well characterised it is relatively straightforward to realise a solution in software. However, teaching problem solving is, if anything, less well understood than teaching programming. Problem solving seems to be a creative, holistic, dialectical, multi-dimensional, iterative process. While there are well established techniques for analysing problems, arbitrary problems cannot be solved by rote, by mechanically applying techniques in some prescribed linear order. Furthermore, historically, approaches to teaching programming have failed to account for this complexity in problem solving, focusing strongly on programming itself and, if at all, only partially and superficially exploring problem solving. Recently, an integrated approach to problem solving and programming called Computational Thinking (CT) (Wing, 2006) has gained considerable currency. CT has the enormous advantage over prior approaches of strongly emphasising problem solving and of making explicit core techniques. Nonetheless, there is still a tendency to view CT as prescriptive rather than creative, engendering scholastic arguments about the nature and status of CT techniques. Programming at heart is concerned with processing information but many accounts of CT emphasise processing over information rather than seeing then as intimately related. In this paper, while acknowledging and building on the strengths of CT, I argue that understanding the form and structure of information should be primary in any pedagogy of programming

    Teaching programming through paperless assignments: an empirical evaluation of instructor feedback

    Get PDF
    This paper considers how facilities afforded by electronic assignment handling can contribute to the quality of Internet-based teaching of programming. It reports a study comparing the nature, form, and quality of feedback provided by instructors on 90 paper and electronic assignments in an introductory CS course and notes effective strategies for electronic marking
    corecore