61,864 research outputs found
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
Curriculum Guidelines for Undergraduate Programs in Data Science
The Park City Math Institute (PCMI) 2016 Summer Undergraduate Faculty Program
met for the purpose of composing guidelines for undergraduate programs in Data
Science. The group consisted of 25 undergraduate faculty from a variety of
institutions in the U.S., primarily from the disciplines of mathematics,
statistics and computer science. These guidelines are meant to provide some
structure for institutions planning for or revising a major in Data Science
Recommended from our members
A Second Language Acquisition Toolkit for Teaching Introduction to Computing
Introduction to Computing and higher-level programming
courses are common first-year engineering curricula at the
university level and are key in developing logical thought
processes in engineering students. Recent research has shown
that employing second language acquisition (SLA) techniques
to teach programming increases exam performance and student
motivation compared to more classical approaches. However,
the presentation of pedagogical techniques has been largely
limited to higher-level languages with more intuitive linguistic
analogs and has not been extended to lower-level computing
course material. In this paper we present several SLA
techniques and their analogs in a computing course setting and
the results of implementing an SLA strategy in a first-year
engineering course. Statistical analysis shows that students
taught with SLA methods completed quizzes more quickly,
enjoyed recitation more, and had a higher perceived value of
the class when compared with students taught with non-SLA
techniques.Cockrell School of Engineerin
Multi-Media As a Cognitive Tool
Two of the modalities used to present information to students, namely, animation and verbal representation are in a constant competition in effectiveness, without any persistent winner, except when it comes to conceptual versus procedural knowledge. Here, we present an architecture that combines the two into a multi-media tutoring system. This system is tested and results indicate that combining the two media leads to a cognitive interaction that promotes student learning with no less than 40% from their post classical-classroom session levels. A test for individual differences indicates that this group is almost equally divided between those described as âspatially orientedâ and those described as âverbally orientedâ. Learning across the two types of learners does not show any significant differences, except with respect to one question. This implies that perhaps, the two media may have ambiguous internal factors that support each other. Additionally, individual learning styles does not seem to be a clear-cut division, and is instead a âpreferenceâ of one modality as a primary source of learning, not an only one
Research and Education in Computational Science and Engineering
Over the past two decades the field of computational science and engineering
(CSE) has penetrated both basic and applied research in academia, industry, and
laboratories to advance discovery, optimize systems, support decision-makers,
and educate the scientific and engineering workforce. Informed by centuries of
theory and experiment, CSE performs computational experiments to answer
questions that neither theory nor experiment alone is equipped to answer. CSE
provides scientists and engineers of all persuasions with algorithmic
inventions and software systems that transcend disciplines and scales. Carried
on a wave of digital technology, CSE brings the power of parallelism to bear on
troves of data. Mathematics-based advanced computing has become a prevalent
means of discovery and innovation in essentially all areas of science,
engineering, technology, and society; and the CSE community is at the core of
this transformation. However, a combination of disruptive
developments---including the architectural complexity of extreme-scale
computing, the data revolution that engulfs the planet, and the specialization
required to follow the applications to new frontiers---is redefining the scope
and reach of the CSE endeavor. This report describes the rapid expansion of CSE
and the challenges to sustaining its bold advances. The report also presents
strategies and directions for CSE research and education for the next decade.Comment: Major revision, to appear in SIAM Revie
- âŠ