36,691 research outputs found
Starting from scratch: experimenting with computer science in Flemish secondary education
In the Flemish secondary education curriculum, as in many countries and regions, computer science currently only gets an extremely limited coverage. Recently, in Flanders (and elsewhere), it has been proposed to change this, and try-outs are undertaken, both in and outside of schools. In this paper, we discuss some of those efforts, and in particular take a closer look at the preliminary results of one experiment involving different approaches to programming in grade 8. These experiments indicate that many students from secondary schools would welcome a more extensive treatment of computer science. Planning and implementing such a treatment, however, raises a number of issues, from which in this paper, we formulate a handful as calls for action for the computer science education research community
Forty hours of declarative programming: Teaching Prolog at the Junior College Utrecht
This paper documents our experience using declarative languages to give
secondary school students a first taste of Computer Science. The course aims to
teach students a bit about programming in Prolog, but also exposes them to
important Computer Science concepts, such as unification or searching
strategies. Using Haskell's Snap Framework in combination with our own
NanoProlog library, we have developed a web application to teach this course.Comment: In Proceedings TFPIE 2012, arXiv:1301.465
Self-Supervised Relative Depth Learning for Urban Scene Understanding
As an agent moves through the world, the apparent motion of scene elements is
(usually) inversely proportional to their depth. It is natural for a learning
agent to associate image patterns with the magnitude of their displacement over
time: as the agent moves, faraway mountains don't move much; nearby trees move
a lot. This natural relationship between the appearance of objects and their
motion is a rich source of information about the world. In this work, we start
by training a deep network, using fully automatic supervision, to predict
relative scene depth from single images. The relative depth training images are
automatically derived from simple videos of cars moving through a scene, using
recent motion segmentation techniques, and no human-provided labels. This proxy
task of predicting relative depth from a single image induces features in the
network that result in large improvements in a set of downstream tasks
including semantic segmentation, joint road segmentation and car detection, and
monocular (absolute) depth estimation, over a network trained from scratch. The
improvement on the semantic segmentation task is greater than those produced by
any other automatically supervised methods. Moreover, for monocular depth
estimation, our unsupervised pre-training method even outperforms supervised
pre-training with ImageNet. In addition, we demonstrate benefits from learning
to predict (unsupervised) relative depth in the specific videos associated with
various downstream tasks. We adapt to the specific scenes in those tasks in an
unsupervised manner to improve performance. In summary, for semantic
segmentation, we present state-of-the-art results among methods that do not use
supervised pre-training, and we even exceed the performance of supervised
ImageNet pre-trained models for monocular depth estimation, achieving results
that are comparable with state-of-the-art methods
A review into the factors affecting declines in undergraduate Computer Science enrolments and approaches for solving this problem
There has been a noticeable drop in enrolments in Computer Science (CS) courses and interest in CS careers in recent years while demand for CS skills is increasing dramatically. Not only are such skills useful for CS jobs but for all forms of business and to some extent personal lives as Information Technology (IT) is becoming ubiquitous and essential for most aspects of modern life. Therefore it is essential to address this lack of interest and skills to not only fill the demand for CS employees but to provide students with the CS skills they need for modern life especially for improving their employability and skills for further study. This report looks at possible reasons for the lack of interest in CS and different approaches used to enhance CS education and improve the appeal of CS
Common Sense or World Knowledge? Investigating Adapter-Based Knowledge Injection into Pretrained Transformers
Following the major success of neural language models (LMs) such as BERT or
GPT-2 on a variety of language understanding tasks, recent work focused on
injecting (structured) knowledge from external resources into these models.
While on the one hand, joint pretraining (i.e., training from scratch, adding
objectives based on external knowledge to the primary LM objective) may be
prohibitively computationally expensive, post-hoc fine-tuning on external
knowledge, on the other hand, may lead to the catastrophic forgetting of
distributional knowledge. In this work, we investigate models for complementing
the distributional knowledge of BERT with conceptual knowledge from ConceptNet
and its corresponding Open Mind Common Sense (OMCS) corpus, respectively, using
adapter training. While overall results on the GLUE benchmark paint an
inconclusive picture, a deeper analysis reveals that our adapter-based models
substantially outperform BERT (up to 15-20 performance points) on inference
tasks that require the type of conceptual knowledge explicitly present in
ConceptNet and OMCS
Visual and Textual Programming Languages: A Systematic Review of the Literature
It is well documented, and has been the topic of much research, that Computer
Science courses tend to have higher than average drop out rates at third level.
This is a problem that needs to be addressed with urgency but also caution. The
required number of Computer Science graduates is growing every year but the
number of graduates is not meeting this demand and one way that this problem
can be alleviated is to encourage students at an early age towards studying
Computer Science courses.
This paper presents a systematic literature review on the role of visual and
textual programming languages when learning to program, particularly as a first
programming language. The approach is systematic, in that a structured search
of electronic resources has been conducted, and the results are presented and
quantitatively analysed. This study will give insight into whether or not the
current approaches to teaching young learners programming are viable, and
examines what we can do to increase the interest and retention of these
students as they progress through their education.Comment: 18 pages (including 2 bibliography pages), 3 figure
Incremental and Modular Context-sensitive Analysis
Context-sensitive global analysis of large code bases can be expensive, which
can make its use impractical during software development. However, there are
many situations in which modifications are small and isolated within a few
components, and it is desirable to reuse as much as possible previous analysis
results. This has been achieved to date through incremental global analysis
fixpoint algorithms that achieve cost reductions at fine levels of granularity,
such as changes in program lines. However, these fine-grained techniques are
not directly applicable to modular programs, nor are they designed to take
advantage of modular structures. This paper describes, implements, and
evaluates an algorithm that performs efficient context-sensitive analysis
incrementally on modular partitions of programs. The experimental results show
that the proposed modular algorithm shows significant improvements, in both
time and memory consumption, when compared to existing non-modular, fine-grain
incremental analysis techniques. Furthermore, thanks to the proposed
inter-modular propagation of analysis information, our algorithm also
outperforms traditional modular analysis even when analyzing from scratch.Comment: 56 pages, 27 figures. To be published in Theory and Practice of Logic
Programming. v3 corresponds to the extended version of the ICLP2018 Technical
Communication. v4 is the revised version submitted to Theory and Practice of
Logic Programming. v5 (this one) is the final author version to be published
in TPL
- …