13,497 research outputs found
Recommended from our members
Reverse Engineering Environment for Teaching Secure Coding in Java
Few toolsets for program analysis and Java learning system provide an integrated console, debugger, and reverse engineered visualizer. We present an interactive debugging environment for Java which helps students to understand the secure coding by detecting and visualizing the data flow anomaly. Previous research shows that the earlier students learn secure coding concepts, even at the same time as they first learn to write code, the better they will continue using secure coding practices. This paper proposes web-based Java programming environment for teaching secure coding practices which provides the essential and fundamental skills in secure coding. Also, this tool helps students to understand the data anomaly and security leak with detecting vulnerabilities in given code.Cockrell School of Engineerin
The State Of Play: A Notional Machine for Learning Programming
Comprehension of programming and programs is known to be a difficult task for many beginning students, with many computing courses showing significant drop out and failure rates. In this paper, we present a new notional machine de- sign and implementation to help with understanding of pro- gramming and its dynamics for beginning learners. The no- tional machine offers an abstraction of the physical machine designed for comprehension and learning purposes. We in- troduce the notional machine and a graphical notation for its representation. We also present Novis, an implementation of a dynamic real-time visualiser of this notional machine, integrated into BlueJ
Teaching Programming and Design-by-Contract
This paper summarizes the experience of teaching an introductory course to
programming by using a correctness by construction approach at Innopolis
University, Russian Federation. In this paper we claim that division in
beginner and advanced groups improves the learning outcomes, present the
discussion and the data that support the claim.Comment: 21th International Conference on Interactive Collaborative Learnin
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
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
A multinational, multi-institutional study of assessment of programming skills of first-year CS students
In computer science, an expected outcome of a student's education is programming skill. This working group investigated the programming competency students have as they complete their first one or two courses in computer science. In order to explore options for assessing students, the working group developed a trial assessment of whether students can program. The underlying goal of this work was to initiate dialog in the Computer Science community on how to develop these types of assessments. Several universities participated in our trial assessment and the disappointing results suggest that many students do not know how to program at the conclusion of their introductory courses. For a combined sample of 216 students from four universities, the average score was 22.89 out of 110 points on the general evaluation criteria developed for this study. From this trial assessment we developed a framework of expectations for first-year courses and suggestions for further work to develop more comprehensive assessments
- …