55,850 research outputs found
Four approaches to teaching programming
Based on a survey of literature, four different approaches to teaching introductory programming are identified and described. Examples of the practice of each approach are identified representing procedural, visual, and object-oriented programming language paradigms. Each approach is then further analysed, identifying advantages and disadvantages for the student and the teacher. The first approach, code analysis, is analogous to reading before writing, that is, recognising the parts and what they mean. It requires learners to analyse and understand existing code prior to producing their own. An alternative is the building blocks approach, analogous to learning vocabulary, nouns and verbs, before constructing sentences. A third approach is identified as simple units in which learners master solutions to small problems before applying the learned logic to more complex problems. The final approach, full systems, is analogous to learning a foreign language by immersion whereby learners design a solution to a non-trivial problem and the programming concepts and language constructs are introduced only when the solution to the problem requires their application. The conclusion asserts that competency in programming cannot be achieved without mastering each of the approaches, at least to some extent. Use of the approaches in combination could provide novice programmers with the opportunities to acquire a full range of knowledge, understanding, and skills. Several orders for presenting the approaches in the classroom are proposed and analysed reflecting the needs of the learners and teachers. Further research is needed to better understand these and other approaches to teaching programming, not in terms of learner outcomes, but in terms of teachers’ actions and techniques employed to facilitate the construction of new knowledge by the learners. Effective classroom teaching practices could be informed by further investigations into the effect on progression of different toolset choices and combinations of teaching approache
Recommended from our members
Transformation of propositional calculus statements into integer and mixed integer programs: An approach towards automatic reformulation
A systematic procedure for transforming a set of logical statements or logical conditions imposed on a model into an Integer Linear Progamming (ILP) formulation Mixed Integer Programming (MIP) formulation is presented. An ILP stated as a system of linear constraints involving integer variables and an objective function, provides a powerful representation of decision problems through a tightly interrelated closed system of choices. It supports direct representation of logical (Boolean or prepositional calculus) expressions. Binary variables (hereafter called logical variables) are first introduced and methods of logically connecting these to other variables are then presented. Simple constraints can be combined to construct logical relationships and the methods of formulating these are discussed. A reformulation procedure which uses the extended reverse polish representation of a compound logical form is then described. These reformulation procedures are illustrated by two examples. A scheme of implementation.ithin an LP modelling system is outlined
Estimating Maximally Probable Constrained Relations by Mathematical Programming
Estimating a constrained relation is a fundamental problem in machine
learning. Special cases are classification (the problem of estimating a map
from a set of to-be-classified elements to a set of labels), clustering (the
problem of estimating an equivalence relation on a set) and ranking (the
problem of estimating a linear order on a set). We contribute a family of
probability measures on the set of all relations between two finite, non-empty
sets, which offers a joint abstraction of multi-label classification,
correlation clustering and ranking by linear ordering. Estimating (learning) a
maximally probable measure, given (a training set of) related and unrelated
pairs, is a convex optimization problem. Estimating (inferring) a maximally
probable relation, given a measure, is a 01-linear program. It is solved in
linear time for maps. It is NP-hard for equivalence relations and linear
orders. Practical solutions for all three cases are shown in experiments with
real data. Finally, estimating a maximally probable measure and relation
jointly is posed as a mixed-integer nonlinear program. This formulation
suggests a mathematical programming approach to semi-supervised learning.Comment: 16 page
Some Thoughts on the Teaching of Mathematics -- ten years later
I describe some deep-seated problems in higher mathematical education, and
give some ideas for their solution -- I advocate a move away from the
traditional introduction of mathematics through calculus, and towards
computation and discrete mathematics.Comment: 10 pages, to appear in Notices of the AM
Random Sampling in Computational Algebra: Helly Numbers and Violator Spaces
This paper transfers a randomized algorithm, originally used in geometric
optimization, to computational problems in commutative algebra. We show that
Clarkson's sampling algorithm can be applied to two problems in computational
algebra: solving large-scale polynomial systems and finding small generating
sets of graded ideals. The cornerstone of our work is showing that the theory
of violator spaces of G\"artner et al.\ applies to polynomial ideal problems.
To show this, one utilizes a Helly-type result for algebraic varieties. The
resulting algorithms have expected runtime linear in the number of input
polynomials, making the ideas interesting for handling systems with very large
numbers of polynomials, but whose rank in the vector space of polynomials is
small (e.g., when the number of variables and degree is constant).Comment: Minor edits, added two references; results unchange
Achievement test construction using 0-1 linear programming
In educational testing the work of professional test agencies has shown a trend towards item banking. Achievement test construction is viewed as selecting items from a test item bank such that certain specifications are met. As the number of possible tests is large and practice usually imposes various constraints on the selection process, a mathematical programming approach is obvious. In this paper it is shown how to formulate achievement test construction as a 0¿1 linear programming problem. A heuristic for solving the problem is proposed and two examples are given. It is concluded that a 0¿1 linear programming approach fits the problem of test construction in an appropriate way and offers test agencies the possibility of computerizing their services
More Than 1700 Years of Word Equations
Geometry and Diophantine equations have been ever-present in mathematics.
Diophantus of Alexandria was born in the 3rd century (as far as we know), but a
systematic mathematical study of word equations began only in the 20th century.
So, the title of the present article does not seem to be justified at all.
However, a linear Diophantine equation can be viewed as a special case of a
system of word equations over a unary alphabet, and, more importantly, a word
equation can be viewed as a special case of a Diophantine equation. Hence, the
problem WordEquations: "Is a given word equation solvable?" is intimately
related to Hilbert's 10th problem on the solvability of Diophantine equations.
This became clear to the Russian school of mathematics at the latest in the mid
1960s, after which a systematic study of that relation began.
Here, we review some recent developments which led to an amazingly simple
decision procedure for WordEquations, and to the description of the set of all
solutions as an EDT0L language.Comment: The paper will appear as an invited address in the LNCS proceedings
of CAI 2015, Stuttgart, Germany, September 1 - 4, 201
New Dependencies of Hierarchies in Polynomial Optimization
We compare four key hierarchies for solving Constrained Polynomial
Optimization Problems (CPOP): Sum of Squares (SOS), Sum of Diagonally Dominant
Polynomials (SDSOS), Sum of Nonnegative Circuits (SONC), and the Sherali Adams
(SA) hierarchies. We prove a collection of dependencies among these hierarchies
both for general CPOPs and for optimization problems on the Boolean hypercube.
Key results include for the general case that the SONC and SOS hierarchy are
polynomially incomparable, while SDSOS is contained in SONC. A direct
consequence is the non-existence of a Putinar-like Positivstellensatz for
SDSOS. On the Boolean hypercube, we show as a main result that Schm\"udgen-like
versions of the hierarchies SDSOS*, SONC*, and SA* are polynomially equivalent.
Moreover, we show that SA* is contained in any Schm\"udgen-like hierarchy that
provides a O(n) degree bound.Comment: 26 pages, 4 figure
- …