74,057 research outputs found
Python for teaching introductory programming: A quantitative evaluation
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"
Обоснована возможность активизации познавательной деятельности студентов при изучении численных методов с применением объектно-ориентированных библиотек математических, алгоритмических и проблемных классов. Разработана методика изучения курса «Численные методы в объектной методологии» на физико-математических факультетах педагогических и программирующих специальностям технических вузов.Обґрунтована можливість активізації пізнавальної діяльності студентів при вивченні чисельних методів із застосуванням об’єктно-орієнтованих бібліотек математичних, алгоритмічних та проблемних класів. Розроблено методику вивчення курсу «Чисельні методи в об'єктної методології» на фізико-математичних факультетах педагогічних та програмуючих спеціальностях технічних ВНЗ.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
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
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
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
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....
- …