74,057 research outputs found

    Python for teaching introductory programming: A quantitative evaluation

    Get PDF
    This paper compares two different approaches of teaching introductory programming by quantitatively analysing the student assessments in a real classroom. The first approach is to emphasise the principles of object-oriented programming and design using Java from the very beginning. The second approach is to first teach the basic programming concepts (loops, branch, and use of libraries) using Python and then move on to oriented programming using Java. Each approach was adopted for one academic year (2008-09 and 2009-10) with first year undergraduate students. Quantitative analysis of the student assessments from the first semester of each year was then carried out. The results of this analysis are presented in this paper. These results suggest that the later approach leads to enhanced learning of introductory programming concepts by students

    The concept of teaching the course "Numerical Methods in Object Methodology"

    Get PDF
    Обоснована возможность активизации познавательной деятельности студентов при изучении численных методов с применением объектно-ориентированных библиотек математических, алгоритмических и проблемных классов. Разработана методика изучения курса «Численные методы в объектной методологии» на физико-математических факультетах педагогических и программирующих специальностям технических вузов.Обґрунтована можливість активізації пізнавальної діяльності студентів при вивченні чисельних методів із застосуванням об’єктно-орієнтованих бібліотек математичних, алгоритмічних та проблемних класів. Розроблено методику вивчення курсу «Чисельні методи в об'єктної методології» на фізико-математичних факультетах педагогічних та програмуючих спеціальностях технічних ВНЗ.The possibility of activization of students’ the cognitive activity at teaching the numerical methods with using of object-oriented libraries of mathematics, algorithm and problem classes is grounded. The methods of teaching the course "Numerical Methods in Object Methodology" at physical-mathematical faculties of the pedagogical schools institutions and at programming specialities of technical higher educational institu-tions are worked out

    Plyades: A Python Library for Space Mission Design

    Full text link
    Plyades: A Python Library for Space Mission Design Designing a space mission is a computation-heavy task. Software tools that conduct the necessary numerical simulations and optimizations are therefore indispensable. The usability of existing software, written in Fortran and MATLAB, suffers because of high complexity, low levels of abstraction and out-dated programming practices. We propose Python as a viable alternative for astrodynamics tools and demonstrate the proof-of-concept library Plyades which combines powerful features with Pythonic ease of use

    Integrating mobile robotics and vision with undergraduate computer science

    Get PDF
    This paper describes the integration of robotics education into an undergraduate Computer Science curriculum. The proposed approach delivers mobile robotics as well as covering the closely related field of Computer Vision, and is directly linked to the research conducted at the authors’ institution. The paper describes the most relevant details of the module content and assessment strategy, paying particular attention to the practical sessions using Rovio mobile robots. The specific choices are discussed that were made with regard to the mobile platform, software libraries and lab environment. The paper also presents a detailed qualitative and quantitative analysis of student results, including the correlation between student engagement and performance, and discusses the outcomes of this experience

    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

    Open Educational Content for Digital Public Libraries

    Get PDF
    If the production of digital content for teaching -- particularly free content -- is to expand substantially, there must be mechanisms to establish a link to fame and fortune that was not perceived in a pre-digital world. How that might be done is the central question this report addresses, in the context of examining the movement for open educational content. Understanding that movement requires delving into the history of what may seem, on first pass, a totally unrelated field of endeavor. The reader's patience is requested....
    corecore