7,226 research outputs found
Summer of Code: Assisting Distance-Learning Students with Open-Ended Programming Tasks
A significant difficulty in teaching programming lies in the transition from novice to intermediate programmer, characterised by the assimilation and use of schemas of standard programming approaches. A significant factor assisting this transition is practice with tasks which develop this schema use. We describe the Summer of Code, a two-week activity for part-time, distance-learning students which gave them some additional programming practice. We analysed their submissions, forum postings, and results of a terminal survey. We found learners were keen to share and discuss their solutions and persevered with individual problems and the challenge overall. 93% respondents rated the activity 3 or better on a 5-point Likert scale (n=58). However, a quarter of participants, mainly those who described themselves as average or poor programmers, felt less confident in their abilities after the activity, though half of these students liked the activity overall. 54% of all participants said the greatest challenge was developing a general approach to the problems, such as selecting appropriate data structures. This is corroborated by forum comments, where students greatly appreciated “think aloud” presentations by faculty tackling the problems. These results strongly suggest that students would benefit from more open-ended practice, where they have to select and design their own solutions to a range of problems
JigsawNet: Shredded Image Reassembly using Convolutional Neural Network and Loop-based Composition
This paper proposes a novel algorithm to reassemble an arbitrarily shredded
image to its original status. Existing reassembly pipelines commonly consist of
a local matching stage and a global compositions stage. In the local stage, a
key challenge in fragment reassembly is to reliably compute and identify
correct pairwise matching, for which most existing algorithms use handcrafted
features, and hence, cannot reliably handle complicated puzzles. We build a
deep convolutional neural network to detect the compatibility of a pairwise
stitching, and use it to prune computed pairwise matches. To improve the
network efficiency and accuracy, we transfer the calculation of CNN to the
stitching region and apply a boost training strategy. In the global composition
stage, we modify the commonly adopted greedy edge selection strategies to two
new loop closure based searching algorithms. Extensive experiments show that
our algorithm significantly outperforms existing methods on solving various
puzzles, especially those challenging ones with many fragment pieces
Physical Zero-Knowledge Proofs for Akari, Takuzu, Kakuro and KenKen
Akari, Takuzu, Kakuro and KenKen are logic games similar to Sudoku. In Akari,
a labyrinth on a grid has to be lit by placing lanterns, respecting various
constraints. In Takuzu a grid has to be filled with 0's and 1's, while
respecting certain constraints. In Kakuro a grid has to be filled with numbers
such that the sums per row and column match given values; similarly in KenKen a
grid has to be filled with numbers such that in given areas the product, sum,
difference or quotient equals a given value. We give physical algorithms to
realize zero-knowledge proofs for these games which allow a player to show that
he knows a solution without revealing it. These interactive proofs can be
realized with simple office material as they only rely on cards and envelopes.
Moreover, we formalize our algorithms and prove their security.Comment: FUN with algorithms 2016, Jun 2016, La Maddalena, Ital
Edsger Wybe Dijkstra (1930 -- 2002): A Portrait of a Genius
We discuss the scientific contributions of Edsger Wybe Dijkstra, his opinions
and his legacy.Comment: 10 pages. To appear in Formal Aspects of Computin
- …