diff --git a/bibliography.bib b/bibliography.bib index 35b8984..7bcc5ce 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -6,6 +6,7 @@ journal = {International Journal of Information}, volume = {Volume: 2, Number: 2}, number = {Volume: 2, Number: 2}, + url = {https://iugspace.iugaza.edu.ps/handle/20.500.12358/25066}, urldate = {2021-09-20}, abstract = {Educational data mining concerns with developing methods for discovering knowledge from data that come from educational domain. In this paper we used educational data mining to improve graduate students' performance, and overcome the problem of low grades of graduate students. In our case study we try to extract useful knowledge from graduate students data collected from the college of Science and Technology{\textendash}Khanyounis. The data include fifteen years period [1993-2007]. After preprocessing the data, we applied data mining techniques to discover association, classification, clustering and outlier detection rules. In each of these four tasks, we present the extracted knowledge and describe its importance in educational domain.}, copyright = {Creative Commons (CC-BY)}, @@ -25,6 +26,7 @@ pages = {334--345}, issn = {0360-1315}, doi = {10.1016/j.compedu.2018.07.021}, + url = {https://www.sciencedirect.com/science/article/pii/S0360131518302045}, urldate = {2022-08-16}, abstract = {This study presents a large-scale systematic review of the literature on the flipped classroom, with the goals of examining its reported advantages and challenges for both students and instructors, and to note potentially useful areas of future research on the flipped model's in and out-of-class activities. The full range of Social Sciences Citation Indexed journals was surveyed through the Web of Science site, and a total of 71 research articles were selected for the review. The findings reveal that the most frequently reported advantage of the flipped classroom is the improvement of student learning performance. We also found a number of challenges in this model. The majority of these are related to out-of-class activities, such as much reported inadequate student preparation prior to class. Several other challenges and the numerous advantages of the flipped classroom are discussed in detail. We then offer suggestions for future research on flipped model activities.}, langid = {english}, @@ -44,6 +46,7 @@ publisher = {{Routledge}}, issn = {0899-3408}, doi = {10.1080/08993400500150747}, + url = {https://doi.org/10.1080/08993400500150747}, urldate = {2022-08-16}, abstract = {Practical programming is one of the basic skills pursued in computer science education. On programming courses, the coursework consists of programming assignments that need to be assessed from different points of view. Since the submitted assignments are executable programs with a formal structure, some features can be assessed automatically. The basic requirement for automated assessment is the numerical measurability of assessment targets, but semiautomatic approaches can overcome this restriction. Recognizing automatically assessable features can help teachers to create educational models, where automatic tools let teachers concentrate their work on the learning issues that need student-teacher interaction the most. Several automatic tools for both static and dynamic assessment of computer programs have been reported in the literature. This article promotes these issues by surveying several automatic approaches for assessing programming assignments. Not all the existing tools will be covered, simply because of the vast number of them. The article concentrates on bringing forward different assessment techniques and approaches to give an interested reader starting points for finding further information in the area. Automatic assessment tools can be used to help teachers in grading tasks as well as to support students' working process with automatic feedback. Common advantages of automation are the speed, availability, consistency and objectivity of assessment. However, automatic tools emphasize the need for careful pedagogical design of the assignment and assessment settings. To effectively share the knowledge and good assessment solutions already developed, better interoperability and portability of the tools is needed.} } @@ -56,6 +59,7 @@ month = dec, pages = {631--637}, doi = {10.1109/CSCI46756.2018.00126}, + url = {https://ieeexplore.ieee.org/abstract/document/8947659}, urldate = {2023-10-02}, abstract = {With the advancement of today's ubiquitous technology, and due to the increasing number of technologies supported by the Internet, a variety of Online Learning Platforms have rapidly grown as modern learning methods. This fast-emerging learning option interests researchers to study and investigate the main features and functionality of the most popular Online Learning Platforms. This paper surveys the state-of-the-art Online Learning Platforms that aim to teach computer programming, in terms of principles, design, and implementations. In addition, the paper investigates the feasibility of incorporating human-oriented Situation-Awareness as the driving factor to facilitate the delivery of improved user learning experiences.}, file = {/home/charlotte/sync/Zotero/storage/T767PWYN/Albashaireh and Ming - 2018 - A Survey of Online Learning Platforms with Initial.pdf;/home/charlotte/sync/Zotero/storage/P34UIQEK/8947659.html} @@ -86,6 +90,7 @@ pages = {1--13}, issn = {1468-2389}, doi = {10.1111/j.1468-2389.2008.00404.x}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1468-2389.2008.00404.x}, urldate = {2021-04-30}, abstract = {This paper reports reactions to employee selection methods in the Netherlands and compares these findings internationally against six other previously published samples covering the United States, France, Spain, Portugal, and Singapore. A sample of 167 participants rated 10 popular assessment techniques using a translated version of Steiner and Gilliland's measure. In common with other country samples, we found that the most popular methods among applicants were interviews, work sample tests, and resumes. Least popular methods were graphology, personal contacts, and honesty and integrity tests. Generally, method favorability was found to be highly similar to the US and other published studies internationally. Across the six countries mean process favorability correlated at .87 and mean cross-national procedural justice correlated .68. Process dimension ratings correlated at between .79 and .97 between the United States and the Netherlands. Only medium effect size differences (Cohen's d) were found between Dutch and US reactions to resumes and personality tests, the former being more favorably rated in the United States (d=.62) and the latter being more positively rated in the Netherlands (d=-.76). Implications for the design of selection procedures are discussed, especially implications for likely similarities and differences in applicant reactions internationally.}, langid = {english}, @@ -103,6 +108,7 @@ pages = {2754--2763}, publisher = {{The Institute of Electronics, Information and Communication Engineers}}, issn = {, 0916-8532}, + url = {https://search.ieice.org/bin/summary.php?id=e87-d_12_2754&category=D&year=2004&lang=E&abst=}, urldate = {2022-07-06}, abstract = {In this paper, we consider a data mining problem for semi-structured data. Modeling semi-structured data as labeled ordered trees, we present an efficient algorithm for discovering frequent substructures from a large collection of semi-structured data. By extending the enumeration technique developed by Bayardo (SIGMOD'98) for discovering long itemsets, our algorithm scales almost linearly in the total size of maximal tree patterns contained in an input collection depending mildly on the size of the longest pattern. We also developed several pruning techniques that significantly speed-up the search. Experiments on Web data show that our algorithm runs efficiently on real-life datasets combined with proposed pruning techniques in the wide range of parameters.}, file = {/home/charlotte/sync/Zotero/storage/I46PGVCC/Asai et al. - 2004 - Efficient Substructure Discovery from Large Semi-S.pdf;/home/charlotte/sync/Zotero/storage/PNH8LAUL/summary.html} @@ -118,6 +124,7 @@ pages = {177--194}, issn = {0360-1315}, doi = {10.1016/j.compedu.2017.05.007}, + url = {https://www.sciencedirect.com/science/article/pii/S0360131517301124}, urldate = {2021-02-19}, abstract = {The tremendous growth in electronic data of universities creates the need to have some meaningful information extracted from these large volumes of data. The advancement in the data mining field makes it possible to mine educational data in order to improve the quality of the educational processes. This study, thus, uses data mining methods to study the performance of undergraduate students. Two aspects of students' performance have been focused upon. First, predicting students' academic achievement at the end of a four-year study programme. Second, studying typical progressions and combining them with prediction results. Two important groups of students have been identified: the low and high achieving students. The results indicate that by focusing on a small number of courses that are indicators of particularly good or poor performance, it is possible to provide timely warning and support to low achieving students, and advice and opportunities to high performing students.}, langid = {english}, @@ -130,6 +137,7 @@ author = {Avery, Jonathan Wardell}, year = {2015}, publisher = {{University of Canterbury}}, + url = {https://ir.canterbury.ac.nz/handle/10092/14446}, urldate = {2022-07-06}, abstract = {Detection of similar programs is a highly studied problem. Detecting similar code is an important strategy for detecting badly modularized code, finding vulnerabilities @@ -161,6 +169,7 @@ pages = {3--17}, issn = {2157-2100}, doi = {10.5281/zenodo.3554657}, + url = {https://jedm.educationaldatamining.org}, urldate = {2021-04-30}, copyright = {Copyright (c) 2014 JEDM - Journal of Educational Data Mining}, langid = {english}, @@ -181,6 +190,7 @@ publisher = {{Routledge}}, issn = {1050-8406}, doi = {10.1207/s15327809jls1301_1}, + url = {https://doi.org/10.1207/s15327809jls1301_1}, urldate = {2021-09-15}, file = {/home/charlotte/sync/Zotero/storage/I5L3SPUC/Barab and Squire - 2004 - Design-Based Research Putting a Stake in the Grou.pdf;/home/charlotte/sync/Zotero/storage/AMUNRJ5E/s15327809jls1301_1.html} } @@ -196,6 +206,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/1734263.1734319}, + url = {https://doi.org/10.1145/1734263.1734319}, urldate = {2022-02-24}, abstract = {At Carnegie Mellon's Silicon Valley campus we employ a learn-by-doing educational approach in which nearly all student learning, and thus instruction, is in the context of realistic, team-based projects. Consequently, we have adopted coaching as our predominant teaching model. In this paper we reflect on our experience with the nature of teaching by coaching using a framework derived from Cognitive Apprenticeship, and explain how we employ the techniques it suggests in our teaching. We also discuss a range of instructional tensions that arise in teaching by coaching and present a survey of student attitudes regarding the effectiveness of our approach.}, isbn = {978-1-4503-0006-3}, @@ -215,6 +226,7 @@ pages = {89--111}, issn = {1571-0661}, doi = {10.1016/j.entcs.2005.12.014}, + url = {https://www.sciencedirect.com/science/article/pii/S1571066106000442}, urldate = {2022-03-03}, abstract = {The development of large software systems is a complex and error prone process. Faults might occur at any development stage and they must be identified and removed as early as possible to stop their propagation and reduce verification costs. Quality engineers must be involved in the development process since the very early phases to identify required qualities and estimate their impact on the development process. Their tasks span over the whole development cycle and go beyond the product deployment through maintenance and post mortem analysis. Developing and enacting an effective quality process is not a simple task, but it requires that we integrate many quality-related activities with product characteristics, process organization, available resources and skills, and budget constraints. This paper discusses the main characteristics of a good quality process, then surveys the key testing phases and presents modern functional and model-based testing approaches.}, langid = {english}, @@ -234,6 +246,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3344429.3372508}, + url = {https://doi.org/10.1145/3344429.3372508}, urldate = {2022-02-21}, abstract = {Diagnostic messages generated by compilers and interpreters such as syntax error messages have been researched for over half of a century. Unfortunately, these messages which include error, warning, and run-time messages, present substantial difficulty and could be more effective, particularly for novices. Recent years have seen an increased number of papers in the area including studies on the effectiveness of these messages, improving or enhancing them, and their usefulness as a part of programming process data that can be used to predict student performance, track student progress, and tailor learning plans. Despite this increased interest, the long history of literature is quite scattered and has not been brought together in any digestible form. In order to help the computing education community (and related communities) to further advance work on programming error messages, we present a comprehensive, historical and state-of-the-art report on research in the area. In addition, we synthesise and present the existing evidence for these messages including the difficulties they present and their effectiveness. We finally present a set of guidelines, curated from the literature, classified on the type of evidence supporting each one (historical, anecdotal, and empirical). This work can serve as a starting point for those who wish to conduct research on compiler error messages, runtime errors, and warnings. We also make the bibtex file of our 300+ reference corpus publicly available. Collectively this report and the bibliography will be useful to those who wish to design better messages or those that aim to measure their effectiveness, more effectively.}, isbn = {978-1-4503-7567-2}, @@ -253,6 +266,7 @@ publisher = {{Athabasca University Press (AU Press)}}, issn = {1492-3831}, doi = {10.19173/irrodl.v12i3.902}, + url = {https://www.erudit.org/en/journals/irrodl/2011-v12-n3-irrodl05132/1067617ar/}, urldate = {2022-08-16}, abstract = {The sociotechnical context for learning and education is dynamic and makes great demands on those trying to seize the opportunities presented by emerging technologies. The goal of this paper is to explore certain theories for our plans and actions in technology-enabled learning. Although presented as a successor to previous learning theories, connectivism alone is insufficient to inform learning and its support by technology in an internetworked world. However, because of its presence in massive open online courses (MOOCs), connectivism is influential in the practice of those who take these courses and who wish to apply it in teaching and learning. Thus connectivism is perceived as relevant by its practitioners but as lacking in rigour by its critics. Five scenarios of change are presented with frameworks of different theories to explore the variety of approaches educators can take in the contexts for change and their associated research/evaluation. I argue that the choice of which theories to use depends on the scope and purposes of the intervention, the funding available to resource the research/evaluation, and the experience and philosophical stances of the researchers/practitioners.}, langid = {english}, @@ -270,6 +284,7 @@ pages = {45--73}, publisher = {{Association for the Advancement of Computing in Education (AACE)}}, issn = {0731-9258}, + url = {https://www.learntechlib.org/primary/p/8505/}, urldate = {2022-02-24}, abstract = {Constructivism is a theory of learning, which claims that stu-dents construct knowledge rather than merely receive and store knowledge transmitted by the teacher. Constructivism has been extremely influential in science and mathematics education, but much less so in computer science education (CSE). This paper surveys constructivism in the context of CSE, and shows how the theory can supply a theoretical ba-sis for debating issues and evaluating proposals. An analysis of constructivism in computer science education leads to two claims: (a) students do not have an effective model of...}, langid = {english}, @@ -287,6 +302,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2899415.2899443}, + url = {https://dl.acm.org/doi/10.1145/2899415.2899443}, urldate = {2023-10-05}, abstract = {We present a framework for automatic grading of programming exercises using property-based testing, a form of model-based black-box testing. Models are developed to assess both the functional behaviour of programs and their algorithmic complexity. From the functional correctness model a large number of test cases are derived automatically. Executing them on the body of exercises gives rise to a (partial) ranking of programs, so that a program A is ranked higher than program B if it fails a strict subset of the test cases failed by B. The model for algorithmic complexity is used to compute worst-case complexity bounds. The framework moreover considers code structural metrics, such as McCabe's cyclomatic complexity, giving rise to a composite program grade that includes both functional, non-functional, and code structural aspects. The framework is evaluated in a course teaching algorithms and data structures using Java.}, isbn = {978-1-4503-4231-5}, @@ -305,6 +321,7 @@ pages = {32--36}, issn = {0097-8418}, doi = {10.1145/1272848.1272879}, + url = {https://doi.org/10.1145/1272848.1272879}, urldate = {2021-02-19}, abstract = {It is a common conception that CS1 is a very difficult course and that failure rates are high. However, until now there has only been anecdotal evidence for this claim. This article reports on a survey among institutions around the world regarding failure rates in introductory programming courses. The article describes the design of the survey and the results. The number of institutions answering the call for data was unfortunately rather low, so it is difficult to make firm conclusions. It is our hope that this article can be the starting point for a systematic collection of data in order to find solid proof of the actual failure and pass rates of CS1.}, keywords = {CS1,failure rate,introductory programming,pass rate}, @@ -323,6 +340,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/971300.971461}, + url = {https://doi.org/10.1145/971300.971461}, urldate = {2022-02-24}, abstract = {The recommendations of the Joint Task Force on Computing Curricula 2001 encompass suggestions for an object-first introductory programming course. We have identified conceptual modeling as a lacking perspective in the suggestions for CS1. Conceptual modeling is the defining characteristic of object-orientation and provides a unifying perspective and a pedagogical approach focusing upon the modelling aspects of object-orientation. Reinforcing conceptual modelling as a basis for CS1 provides an appealing course structure based on core elements from a conceptual framework for object-orientation as well as a systematic approach to programming; both of these are a big help to newcomers. The approach has a very positive impact on the number of students passing the course.}, isbn = {978-1-58113-798-9}, @@ -356,6 +374,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3173574.3173951}, + url = {https://doi.org/10.1145/3173574.3173951}, urldate = {2021-04-30}, abstract = {Data-driven decision-making consequential to individuals raises important questions of accountability and justice. Indeed, European law provides individuals limited rights to 'meaningful information about the logic' behind significant, autonomous decisions such as loan approvals, insurance quotes, and CV filtering. We undertake three experimental studies examining people's perceptions of justice in algorithmic decision-making under different scenarios and explanation styles. Dimensions of justice previously observed in response to human decision-making appear similarly engaged in response to algorithmic decisions. Qualitative analysis identified several concerns and heuristics involved in justice perceptions including arbitrariness, generalisation, and (in)dignity. Quantitative analysis indicates that explanation styles primarily matter to justice perceptions only when subjects are exposed to multiple different styles---under repeated exposure of one style, scenario effects obscure any explanation effects. Our results suggests there may be no 'best' approach to explaining algorithmic decisions, and that reflection on their automated nature both implicates and mitigates justice dimensions.}, isbn = {978-1-4503-5620-6}, @@ -372,6 +391,7 @@ month = jun, pages = {23.1200.1-23.1200.18}, issn = {2153-5965}, + url = {https://peer.asee.org/the-flipped-classroom-a-survey-of-the-research}, urldate = {2022-08-16}, file = {/home/charlotte/sync/Zotero/storage/NK937ZL5/Bishop and Verleger - 2013 - The Flipped Classroom A Survey of the Research.pdf;/home/charlotte/sync/Zotero/storage/849MXNUK/the-flipped-classroom-a-survey-of-the-research.html} } @@ -388,6 +408,7 @@ publisher = {{Routledge}}, issn = {0969-594X}, doi = {10.1080/0969595980050102}, + url = {https://doi.org/10.1080/0969595980050102}, urldate = {2021-08-10}, abstract = {This article is a review of the literature on classroom formative assessment. Several studies show firm evidence that innovations designed to strengthen the frequent feedback that students receive about their learning yield substantial learning gains. The perceptions of students and their role in self-assessment are considered alongside analysis of the strategies used by teachers and the formative strategies incorporated in such systemic approaches as mastery learning. There follows a more detailed and theoretical analysis of the nature of feedback, which provides a basis for a discussion of the development of theoretical models for formative assessment and of the prospects for the improvement of practice.} } @@ -405,6 +426,7 @@ publisher = {{Routledge}}, issn = {1050-8406}, doi = {10.1080/10508406.2014.954750}, + url = {https://doi.org/10.1080/10508406.2014.954750}, urldate = {2023-10-18}, abstract = {New high-frequency, automated data collection and analysis algorithms could offer new insights into complex learning processes, especially for tasks in which students have opportunities to generate unique open-ended artifacts such as computer programs. These approaches should be particularly useful because the need for scalable project-based and student-centered learning is growing considerably. In this article, we present studies focused on how students learn computer programming, based on data drawn from 154,000 code snapshots of computer programs under development by approximately 370 students enrolled in an introductory undergraduate programming course. We use methods from machine learning to discover patterns in the data and try to predict final exam grades. We begin with a set of exploratory experiments that use fully automated techniques to investigate how much students change their programming behavior throughout all assignments in the course. The results show that students' change in programming patterns is only weakly predictive of course performance. We subsequently hone in on 1 single assignment, trying to map students' learning process and trajectories and automatically identify productive and unproductive (sink) states within these trajectories. Results show that our process-based metric has better predictive power for final exams than the midterm grades. We conclude with recommendations about the use of such methods for assessment, real-time feedback, and course improvement.}, file = {/home/charlotte/sync/Zotero/storage/XVUQVM6A/Blikstein et al. - 2014 - Programming Pluralism Using Learning Analytics to.pdf} @@ -422,6 +444,7 @@ pages = {96--100}, issn = {1471-5953}, doi = {10.1016/j.nepr.2012.07.010}, + url = {https://www.sciencedirect.com/science/article/pii/S1471595312001424}, urldate = {2021-09-30}, abstract = {The majority of nursing students are kinesthetic learners, preferring a hands-on, active approach to education. Research shows that active-learning strategies can increase student learning and satisfaction. This study looks at the use of one active-learning strategy, a Jeopardy-style game, `Nursopardy', to reinforce Fundamentals of Nursing material, aiding in students' preparation for a standardized final exam. The game was created keeping students varied learning styles and the NCLEX blueprint in mind. The blueprint was used to create 5 categories, with 26 total questions. Student survey results, using a five-point Likert scale showed that they did find this learning method enjoyable and beneficial to learning. More research is recommended regarding learning outcomes, when using active-learning strategies, such as games.}, langid = {english}, @@ -441,6 +464,7 @@ publisher = {{Routledge}}, issn = {1050-8406}, doi = {10.1080/10508406.2020.1759605}, + url = {https://doi.org/10.1080/10508406.2020.1759605}, urldate = {2021-09-15}, abstract = {Background This case reports on a teacher education course that aimed to support adult learners with a vocational education background to accomplish open-ended tasks. Conjecture mapping was used to identify the most salient design features, and to test if, how, and why these course features supported learners. Methods: Inspired by ethnographic approaches, sustained engagement and multiple data sources were used to explain the effects of the course design on participants' behavior and perceptions: student and teacher interviews, observations, and artifacts. Findings: The results reveal that almost all of the proposed design features stimulated the participants toward the intended enactment processes, which in turn yielded the intended learning outcomes. For instance, worked examples (i.e., design feature) not only engendered the production of artifacts that meet high standards (i.e., enactment process) because they clarify the task requirements, but also fostered a safe structure (i.e., enactment process) by providing an overall picture of the task. Contribution: The conjecture map resulting from this study provides a theoretical frame to describe, explain, and predict how specific course design features support vocationally educated adult learners (VEAL) in open-ended tasks, and assists those who aim to implement open-ended tasks in similar contexts.}, file = {/home/charlotte/sync/Zotero/storage/QQ3Z4SAU/Boelens et al. - 2020 - Conjecture mapping to support vocationally educate.pdf;/home/charlotte/sync/Zotero/storage/TSZVRFQN/10508406.2020.html} @@ -466,6 +490,7 @@ publisher = {{Routledge}}, issn = {1356-2517}, doi = {10.1080/13562517.2020.1839746}, + url = {https://doi.org/10.1080/13562517.2020.1839746}, urldate = {2022-03-03}, abstract = {This article reviews research that consistently, across borders and over time, reveals inertia in Higher Education institutions related to innovation in academic teaching. Despite frequent calls for more student-active learning, studies find that teaching remains predominantly traditional and teacher-centred. While research is recognised as continuously developing, border-crossing, investigative and innovative collaborative activities that needs an infrastructure to succeed, the need for collaborative development and a supporting infrastructure is rarely mentioned in academic teaching, often described as individual and traditional in the research. To better understand this paradox, and to identify barriers to student active learning, we reanalysed articles from two systematic reviews, one on campus development and one on learning and teaching with technology. The article identified the following prerequisites for student active learning to succeed: (1) better alignment between research and teaching practices, (2) a supporting infrastructure for research and teaching, (3) staff professional development and learning designs.}, keywords = {barriers,infrastructure,literature review,scholarly approach,Student active learning}, @@ -488,6 +513,7 @@ pages = {5691--5700}, publisher = {{E.T.S.I. Telecomunicaci{\'o}n (UPM)}}, address = {{Valencia, Spain}}, + url = {https://oa.upm.es/25765/}, urldate = {2022-08-16}, abstract = {Automatic grading of programming assignments is an important topic in academic research. It aims at improving the level of feedback given to students and optimizing the professor time. Several researches have reported the development of software tools to support this process. Then, it is helpfulto get a quickly and good sight about their key features. This paper reviews an ample set of tools forautomatic grading of programming assignments. They are divided in those most important mature tools, which have remarkable features; and those built recently, with new features. The review includes the definition and description of key features e.g. supported languages, used technology, infrastructure, etc. The two kinds of tools allow making a temporal comparative analysis. This analysis infrastructure, etc. The two kinds of tools allow making a temporal comparative analysis. This analysis shows good improvements in this research field, these include security, more language support, plagiarism detection, etc. On the other hand, the lack of a grading model for assignments is identified as an important gap in the reviewed tools. Thus, a characterization of evaluation metrics to grade programming assignments is provided as first step to get a model. Finally new paths in this research field are proposed.}, copyright = {https://creativecommons.org/licenses/by-nc-nd/3.0/es/}, @@ -506,6 +532,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3338906.3340458}, + url = {https://dl.acm.org/doi/10.1145/3338906.3340458}, urldate = {2023-11-23}, abstract = {There have been multiple recent proposals on using deep neural networks for code search using natural language. Common across these proposals is the idea of embedding code and natural language queries into real vectors and then using vector distance to approximate semantic correlation between code and the query. Multiple approaches exist for learning these embeddings, including unsupervised techniques, which rely only on a corpus of code examples, and supervised techniques, which use an aligned corpus of paired code and natural language descriptions. The goal of this supervision is to produce embeddings that are more similar for a query and the corresponding desired code snippet. Clearly, there are choices in whether to use supervised techniques at all, and if one does, what sort of network and training to use for supervision. This paper is the first to evaluate these choices systematically. To this end, we assembled implementations of state-of-the-art techniques to run on a common platform, training and evaluation corpora. To explore the design space in network complexity, we also introduced a new design point that is a minimal supervision extension to an existing unsupervised technique. Our evaluation shows that: 1. adding supervision to an existing unsupervised technique can improve performance, though not necessarily by much; 2. simple networks for supervision can be more effective that more sophisticated sequence-based networks for code search; 3. while it is common to use docstrings to carry out supervision, there is a sizeable gap between the effectiveness of docstrings and a more query-appropriate supervision corpus.}, isbn = {978-1-4503-5572-8}, @@ -525,6 +552,7 @@ publisher = {{Athabasca University Press (AU Press)}}, issn = {1492-3831}, doi = {10.19173/irrodl.v9i1.469}, + url = {https://www.erudit.org/en/journals/irrodl/2008-v9-n1-irrodl05535/1071813ar/}, urldate = {2022-10-03}, abstract = {The role of distance education is shifting. Traditionally distance education was limited in the number of people served because of production, reproduction, and distribution costs. Today, while it still costs the university time and money to produce a course, technology has made it such that reproduction costs are almost non-existent. This shift has significant implications, and allows distance educators to play an important role in the fulfillment of the promise of the right to universal education. At little or no cost, universities can make their content available to millions. This content has the potential to substantially improve the quality of life of learners around the world. New distance education technologies, such as OpenCourseWares, act as enablers to achieving the universal right to education. These technologies, and the associated changes in the cost of providing access to education, change distance education's role from one of classroom alternative to one of social transformer.}, langid = {english}, @@ -553,6 +581,7 @@ pages = {121--131}, issn = {0360-1315}, doi = {10.1016/S0360-1315(03)00030-7}, + url = {https://www.sciencedirect.com/science/article/pii/S0360131503000307}, urldate = {2021-10-01}, abstract = {Practise is one of the most important steps in learning the art of computer programming. Unfortunately, human grading of programming assignments is a tedious and error-prone task, a problem compounded by the large enrolments of many programming courses. As a result, students in such courses tend to be given fewer programming assignments than should be ideally given. One solution to this problem is to automate the grading process such that students can electronically submit their programming assignments and receive instant feedback. This paper studies the implementation of one such automated grading system, called the Online Judge, in the School of Computing of the National University of Singapore for a compulsory first-year course that teaches basic programming techniques with over 700 students, describing the student reactions and behavior as well as the difficulties encountered. The Online Judge was also successfully employed for an advanced undergraduate course and an introductory high school course.}, langid = {english}, @@ -570,6 +599,7 @@ pages = {167341--167354}, issn = {2169-3536}, doi = {10.1109/ACCESS.2020.3024102}, + url = {https://ieeexplore.ieee.org/document/9195825}, urldate = {2023-10-18}, abstract = {Automated programming assessment systems are useful tools to track the learning progress of students automatically and thereby reduce the workload of educators. They can also be used to gain insights into how students learn, making it easier to formulate strategies aimed at enhancing learning performance. Rather than functional code which is always inspected, code quality remains an essential aspect to which not many educators consider when designing an automated programming assessment system. In this study, we applied data mining techniques to analyze the results of an automated assessment system to reveal unexpressed patterns in code quality improvement that are predictive of final achievements in the course. Cluster analysis is first utilized to categorize students according to their learning behavior and outcomes. Cluster profile analysis is then leveraged to highlight actionable factors that could affect their final grades. Finally, the same factors are employed to construct a classification model by which to make early predictions of the students' final results. Our empirical results demonstrate the efficacy of the proposed scheme in providing valuable insights into the learning behaviors of students in novice programming courses, especially in code quality assurance, which could be used to enhance programming performance at the university level.}, file = {/home/charlotte/sync/Zotero/storage/C8KXJ7TR/Chen et al. - 2020 - Analysis of Learning Behavior in an Automated Prog.pdf;/home/charlotte/sync/Zotero/storage/V3F96LAQ/9195825.html} @@ -581,6 +611,7 @@ year = {1987}, month = mar, journal = {AAHE Bulletin}, + url = {https://eric.ed.gov/?id=ed282491}, urldate = {2022-09-09}, abstract = {Seven principles that can help to improve undergraduate education are identified. Based on research on college teaching and learning, good practice in undergraduate education: (1) encourages contacts between students and faculty; (2) develops reciprocity and cooperation among students; (3) uses active learning techniques; (4) gives prompt feedback; (5) emphasizes time on task; (6) communicates high expectations; and (7) respects diverse talents and ways of learning. Examples of approaches that have been used in different kinds of college in the last few years are described. In addition, the implications of these principles for the way states fund and govern higher education and for the way institutions are run are briefly discussed. Examples of good approaches include: freshman seminars on important topics taught by senior faculty; learning groups of five to seven students who meet regularly during class to solve problems set by the instructor; active learning using structured exercises, discussions, team projects, and peer critiques, as well as internships and independent study; and mastery learning, contract learning, and computer-assisted instruction approaches, which required adequate time on learning. (SW)}, langid = {english}, @@ -599,6 +630,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3099023.3099065}, + url = {https://doi.org/10.1145/3099023.3099065}, urldate = {2022-08-02}, abstract = {Formative feedback is essential for learning computer programming but is also a challenge to automate because of the many solutions a programming exercise can have. Whilst programming tutoring systems can easily generate automated feedback on how correct a program is, they less often provide some personalised guidance on how to improve or fix the code. In this paper, we present an approach for generating hints using previous student data. Utilising a range of techniques such as filtering, clustering and pattern mining, four different types of data-driven hints are generated: input suggestion, code-based, concept and pre-emptive hints. We evaluated our approach with data from 5529 students using the Grok Learning platform for teaching programming in Python. The results show that we can generate various types of hints for over 90\% of students with data from only 10 students, and hence, reduce the cold-start problem.}, isbn = {978-1-4503-5067-9}, @@ -617,6 +649,7 @@ pages = {101079}, issn = {2352-7110}, doi = {10.1016/j.softx.2022.101079}, + url = {https://www.sciencedirect.com/science/article/pii/S2352711022000577}, urldate = {2022-11-23}, abstract = {Automated assessment tools (AATs) are software systems used in teaching environments to automate the evaluation of computer programs implemented by students. These tools can be used to stimulate the interest of computer science students in programming courses by providing quick feedback on their work and highlighting their mistakes. Despite the abundance of such tools, most of them are developed for a specific course and are not production-ready. Others lack advanced features that are required for certain pedagogical goals (e.g. Git integration) and/or are not flexible enough to be used with students having different computer literacy levels, such as first year and second year students. In this paper we present Drop Project (DP), an automated assessment tool built on top of the Maven build automation software. We have been using DP in our teaching activity since 2018, having received more than fifty thousand submissions between projects, classroom exercises, tests and homework assignments. The tool's automated feedback has allowed us to raise the difficulty level of the course's projects, while the grading process has become more efficient and consistent between different teachers. DP is an extensively tested, production-ready tool. The software's code and documentation are available in GitHub under an open-source software license.}, langid = {english}, @@ -626,6 +659,7 @@ @book{CodeCloneAnalysis, title = {Code {{Clone Analysis}}}, + url = {https://link.springer.com/book/10.1007/978-981-16-1927-4}, urldate = {2022-07-05}, abstract = {This book selects past research results that are important to the progress of code clone analysis and updates them with new results and future directions.}, langid = {english}, @@ -644,6 +678,7 @@ publisher = {{Routledge}}, issn = {0260-2938}, doi = {10.1080/713611435}, + url = {https://doi.org/10.1080/713611435}, urldate = {2022-08-16}, abstract = {This paper presents the development, through action research, of formative elements in assessment in a level 3 compulsory module of the BSc Health Studies and BSc Nursing programmes at the University of Sunderland. The paper reviews three cycles of planning, implementing and evaluating change in assessment strategy and is written in the first person to emphasise the connections between the writer and the material. From a consideration of the format and characteristics of the assessment within the module, the action research is reported through the implementation of actions taken to facilitate more effective use of formative feedback. The evaluation of these actions through my own reflections, student performance, dialogue with team colleagues and student feedback through the production of short narrative accounts of their learning experience is outlined. The paper demonstrates that through explicitly using the learning potential within assessment, learning can be facilitated through challenging students to move from 'doing' assignments, to reflexive thinking about their writing.} } @@ -664,6 +699,7 @@ year = {2008}, month = apr, publisher = {{EUROSIS-ETI}}, + url = {http://repositorium.sdum.uminho.pt/}, urldate = {2021-09-16}, abstract = {Although the educational level of the Portuguese population has improved in the last decades, the statistics keep Portugal at Europe's tail end due to its high student failure rates. In particular, lack of success in the core classes of Mathematics and the Portuguese language is extremely serious. On the other hand, the fields of Business Intelligence (BI)/Data Mining (DM), which aim at extracting high-level knowledge from raw data, offer interesting automated tools that can aid the education domain. The present work intends to approach student achievement in secondary education using BI/DM techniques. Recent real-world data (e.g. student grades, demographic, social and school related @@ -687,6 +723,7 @@ pages = {247--256}, issn = {0747-5632}, doi = {10.1016/j.chb.2017.01.047}, + url = {https://www.sciencedirect.com/science/article/pii/S0747563217300596}, urldate = {2023-10-18}, abstract = {The data about high students' failure rates in introductory programming courses have been alarming many educators, raising a number of important questions regarding prediction aspects. In this paper, we present a comparative study on the effectiveness of educational data mining techniques to early predict students likely to fail in introductory programming courses. Although several works have analyzed these techniques to identify students' academic failures, our study differs from existing ones as follows: (i) we investigate the effectiveness of such techniques to identify students likely to fail at early enough stage for action to be taken to reduce the failure rate; (ii) we analyse the impact of data preprocessing and algorithms fine-tuning tasks, on the effectiveness of the mentioned techniques. In our study we evaluated the effectiveness of four prediction techniques on two different and independent data sources on introductory programming courses available from a Brazilian Public University: one comes from distance education and the other from on-campus. The results showed that the techniques analyzed in our study are able to early identify students likely to fail, the effectiveness of some of these techniques is improved after applying the data preprocessing and/or algorithms fine-tuning, and the support vector machine technique outperforms the other ones in a statistically significant way.}, keywords = {Artificial intelligence in education,Automatic instructional planner,Automatic prediction,Educational data mining,Interactive learning environment,Learner modeling}, @@ -717,6 +754,7 @@ publisher = {{Routledge}}, issn = {0260-2938}, doi = {10.1080/02602938.2015.1111294}, + url = {https://doi.org/10.1080/02602938.2015.1111294}, urldate = {2022-08-16}, abstract = {`Rubric' is a term with a variety of meanings. As the use of rubrics has increased both in research and practice, the term has come to represent divergent practices. These range from secret scoring sheets held by teachers to holistic student-developed articulations of quality. Rubrics are evaluated, mandated, embraced and resisted based on often imprecise and inconsistent understandings of the term. This paper provides a synthesis of the diversity of rubrics, and a framework for researchers and practitioners to be clearer about what they mean when they say `rubric'. Fourteen design elements or decision points are identified that make one rubric different from another. This framework subsumes previous attempts to categorise rubrics, and should provide more precision to rubric discussions and debate, as well as supporting more replicable research and practice.}, keywords = {assessment design,replicable research,research synthesis,rubric design,rubrics} @@ -733,6 +771,7 @@ pages = {21:1--21:21}, issn = {1544-3566}, doi = {10.1145/2086696.2086700}, + url = {https://dl.acm.org/doi/10.1145/2086696.2086700}, urldate = {2023-11-23}, abstract = {An important aspect of system optimization research is the discovery of program traits or behaviors. In this paper, we present an automated method of program characterization which is able to examine and cluster program graphs, i.e., dynamic data graphs or control flow graphs. Our novel approximate graph clustering technology allows users to find groups of program fragments which contain similar code idioms or patterns in data reuse, control flow, and context. Patterns of this nature have several potential applications including development of new static or dynamic optimizations to be implemented in software or in hardware. For the SPEC CPU 2006 suite of benchmarks, our results show that approximate graph clustering is effective at grouping behaviorally similar functions. Graph based clustering also produces clusters that are more homogeneous than previously proposed non-graph based clustering methods. Further qualitative analysis of the clustered functions shows that our approach is also able to identify some frequent unexploited program behaviors. These results suggest that our approximate graph clustering methods could be very useful for program characterization.}, file = {/home/charlotte/sync/Zotero/storage/6WUFLLW5/Demme and Sethumadhavan - 2012 - Approximate graph clustering for program character.pdf} @@ -749,6 +788,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3027385.3027441}, + url = {https://doi.org/10.1145/3027385.3027441}, urldate = {2022-11-25}, abstract = {Many introductory programming environments generate a large amount of log data, but making insights from these data accessible to instructors remains a challenge. This research demonstrates that student outcomes can be accurately predicted from student program states at various time points throughout the course, and integrates the resulting predictive models into an instructor dashboard. The effectiveness of the dashboard is evaluated by measuring how well the dashboard analytics correctly suggest that the instructor help students classified as most in need. Finally, we describe a method of matching low-performing students with high-performing peer tutors, and show that the inclusion of peer tutors not only increases the amount of help given, but the consistency of help availability as well.}, isbn = {978-1-4503-4870-6}, @@ -777,6 +817,7 @@ number = {3}, pages = {16:1--16:22}, doi = {10.1145/3264507}, + url = {https://doi.org/10.1145/3264507}, urldate = {2021-04-30}, abstract = {This study analyzes the impact of adding a review exercises module to an online tool used in a software engineering degree program. The objective of the module is to promote students' self-learning effort to improve their performance. We also intend to determine if this new feature has any effect on the amount of code copies detected in lab sessions when using the same online tool. Two groups of students were compared quantitatively: the first group used the tool exclusively during lab sessions, whereas the second group had the option of employing the tool's new module to enhance their study. The tool allows us to collect interesting data related to the focus of this research: supplementary work completed voluntarily by students and the percentage of students copying others' code during compulsory lab sessions. The results show that the students in the second group achieved better academic results and copied less in lab sessions. In the second group, the students who invested more effort in doing revision exercises and copied less in lab sessions obtained better results; and, interestingly, the effort invested in completing review exercises did not seem to compensate for the learning effort avoided by copying others' exercises during lab sessions. The results show the advantages of a tool used with a dual orientation: compulsory and voluntary. Mandatory usage in lab sessions establishes some milestones that, eventually, act as an incentive fostering learning, while voluntary use reinforces students' perception of the tool's usefulness in terms of learning.}, keywords = {academic performance,code copying,non-compulsory exercises,Online learning tool}, @@ -790,6 +831,7 @@ publisher = {{Apress}}, address = {{Berkeley, CA}}, doi = {10.1007/978-1-4302-3802-7}, + url = {http://link.springer.com/10.1007/978-1-4302-3802-7}, urldate = {2022-08-16}, isbn = {978-1-4302-3801-0 978-1-4302-3802-7}, langid = {english} @@ -807,6 +849,7 @@ pages = {4--es}, issn = {1531-4278}, doi = {10.1145/1163405.1163409}, + url = {https://doi.org/10.1145/1163405.1163409}, urldate = {2022-08-16}, abstract = {Systems that automatically assess student programming assignments have been designed and used for over forty years. Systems that objectively test and mark student programming work were developed simultaneously with programming assessment in the computer science curriculum. This article reviews a number of influential automatic assessment systems, including descriptions of the earliest systems, and presents some of the most recent developments. The final sections explore a number of directions automated assessment systems may take, presenting current developments alongside a number of important emerging e-learning specifications.}, keywords = {computer-based training,Education,learning,programming assessment}, @@ -824,6 +867,7 @@ pages = {29--44}, publisher = {{Informing Science Institute}}, issn = {1552-2237}, + url = {https://www.learntechlib.org/p/44796/}, urldate = {2022-10-03}, abstract = {This paper depicts the sustainability of Open Educational Resources (OERs) in terms of the three models: funding, technical, and content. Discussion and recommendations are focused on the sustainability of OERs and the requirement that we think of OERs as only part of a larger picture {\textendash} one that includes volunteers and incentives, community and partnerships, co-production and sharing, distributed management and control.}, langid = {english}, @@ -877,6 +921,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/971300.971312}, + url = {https://doi.org/10.1145/971300.971312}, urldate = {2022-03-03}, abstract = {Introductory computer science students rely on a trial and error approach to fixing errors and debugging for too long. Moving to a reflection in action strategy can help students become more successful. Traditional programming assignments are usually assessed in a way that ignores the skills needed for reflection in action, but software testing promotes the hypothesis-forming and experimental validation that are central to this mode of learning. By changing the way assignments are assessed--where students are responsible for demonstrating correctness through testing, and then assessed on how well they achieve this goal--it is possible to reinforce desired skills. Automated feedback can also play a valuable role in encouraging students while also showing them where they can improve.}, isbn = {978-1-58113-798-9}, @@ -896,6 +941,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/1384271.1384371}, + url = {https://dl.acm.org/doi/10.1145/1384271.1384371}, urldate = {2023-08-21}, abstract = {This demonstration introduces participants to using Web-CAT, an open-source automated grading system. Web-CAT is customizable and extensible, allowing it to support a wide variety of programming languages and assessment strategies. Web-CAT is most well-known as the system that "grades students on how well they test their own code," with experimental evidence that it offers greater learning benefits than more traditional output-comparison grading. Participants will learn how to set up courses, prepare reference tests, set up assignments, and allow graders to manually grade for design.}, isbn = {978-1-60558-078-4}, @@ -931,6 +977,7 @@ publisher = {{SAGE Publications Inc}}, issn = {0033-2941}, doi = {10.2466/pr0.2001.88.3.889}, + url = {https://doi.org/10.2466/pr0.2001.88.3.889}, urldate = {2022-02-24}, abstract = {Performance on two multiple-choice testing procedures was examined during unit tests and a final examination. The Immediate Feedback Assessment Technique provided immediate response feedback in an answer-until-correct style of responding. The testing format which served as a point of comparison was the Scantron form. One format was completed by students in introductory psychology courses during unit tests whereas all students used the Scantron form on the final examination. Students tested with Immediate Feedback forms on the unit tests correctly answered more of the final examination questions which were repeated from earlier unit tests than did students tested with Scantron forms. Also, students tested with Immediate Feedback forms correctly answered more final examination questions previously answered incorrectly on the unit tests than did students tested previously with Scantron forms.}, langid = {english}, @@ -973,6 +1020,7 @@ publisher = {{Taylor \& Francis}}, issn = {0162-1459}, doi = {10.1080/01621459.1982.10477894}, + url = {https://www.tandfonline.com/doi/abs/10.1080/01621459.1982.10477894}, urldate = {2021-02-19}, abstract = {An example is given of a family of distributions on [{\textemdash} 1, 1] with a continuous one-dimensional parameterization that joins the triangular distribution (when {$\Theta$} = 0) to the uniform (when {$\Theta$} = 1), for which the maximum likelihood estimates exist and converge strongly to {$\Theta$} = 1 as the sample size tends to infinity, whatever be the true value of the parameter. A modification that satisfies Cram{\'e}r's conditions is also given.}, keywords = {Asymptotic efficiency,Inconsistency,Maximum likelihood estimates,Mixtures}, @@ -989,6 +1037,7 @@ number = {5/6}, pages = {304--317}, issn = {1753-5263}, + url = {http://www.inderscience.com/info/ingeneral/forthcoming.php?jcode=ijtel}, urldate = {2022-08-16}, abstract = {Learning analytics is a significant area of technology-enhanced learning that has emerged during the last decade. This review of the field begins with an examination of the technological, educational and political factors that have driven the development of analytics in educational settings. It goes on to chart the emergence of learning analytics, including their origins in the 20th century, the development of data-driven analytics, the rise of learning-focused perspectives and the influence of national economic concerns. It next focuses on the relationships between learning analytics, educational data mining and academic analytics. Finally, it examines developing areas of learning analytics research, and identifies a series of future challenges.}, langid = {english}, @@ -1019,6 +1068,7 @@ pages = {1--3}, issn = {2472-7687}, doi = {10.23919/EAEEIE55804.2023.10181316}, + url = {https://ieeexplore.ieee.org/abstract/document/10181316}, urldate = {2023-10-02}, abstract = {The teaching of diverse programming topics and languages is a fundamental component of electrical engineering education. However, it is a complex task facing many challenges such as the need to accommodate students with very different programming backgrounds and with very different levels of motivation for the programming field {\textendash} these are classical difficulties with electrical engineering candidates.A web-based collaborative tool and a methodology to support student interaction and assistance in classroom teaching of programming languages in electrical engineering courses were presented in [1]. The main technological choices and functionalities, as well as examples of implemented courses, were described. The tool was developed aiming to be flexible, scalable and with high evolution potential.In this paper, we present the evolution of the basis tool through technology improvements, a set of new functionalities and added programming languages. The main technology upgrades include the full integration of the Visual Studio Code for the Web editor, a new web interface we called iWeb-TD and the expansion of the multi-user capabilities. In terms of functionalities, in addition to PHP and Octave, it is now possible to teach C/C++, Python, Java, and ipynb. A new major component is the integration of active debugging with step execution for all supported languages. This is a fundamental aspect that allows students with weak programming skills to evolve in a structured form. The tool can also allow the teacher to develop and test pedagogical elements in Python or Octave and publish them for student access in read-only mode using the Jupyter-Notebook technology.The paper includes example pedagogical elements for two electrical engineering courses taught using the enhanced platform, including the compilation of associated student feedback.}, file = {/home/charlotte/sync/Zotero/storage/WPW7AYUK/Fonseca et al. - 2023 - A web-based platform and a methodology to teach pr.pdf;/home/charlotte/sync/Zotero/storage/SIFC9TWB/10181316.html} @@ -1045,6 +1095,7 @@ publisher = {{Vilnius University Institute of Data Science and Digital Technologies}}, issn = {1648-5831, 2335-8971}, doi = {10.15388/infedu.2006.05}, + url = {https://www.infedu.vu.lt/journal/INFEDU/article/570}, urldate = {2022-08-16}, abstract = {For many programming tasks we would be glad to have some kind of automatic evaluation process. As an example, most of the programming contests use an automatic evaluation of the contestants' submissions. While this approach is clearly highly efficient, it also has some drawbacks. Often it is the case that the test inputs are not able to ``break'' all flawed submissions. In this article we show that the situation is not pleasant at all - for some programming tasks it is impossible to design good test inputs. Moreover, we discuss some ways how to recognize such tasks, and discuss other possibilities for doing the evaluation. The discussion is focused on programming contests, but the results can be applied for any programming tasks, e.g., assignments in school.}, langid = {english}, @@ -1063,6 +1114,7 @@ publisher = {{SAGE Publications Inc}}, issn = {0091-0260}, doi = {10.1177/009102600903800103}, + url = {https://doi.org/10.1177/009102600903800103}, urldate = {2021-04-30}, abstract = {Applicants for the jobs of engineering aide and plumber with a large public employer were asked to provide their assessments of the perceived fairness of two different HR selection devices{\textemdash}a background information form and a written job knowledge test. Significant differences were found in the applicants' perceptions of the fairness of the two selection devices. In addition, the differences found depended on the classification of the job for which individuals were applying. Specifically, engineering aide applicants saw the background information inventory as more just, while plumber applicants preferred the written exam. Implications of the results for HR selection are discussed.}, langid = {english}, @@ -1078,6 +1130,7 @@ pages = {3--31}, publisher = {{University of Gloucestershire}}, issn = {1742-240X}, + url = {https://eprints.glos.ac.uk/3609/}, urldate = {2022-02-21}, abstract = {Much evaluation of teaching focuses on what teachers do in class. This article focuses on the evaluation of assessment arrangements and the way they affect student learning out of class. It is assumed that assessment has an overwhelming influence on what, how and how much students study. The article proposes a set of `conditions under which assessment supports learning' and justifies these with reference to theory, empirical evidence and practical experience. These conditions are offered as a framework for teachers to review the effectiveness of their own assessment practice.}, langid = {english}, @@ -1096,6 +1149,7 @@ pages = {304--315}, issn = {0959-4752}, doi = {10.1016/j.learninstruc.2009.08.007}, + url = {https://www.sciencedirect.com/science/article/pii/S0959475209000759}, urldate = {2021-09-15}, abstract = {The present study examined the effectiveness of (a) peer feedback for learning, more specifically of certain characteristics of the content and style of the provided feedback, and (b) a particular instructional intervention to support the use of the feedback. A quasi-experimental repeated measures design was adopted. Writing assignments of 43 students of Grade 7 in secondary education showed that receiving `justified' comments in feedback improves performance, but this effect diminishes for students with better pretest performance. Justification was superior to the accuracy of comments. The instructional intervention of asking assessees to reflect upon feedback after peer assessment did not increase learning gains significantly.}, langid = {english}, @@ -1115,6 +1169,7 @@ pages = {585--594}, issn = {1877-0428}, doi = {10.1016/j.sbspro.2012.11.450}, + url = {https://www.sciencedirect.com/science/article/pii/S1877042812054365}, urldate = {2021-09-15}, abstract = {The present study examines the added value of peer assessment in a computer-supported collaborative learning environment (CSCL) in higher education by focusing on (1) the learning effect, (2) wiki product improvement and (3) students' perception of peer feedback in a CSCL-environment. The present study involved two conditions: structured peer feedback (S-PFB) and non-structured (control). The results do not indicate a significant learning effect between pretest and posttest or between the conditions. However, for both conditions the peer feedback process improved significantly the quality of the wiki product from draft to final version, although no significant differences between the control and the experimental group (S-PFB) were found. Furthermore, the S-PFB group adopted a more critical attitude when providing and receiving peer feedback. The S-PFB group also perceived the received peer feedback as being more profound and detailed.}, langid = {english}, @@ -1153,6 +1208,7 @@ publisher = {{Routledge}}, issn = {0144-3410}, doi = {10.1080/01443410.2020.1802645}, + url = {https://doi.org/10.1080/01443410.2020.1802645}, urldate = {2022-08-16}, abstract = {Performance on homework questions was compared with performance on related exam questions querying the same fact or principle, was used to assess the effect of answering online homework questions on subsequent exam performance. A distinctive pattern of performance was found for some students in which superior performance on online homework questions resulted in poorer exam performance. When assessed over an eleven-year period, for 2433 students in 12 different college lecture courses, the percent of students who did not benefit from correctly answering homework questions increased from 14\% in 2008 to 55\% in 2017. During the most recent two years of the study, when students were asked how they did their homework, students who benefitted from homework reported generating their own answers and students who reported copying the answers from another source did not benefit from homework.}, keywords = {Generation effect,long-term memory,testing effect} @@ -1169,6 +1225,7 @@ pages = {39--43}, issn = {0097-8418}, doi = {10.1145/355354.355369}, + url = {https://doi.org/10.1145/355354.355369}, urldate = {2022-02-17}, abstract = {Performances are analysed over successive semesters for a cohort of first-year students doing computer programming. Attainment is related to performance in other studies. However, many factors have roles. Learning style and problem-solving skills are important in information technology in Semester I. Gender and secondary school outcomes matter in introductory programming, also in Semester I. Dislike of programming influences outcomes in introductory programming and in Data Structures and Algorithms in Semester II. For a number of indicators, influence fluctuates over time and across area of study.}, file = {/home/charlotte/sync/Zotero/storage/C5V99SA8/Goold and Rimmer - 2000 - Factors affecting performance in first-year comput.pdf} @@ -1185,6 +1242,7 @@ pages = {103--109}, publisher = {{International Society for Exploring Teaching and Learning}}, issn = {1812-9129}, + url = {https://eric.ed.gov/?id=EJ1016536}, urldate = {2022-10-03}, abstract = {In this paper, we provide an in-depth view of the Undergraduate Teaching Assistant (UTA) program at Virginia Commonwealth University as a potential model for other large research universities who might wish to implement similar learner-centered initiatives in their first-year experience courses. Unlike graduate teaching assistants, whose primary objective in the classroom is to assist the professor, the UTAs assist the students by facilitating student engagement, offering peer-to-peer assistance, and modeling successful academic practices. The UTA program, founded in 2008, is integrated through all levels of VCU's University College. This paper explores the benefits offered to all stakeholders: faculty, students, and undergraduate teaching assistants.}, langid = {english}, @@ -1227,6 +1285,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2445196.2445368}, + url = {https://doi.org/10.1145/2445196.2445368}, urldate = {2022-08-16}, abstract = {This paper presents Online Python Tutor, a web-based program visualization tool for Python, which is becoming a popular language for teaching introductory CS courses. Using this tool, teachers and students can write Python programs directly in the web browser (without installing any plugins), step forwards and backwards through execution to view the run-time state of data structures, and share their program visualizations on the web. In the past three years, over 200,000 people have used Online Python Tutor to visualize their programs. In addition, instructors in a dozen universities such as UC Berkeley, MIT, the University of Washington, and the University of Waterloo have used it in their CS1 courses. Finally, Online Python Tutor visualizations have been embedded within three web-based digital Python textbook projects, which collectively attract around 16,000 viewers per month and are being used in at least 25 universities. Online Python Tutor is free and open source software, available at pythontutor.com.}, isbn = {978-1-4503-1868-6}, @@ -1265,6 +1324,7 @@ publisher = {{Routledge}}, issn = {0899-3408}, doi = {10.1080/08993408.2011.579808}, + url = {https://doi.org/10.1080/08993408.2011.579808}, urldate = {2022-08-16}, abstract = {This article provides a review of educational research literature focused on pair programming in the undergraduate computer science curriculum. Research suggests that the benefits of pair programming include increased success rates in introductory courses, increased retention in the major, higher quality software, higher student confidence in solutions, and improvement in learning outcomes. Moreover, there is some evidence that women, in particular, benefit from pair programming. The literature also provides evidence that the transition from paired to solo programming is easy for students. The greatest challenges for paired students appear to concern scheduling and partner compatibility. This review also considers practical issues such as assigning partners, teaching students to work in pairs, and assessing individual contributions, and concludes with a discussion of open research questions.}, keywords = {collaborative learning,pair programming} @@ -1281,6 +1341,7 @@ pages = {2795--2828}, issn = {1573-7616}, doi = {10.1007/s10664-017-9579-0}, + url = {https://doi.org/10.1007/s10664-017-9579-0}, urldate = {2023-11-16}, abstract = {Program comprehension is an important skill for programmers {\textendash} extending and debugging existing source code is part of the daily routine. Syntax highlighting is one of the most common tools used to support developers in understanding algorithms. However, most research in this area originates from a time when programmers used a completely different tool chain. We examined the influence of syntax highlighting on novices' ability to comprehend source code. Additional analyses cover the influence of task type and programming experience on the code comprehension ability itself and its relation to syntax highlighting. We conducted a controlled experiment with 390 undergraduate students in an introductory Java programming course. We measured the correctness with which they solved small coding tasks. Each test subject received some tasks with syntax highlighting and some without. The data provided no evidence that syntax highlighting improves novices' ability to comprehend source code. There are very few similar experiments and it is unclear as of yet which factors impact the effectiveness of syntax highlighting. One major limitation may be the types of tasks chosen for this experiment. The results suggest that syntax highlighting squanders a feedback channel from the IDE to the programmer that can be used more effectively.}, langid = {english}, @@ -1297,6 +1358,7 @@ number = {RFC 6749}, institution = {{Internet Engineering Task Force}}, doi = {10.17487/RFC6749}, + url = {https://datatracker.ietf.org/doc/rfc6749}, urldate = {2022-08-16}, abstract = {The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]}, file = {/home/charlotte/sync/Zotero/storage/WAFXIJ6P/Hardt - 2012 - The OAuth 2.0 Authorization Framework.pdf} @@ -1314,6 +1376,7 @@ publisher = {{American Educational Research Association}}, issn = {0034-6543}, doi = {10.3102/003465430298487}, + url = {https://doi.org/10.3102/003465430298487}, urldate = {2022-02-21}, abstract = {Feedback is one of the most powerful influences on learning and achievement, but this impact can be either positive or negative. Its power is frequently mentioned in articles about learning and teaching, but surprisingly few recent studies have systematically investigated its meaning. This article provides a conceptual analysis of feedback and reviews the evidence related to its impact on learning and achievement. This evidence shows that although feedback is among the major influences, the type of feedback and the way it is given can be differentially effective. A model of feedback is then proposed that identifies the particular properties and circumstances that make it effective, and some typically thorny issues are discussed, including the timing of feedback and the effects of positive and negative feedback. Finally, this analysis is used to suggest ways in which feedback can be used to enhance its effectiveness in classrooms.}, langid = {english}, @@ -1333,6 +1396,7 @@ pages = {1209--1230}, issn = {1955-2505}, doi = {10.1007/s12008-022-00930-0}, + url = {https://doi.org/10.1007/s12008-022-00930-0}, urldate = {2023-10-04}, abstract = {Learning Analytics is a field that measures, analyses, and reports data about students and their contexts to understand/improve learning and the place in which it occurs. Educational institutions have different motivations to use Learning Analytics. Some want to improve students' outcomes or optimize their educational technology and reduce the dropout rate and others. This concept is presented with practical experiences that have been acquired and validated by 16 institutions. Besides, an analysis of the results, challenges, and expectations was performed. It was found that the majority of initiatives use Learning Analytics to improve retention of students; few are focused merely on improving the teaching/learning process or academic issues. The organizations invest their resources in acquiring Learning Analytics software; however, most universities develop their technology. The technology helps organizations be preventive and not reactive as various models determine students at risk of failing. This information allows them to make suitable interventions, which increases the success of the initiative. CoViD19 pandemic is also put in context in this research; Learning Analytics could be a great approach to help the educational community adapt effectively to the new forms of educational delivery. Based on an exhaustive bibliographic review, various educational projects and experiences were analyzed, presenting an overview detailing applications, results, and potentialities and opportunities, hoping that this article will be a useful reference for researchers and faculty to exploit Learning Analytics education.}, langid = {english}, @@ -1345,6 +1409,7 @@ shorttitle = {Programming in {{Introductory Physics}}}, author = {Hole, Niklas Molnes}, year = {2020}, + url = {https://ntnuopen.ntnu.no/ntnu-xmlui/handle/11250/2777908}, urldate = {2023-10-02}, abstract = {Den norske regjeringen har bestemt at fra 2021 vil programmering v{\ae}re lagt til fysikk planen ved norske videreg{\aa}ende skoler (USS). L{\ae}rere har v{\ae}rt i stand til {\aa} delta p{\aa} ProFag (https://www.mn.uio.no/kurt/livslang-lering/profag) og andre tiltak for {\aa} l{\ae}re {\aa} bruke programmering i sine respektive kurs. Dermed kan utvikling av verkt{\o}y for {\aa} hjelpe i denne overgangen v{\ae}re avgj{\o}rende for {\aa} lykkes i avanserte kurs som fysikk. Imidlertid mangler der verkt{\o}y spesielt for {\aa} introdusere programmering i helt grunnleggende fysikk kurs. I tillegg har de tilgjengelige verkt{\o}yene som introduserer programmering generelt, mangler i funksjonalitet for {\aa} lage tilpassede oppgaver. For {\aa} hjelpe til med {\aa} l{\o}se disse problemene ble det gjennomf{\o}rt en Design Science Research (DSR) prosess. Ved {\aa} designe et verkt{\o}y, en online l{\ae}ringsplattform (OLP), som kunne introdusere programmering i et introduksjonskurs i fysikk, var det mulig {\aa} identifisere hvilke elementer som var viktige i et slikt verkt{\o}y. Det ble ogs{\aa} designet designet inn en funksjon for {\aa} la brukeren lage egne programmeringsoppgaver. Dette gjorde det mulig {\aa} finne ut hvordan et brukergrensesnitt (UI) kan tilpasses fysikkl{\ae}rere. For {\aa} f{\aa} et godt svar p{\aa} begge disse problemene, ble designet, elaborert og evaluert p{\aa} tre forskjellige m{\aa}lgrupper: universitetsstudenter (pilot), eksperter som jobber med dette feltet (expert), og fysikkl{\ae}rere uten noe tidligere kompetanse p{\aa} dette feltet (main). Totalt 18 elementer ble funnet {\aa} v{\ae}re avgj{\o}rende i utformingen av et verkt{\o}y som pr{\o}ver {\aa} introdusere programmering i et grunnleggende fysikk kurs. Det ble ogs{\aa} avdekket at ved {\aa} opprettet et brukergrensesnitt for {\aa} lage programmeringsoppgaver som passer til slik grunnleggende fysikk, var det viktig {\aa} ha muligheten til {\aa} skjule distraherende kode og for {\aa} kunne teste oppgaven i et realistisk milj{\o} mens man former oppgaven. I tillegg var det viktig at man laget brukergrensesnittet slik at utformingen av oppgaver tilsvarer m{\aa}ten oppgave-skaperne vanligvis lager oppgaver. For gruppen av fysikkl{\ae}rere var det mest interessant {\aa} bruke forh{\aa}ndsoppgaver enn {\aa} lage dem selv. Imidlertid var de interessert i {\aa} endre eksisterende oppgaver. Bortsett fra det som ble funnet ut i fra evalueringen, har OLPen som ble utviklet her ogs{\aa} som m{\aa}l {\aa} inspirere til forskningsarbeid og utvikling av verkt{\o}y som eksplisitt er laget for {\aa} introdusere programmering i spesifikke emner. OLP-artefakten som ble designet og utviklet i l{\o}pet av arbeid med denne oppgaven er tilgjengelig som en online demo (https://master-thesis-artifact.now.sh/) og som kildekode (https://github.com/niklasmh/master-thesis-artifact)}, langid = {english}, @@ -1364,6 +1429,7 @@ pages = {528--529}, issn = {0001-0782}, doi = {10.1145/367415.367422}, + url = {https://doi.org/10.1145/367415.367422}, urldate = {2022-08-16}, abstract = {Fifteen months ago the first version of an ``automatic grader'' was tried with a group of twenty students taking a formal course in programming. The first group of twenty programs took only five minutes on the computer (an IBM 650). With such a satisfactory beginning, the grader was then used for the entire course with this group of students and have been used at Rensselaer ever since. For all exercises, the average time spent on the computer has run from half a minute to a minute for each student. In general only an eighth as much computer time is required when the grader is used as is required when each student is expected to run his own program, probably less than a third as much staff time, and considerably less student time. The grader easily justifies itself on economic grounds. It accomplishes more than savings in time and money; it makes possible the teaching of programming to large numbers of students. This spring we had 80 students taking a full semester course in programming; over 120 are expected next spring. We could not accommodate such numbers without the use of the grader. Even though the grader makes the teaching of programming to large numbers of students possible and economically feasible, a most serious question remains, how well did the students learn? After fifteen months, our experience leads us to believe that students learn programming not only as well but probably better than they did under the method we did use{\textemdash}laboratory groups of four or five students. They are not as skilled in machine operation, however, since they get only a brief introduction to it late in the course. After learning programming, very little time is needed for each student to become at least an adequate machine operator. Students seem to like the grader and are not reluctant to suggest improvements!}, file = {/home/charlotte/sync/Zotero/storage/JS69Q9SX/Hollingsworth - 1960 - Automatic graders for programming classes.pdf} @@ -1380,6 +1446,7 @@ pages = {350--353}, issn = {0001-0782}, doi = {10.1145/359581.359603}, + url = {https://doi.org/10.1145/359581.359603}, urldate = {2022-08-23}, abstract = {Previously published algorithms for finding the longest common subsequence of two sequences of length n have had a best-case running time of O(n2). An algorithm for this problem is presented which has a running time of O((r + n) log n), where r is the total number of ordered pairs of positions at which the two sequences match. Thus in the worst case the algorithm has a running time of O(n2 log n). However, for those applications where most positions of one sequence match relatively few positions in the other sequence, a running time of O(n log n) can be expected.}, keywords = {efficient algorithms,longest common subsequence}, @@ -1403,6 +1470,7 @@ number = {3}, pages = {13:1--13:23}, doi = {10.1145/2499947.2499950}, + url = {https://doi.org/10.1145/2499947.2499950}, urldate = {2021-09-30}, abstract = {POGIL has been successfully implemented in a scientific computing course to teach science students how to program in Python. Following POGIL guidelines, the authors have developed guided inquiry activities that lead student teams to discover and understand programming concepts. With each iteration of the scientific computing course, the authors have refined the activities and learned how to better adapt POGIL for the computer science classroom. This article details how POGIL activities differ from both traditional computer science labs and other active-learning pedagogies. Background is provided on POGIL's effectiveness. The article then includes a full description of how POGIL activities were used in the scientific computing course, as well as an example POGIL activity on recursion. Discussion is provided on how to facilitate and develop POGIL activities. Quotes from student evaluations and an assessment on how well students learned to program are provided.}, keywords = {active learning,inquiry-based learning,POGIL,process skills,process-oriented guided inquiry learning}, @@ -1427,6 +1495,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/1930464.1930480}, + url = {https://doi.org/10.1145/1930464.1930480}, urldate = {2022-08-16}, abstract = {This paper presents a systematic literature review of the recent (2006--2010) development of automatic assessment tools for programming exercises. We discuss the major features that the tools support and the different approaches they are using both from the pedagogical and the technical point of view. Examples of these features are ways for the teacher to define tests, resubmission policies, security issues, and so forth. We have also identified a list of novel features, like assessing web software, that are likely to get more research attention in the future. As a conclusion, we state that too many new systems are developed, but also acknowledge the current reasons for the phenomenon. As one solution we encourage opening up the existing systems and joining efforts on developing those further. Selected systems from our survey are briefly described in Appendix A.}, isbn = {978-1-4503-0520-4}, @@ -1443,6 +1512,7 @@ pages = {59--72}, issn = {1477-8424}, doi = {10.1016/j.cl.2018.01.004}, + url = {https://www.sciencedirect.com/science/article/pii/S1477842417301045}, urldate = {2023-10-05}, abstract = {Assessment is an integral part of education often used to evaluate students, but also to provide them with feedback. It is essential to ensure that assessment is fair, objective, and equally applied to all students. This holds, for instance, in multiple-choice tests, but, unfortunately, it is not ensured in the assessment of source code, which is still a manual and error-prone task. In this paper, we present JavAssess , a Java library with an API composed of around 200 methods to automatically inspect, test, mark, and correct Java code. It can be used to produce both black-box (based on output comparison) and white-box (based on the internal properties of the code) assessment tools. This means that it allows for marking the code even if it is only partially correct. We describe the library, how to use it, and we provide a complete example to automatically mark and correct a student's code. We also report the use of this system in a real university context to compare manual and automatic assessment in university courses. The study reports the average error in the marks produced by teachers when assessing source code manually, and it shows that the system automatically assesses around 50\% of the work.}, keywords = {Assessment,Java}, @@ -1460,6 +1530,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/268084.268210}, + url = {https://doi.org/10.1145/268084.268210}, urldate = {2022-08-16}, abstract = {The task of grading solutions to student programming exercises is laborious and error-prone. We have developed a software tool called ASSYST that is designed to relieve a tutor of much of the burden of assessing such programs. ASSYST offers a graphical interface that can be used to direct all aspects of the grading process, and it considers a wide range of criteria in its automatic assessment. Experience with the system has been encouraging.}, isbn = {978-0-89791-889-3}, @@ -1477,6 +1548,7 @@ pages = {164--167}, issn = {0097-8418}, doi = {10.1145/353519.343160}, + url = {https://doi.org/10.1145/353519.343160}, urldate = {2022-09-09}, abstract = {Desirable though fully automated assessment of student programming assignments is, it is an area that is beset by difficulties. While it is not contested that some aspects of assessment can be performed much more efficiently and accurately by computer, there are many others that still require human involvement. We have therefore designed a system that combines the strengths of the two approaches, the assessment software calling upon the skills of the human tutor where necessary to make sensible judgements. The technique has been used successfully on a systems programming course for several years, and student feedback has been supportive.}, file = {/home/charlotte/sync/Zotero/storage/ERKK7ECV/Jackson - 2000 - A semi-automated approach to online assessment.pdf} @@ -1493,6 +1565,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/1352135.1352315}, + url = {https://doi.org/10.1145/1352135.1352315}, urldate = {2022-03-03}, abstract = {Coercing new programmers to adopt disciplined development practices such as thorough unit testing is a challenging endeavor. Test-driven development (TDD) has been proposed as a solution to improve both software design and testing. Test-driven learning (TDL) has been proposed as a pedagogical approach for teaching TDD without imposing significant additional instruction time. This research evaluates the effects of students using a test-first (TDD) versus test-last approach in early programming courses, and considers the use of TDL on a limited basis in CS1 and CS2. Software testing, programmer productivity, programmer performance, and programmer opinions are compared between test-first and test-last programming groups. Results from this research indicate that a test-first approach can increase student testing and programmer performance, but that early programmers are very reluctant to adopt a test-first approach, even after having positive experiences using TDD. Further, this research demonstrates that TDL can be applied in CS1/2, but suggests that a more pervasive implementation of TDL may be necessary to motivate and establish disciplined testing practice among early programmers.}, isbn = {978-1-59593-799-5}, @@ -1522,6 +1595,7 @@ pages = {198}, publisher = {{Multidisciplinary Digital Publishing Institute}}, doi = {10.3390/educsci10080198}, + url = {https://www.mdpi.com/2227-7102/10/8/198}, urldate = {2021-10-01}, abstract = {Immersive technologies are rapidly transforming the field of education. Amongst them, Augmented Reality (AR) has shown promise as a resource, particularly for education in Science, Technology, Engineering, Arts, and Mathematics (STEAM). There are, however, few teachers deploying this new medium in the classroom directly, and, consequently, only a few, elect students benefit from the AR-enriched offers. Curricula are already overloaded, and schools generally lack developmental resources, thus leaving no room for experimentation. This situation is further aggravated by the too few educational applications available with sufficient learning content. In this article, we investigate the method of Active Learning for the teaching of STEAM subjects, using a format where students are tasked with building an AR application as part of their learning. We evaluate the applicability of the Active Learning for STEAM subjects with a qualitative, case study approach, applying the workshop format as an extracurricular activity in our work with students from a range of secondary schools in Oxford. We discuss how the format works, so it can be embedded into regular curricula, not just as an extracurricular activity, also providing an overview on the involved teaching units and rationale. All teams in our preview audience of the case study succeeded in building working applications, several of impressive complexity. Students found that the lessons were enjoyable and AR technology can enhance their learning experience. The Active Learning method served as a catalyst for students\’ skills development, with the case study providing evidence of learning to code, working with a physics simulation engine, ray-tracing, and geometry, learning how to manage teams and interact with other students/instructors, and engineering a working prototype of a game. We consequentially argue that combining the STEM subjects and the arts, using the proposed Active Learning format, is able to provide a more holistic and engaging education.}, copyright = {http://creativecommons.org/licenses/by/3.0/}, @@ -1540,6 +1614,7 @@ number = {4}, pages = {18:1--18:21}, doi = {10.1145/2906362}, + url = {https://doi.org/10.1145/2906362}, urldate = {2021-09-30}, abstract = {Educational technology offers several potential benefits for programming education. Still, to facilitate the technology properly, integration into a course must be carefully designed. In this article, we present a redesign of an object-oriented university-level programming course. In the redesign, a collaborative education tool was utilized to enhance active learning, facilitate communication between students and teachers, and remodel the evaluation procedure by utilizing automatically assessed tasks. The redesign was based on the best practices found in our own earlier research and that of the research community, with a focus on facilitating active learning methods and student collaboration. The redesign was evaluated by comparing two instances of the redesigned course against two instances using the old methodology. The drop-out rate decreased statistically significantly in the redesigned course instances. Moreover, there was a trend toward higher grade averages in the redesigned instances. Based on the results, we can conclude that the utilization of educational technology has a highly positive effect on student performance. Still, making major changes to course methodology does not come without certain difficulties. Hence, we also present our experiences and suggestions for the course redesign to help other educators and researchers perform similar design changes.}, keywords = {course methodology,course redesign,Object-oriented programming,programming education}, @@ -1583,6 +1658,7 @@ number = {1}, pages = {3:1--3:43}, doi = {10.1145/3231711}, + url = {https://doi.org/10.1145/3231711}, urldate = {2022-10-03}, abstract = {Formative feedback, aimed at helping students to improve their work, is an important factor in learning. Many tools that offer programming exercises provide automated feedback on student solutions. We have performed a systematic literature review to find out what kind of feedback is provided, which techniques are used to generate the feedback, how adaptable the feedback is, and how these tools are evaluated. We have designed a labelling to classify the tools, and use Narciss' feedback content categories to classify feedback messages. We report on the results of coding a total of 101 tools. We have found that feedback mostly focuses on identifying mistakes and less on fixing problems and taking a next step. Furthermore, teachers cannot easily adapt tools to their own needs. However, the diversity of feedback types has increased over the past decades and new techniques are being applied to generate feedback that is increasingly helpful for students.}, keywords = {automated feedback,learning programming,programming tools,Systematic literature review}, @@ -1618,6 +1694,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3180155.3180187}, + url = {https://dl.acm.org/doi/10.1145/3180155.3180187}, urldate = {2023-11-23}, abstract = {Code search is an unavoidable activity in software development. Various approaches and techniques have been explored in the literature to support code search tasks. Most of these approaches focus on serving user queries provided as natural language free-form input. However, there exists a wide range of use-case scenarios where a code-to-code approach would be most beneficial. For example, research directions in code transplantation, code diversity, patch recommendation can leverage a code-to-code search engine to find essential ingredients for their techniques. In this paper, we propose FaCoY, a novel approach for statically finding code fragments which may be semantically similar to user input code. FaCoY implements a query alternation strategy: instead of directly matching code query tokens with code in the search space, FaCoY first attempts to identify other tokens which may also be relevant in implementing the functional behavior of the input code. With various experiments, we show that (1) FaCoY is more effective than online code-to-code search engines; (2) FaCoY can detect more semantic code clones (i.e., Type-4) in BigCloneBench than the state-of-the-art; (3) FaCoY, while static, can detect code fragments which are indeed similar with respect to runtime execution behavior; and (4) FaCoY can be useful in code/patch recommendation.}, isbn = {978-1-4503-5638-1}, @@ -1635,6 +1712,7 @@ publisher = {{Springer}}, address = {{New York, NY}}, doi = {10.1007/978-1-4757-4108-7_1}, + url = {https://doi.org/10.1007/978-1-4757-4108-7_1}, urldate = {2021-02-19}, abstract = {This introduction to logistic regression describes the reasons for the popularity of the logistic model, the model form, how the model may be applied, and several of its key features, particularly how an odds ratio can be derived and computed for this model.}, isbn = {978-1-4757-4108-7}, @@ -1663,6 +1741,7 @@ title = {Predicting Student Success by Mining Enrolment Data.}, author = {Kovacic, Z.}, year = {2012}, + url = {https://repository.openpolytechnic.ac.nz/handle/11072/1486}, urldate = {2021-02-19}, abstract = {This paper explores the socio-demographic variables (age, gender, ethnicity, education, work status, and disability) and study environment (course programme and course block), that may influence persistence or dropout of the distance education students at the Open Polytechnic. It examines to what extent these factors, i.e. enrolment data help us in preidentifying successful and unsuccessful students. The data stored in the Open Polytechnic student management system from 2006 to 2009, covering over 450 students who enrolled to Information Systems course was used to perform a quantitative analysis of study outcome. Based on a data mining techniques (such as feature selection and classification trees) and logistic regression the most important factors for student success and a profile of the typical successful and unsuccessful students are identified. The empirical results show the following: (i) the most important factors separating successful from unsuccessful students are: ethnicity, course programme and course block; (ii) among classification tree growing methods Classification and Regression Tree (CART) was the most successful in growing the tree with an overall percentage of correct classification of 60.5\%; (iii) both the risk estimated by the cross-validation and the gain diagram suggests that all trees, based only on enrolment data, are not quite good in separating successful from unsuccessful students, and (iv) the same conclusion was reached using the logistic regression. The implications of these results for academic and administrative staff are discussed.}, langid = {english}, @@ -1682,6 +1761,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3159450.3159602}, + url = {https://dl.acm.org/doi/10.1145/3159450.3159602}, urldate = {2023-08-21}, abstract = {The increasing number of students in computer science courses leads to high efforts in manual assessment of exercises. Existing assessment systems are not designed for exercises with immediate feedback in large classes. In this paper, we present an AuTomated assEssment Management System for interactive learning. ArTEMiS assesses solutions to programming exercises automatically and provides instant feedback so that students can iteratively solve the exercise. It is open source and highly scalable based on version control, regression testing and continuous integration. ArTEMiS offers an online code editor with interactive exercise instructions, is programming language independent and applicable to a variety of computer science courses. By using it, students gain experiences in version control, dependency management and continuous integration. We used ArTEMiS in 3 university and 1 online courses and report about our experiences. We figured out that ArTEMiS is suitable for beginners, helps students to realize their progress and to gradually improve their solutions. It reduces the effort of instructors and enhances the learning experience of students.}, isbn = {978-1-4503-5103-4}, @@ -1700,6 +1780,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2491411.2491452}, + url = {https://doi.org/10.1145/2491411.2491452}, urldate = {2022-06-30}, abstract = {Previous version of a program can be a powerful enabler for program analysis by defining new relative specifications and making the results of current program analysis more relevant. In this paper, we describe the approach of differential assertion checking (DAC) for comparing different versions of a program with respect to a set of assertions. DAC provides a natural way to write relative specifications over two programs. We introduce a novel modular approach to DAC by reducing it to safety checking of a composed program, which can be accomplished by standard program verifiers. In particular, we leverage automatic invariant generation to synthesize relative specifications for pairs of loops and procedures. We provide a preliminary evaluation of a prototype implementation within the SymDiff tool along two directions (a) soundly verifying bug fixes in the presence of loops and (b) providing a knob for suppressing alarms when checking a new version of a program.}, isbn = {978-1-4503-2237-9}, @@ -1727,6 +1808,7 @@ publisher = {{Routledge}}, issn = {1040-0419}, doi = {10.1080/10400419.2013.752297}, + url = {https://doi.org/10.1080/10400419.2013.752297}, urldate = {2022-08-16}, abstract = {The main goal of this study was to examine the effects of authors' name and gender on judges' assessment of product creativity in 4 different domains (art, science, music, and poetry). A total of 119 participants divided into 5 groups assessed products signed with a fictional author's name (unique vs. typical, male vs. female) or in an anonymous condition. It was observed that depending on the domain, the uniqueness of the author's name and her or his gender was associated with the assessment of creativity of the product. A poem and painting signed with an unusual name and a piece of music whose authorship was attributed to a man with a unique name were assessed as especially creative. In case of scientific theory, works attributed to men were assessed as significantly more creative than those of women. The results are discussed in light of the attributional approach to creativity.} } @@ -1757,6 +1839,7 @@ number = {3}, pages = {18:1--18:19}, doi = {10.1145/3277569}, + url = {https://doi.org/10.1145/3277569}, urldate = {2021-09-16}, abstract = {As enrollments and class sizes in postsecondary institutions have increased, instructors have sought automated and lightweight means to identify students who are at risk of performing poorly in a course. This identification must be performed early enough in the term to allow instructors to assist those students before they fall irreparably behind. This study describes a modeling methodology that predicts student final exam scores in the third week of the term by using the clicker data that is automatically collected for instructors when they employ the Peer Instruction pedagogy. The modeling technique uses a support vector machine binary classifier, trained on one term of a course, to predict outcomes in the subsequent term. We applied this modeling technique to five different courses across the computer science curriculum, taught by three different instructors at two different institutions. Our modeling approach includes a set of strengths not seen wholesale in prior work, while maintaining competitive levels of accuracy with that work. These strengths include using a lightweight source of student data, affording early detection of struggling students, and predicting outcomes across terms in a natural setting (different final exams, minor changes to course content), across multiple courses in a curriculum, and across multiple institutions.}, keywords = {at-risk students,clicker data,cross-term,machine learning,multi-institution,Peer instruction,prediction}, @@ -1775,6 +1858,7 @@ publisher = {{SAGE Publications Inc}}, issn = {0735-6331}, doi = {10.1177/0735633117752614}, + url = {https://doi.org/10.1177/0735633117752614}, urldate = {2021-09-16}, abstract = {Educational data mining constitutes a recent research field which gained popularity over the last decade because of its ability to monitor students' academic performance and predict future progression. Numerous machine learning techniques and especially supervised learning algorithms have been applied to develop accurate models to predict student's characteristics which induce their behavior and performance. In this work, we examine and evaluate the effectiveness of two wrapper methods for semisupervised learning algorithms for predicting the students' performance in the final examinations. Our preliminary numerical experiments indicate that the advantage of semisupervised methods is that the classification accuracy can be significantly improved by utilizing a few labeled and many unlabeled data for developing reliable prediction models.}, langid = {english}, @@ -1808,6 +1892,7 @@ number = {OOPSLA}, pages = {152:1--152:28}, doi = {10.1145/3360578}, + url = {https://dl.acm.org/doi/10.1145/3360578}, urldate = {2023-11-23}, abstract = {Programmers often write code that has similarity to existing code written somewhere. A tool that could help programmers to search such similar code would be immensely useful. Such a tool could help programmers to extend partially written code snippets to completely implement necessary functionality, help to discover extensions to the partial code which are commonly included by other programmers, help to cross-check against similar code written by other programmers, or help to add extra code which would fix common mistakes and errors. We propose Aroma, a tool and technique for code recommendation via structural code search. Aroma indexes a huge code corpus including thousands of open-source projects, takes a partial code snippet as input, searches the corpus for method bodies containing the partial code snippet, and clusters and intersects the results of the search to recommend a small set of succinct code snippets which both contain the query snippet and appear as part of several methods in the corpus. We evaluated Aroma on 2000 randomly selected queries created from the corpus, as well as 64 queries derived from code snippets obtained from Stack Overflow, a popular website for discussing code. We implemented Aroma for 4 different languages, and developed an IDE plugin for Aroma. Furthermore, we conducted a study where we asked 12 programmers to complete programming tasks using Aroma, and collected their feedback. Our results indicate that Aroma is capable of retrieving and recommending relevant code snippets efficiently.}, keywords = {clone detection,clustering,code recommendation,feature-based code representation,structural code search}, @@ -1825,6 +1910,7 @@ primaryclass = {cs}, publisher = {{arXiv}}, doi = {10.48550/arXiv.2102.04664}, + url = {http://arxiv.org/abs/2102.04664}, urldate = {2023-11-23}, abstract = {Benchmark datasets have a significant impact on accelerating research in programming language tasks. In this paper, we introduce CodeXGLUE, a benchmark dataset to foster machine learning research for program understanding and generation. CodeXGLUE includes a collection of 10 tasks across 14 datasets and a platform for model evaluation and comparison. CodeXGLUE also features three baseline systems, including the BERT-style, GPT-style, and Encoder-Decoder models, to make it easy for researchers to use the platform. The availability of such data and baselines can help the development and validation of new methods that can be applied to various program understanding and generation problems.}, archiveprefix = {arxiv}, @@ -1844,6 +1930,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3293881.3295779}, + url = {https://doi.org/10.1145/3293881.3295779}, urldate = {2022-02-25}, abstract = {As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research.}, isbn = {978-1-4503-6223-8}, @@ -1861,6 +1948,7 @@ number = {n/a}, issn = {1365-2729}, doi = {10.1111/jcal.12662}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1111/jcal.12662}, urldate = {2022-03-25}, abstract = {Background Learning to code is increasingly embedded in secondary and higher education curricula, where solving programming exercises plays an important role in the learning process and in formative and summative assessment. Unfortunately, students admit that copying code from each other is a common practice and teachers indicate they rarely use plagiarism detection tools. Objectives We want to lower the barrier for teachers to detect plagiarism by introducing a new source code plagiarism detection tool (Dolos) that is powered by state-of-the art similarity detection algorithms, offers interactive visualizations, and uses generic parser models to support a broad range of programming languages. Methods Dolos is compared with state-of-the-art plagiarism detection tools in a benchmark based on a standardized dataset. We describe our experience with integrating Dolos in a programming course with a strong focus on online learning and the impact of transitioning to remote assessment during the COVID-19 pandemic. Results and Conclusions Dolos outperforms other plagiarism detection tools in detecting potential cases of plagiarism and is a valuable tool for preventing and detecting plagiarism in online learning environments. It is available under the permissive MIT open-source license at https://dolos.ugent.be. Implications Dolos lowers barriers for teachers to discover, prove and prevent plagiarism in programming courses. This helps to enable a shift towards open and online learning and assessment environments, and opens up interesting avenues for more effective learning and better assessment.}, langid = {english}, @@ -1880,6 +1968,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3587103.3594166}, + url = {https://dl.acm.org/doi/10.1145/3587103.3594166}, urldate = {2023-11-16}, abstract = {With the increasing demand for programming skills comes a trend towards more online programming courses and assessments. While this allows educators to teach larger groups of students, it also opens the door to dishonest student behaviour, such as copying code from other students. When teachers use assignments where all students write code for the same problem, source code similarity tools can help to combat plagiarism. Unfortunately, teachers often do not use these tools to prevent such behaviour. In response to this challenge, we have developed a new source code plagiarism detection tool named Dolos. Dolos is open-source, supports a wide range of programming languages, and is designed to be user-friendly. It enables teachers to detect, prove and prevent plagiarism in programming courses by using fast algorithms and powerful visualisations. We present further enhancements to Dolos and discuss how it can be integrated into modern computing education courses to meet the challenges of online learning and assessment. By lowering the barriers for teachers to detect, prove and prevent plagiarism in programming courses, Dolos can help protect academic integrity and ensure that students earn their grades honestly.}, isbn = {9798400701399}, @@ -1900,6 +1989,7 @@ publisher = {{SAGE Publications Ltd}}, issn = {0004-9441}, doi = {10.1177/0004944116664618}, + url = {https://doi.org/10.1177/0004944116664618}, urldate = {2022-08-16}, abstract = {This article provides a meta-analysis of experimental research findings on the existence of bias in subjective grading of student work such as essay writing. Twenty-three analyses, from 20 studies, with a total of 1935 graders, met the inclusion criteria for the meta-analysis. All studies involved graders being exposed to a specific type of information about a student other than the student's performance on a task. The hypothesized biasing characteristics included different race/ethnic backgrounds, education-related deficiencies, physical unattractiveness and poor quality of prior performance. The statistically significant overall between-groups effect size was g\,=\,0.36. Moderator analyses showed no significant difference in effect size related to whether the work graded was from a primary school student or a university student. No one type of biasing characteristic showed a significantly higher effect size than other types. The results suggest that bias can occur in subjective grading when graders are aware of irrelevant information about the students.}, langid = {english}, @@ -1918,6 +2008,7 @@ publisher = {{SAGE Publications Inc}}, issn = {0098-6283}, doi = {10.1177/0098628313487425}, + url = {https://doi.org/10.1177/0098628313487425}, urldate = {2022-08-16}, abstract = {Experts have advocated anonymous grading as a means of eliminating actual or perceived evaluator bias in subjective student assessment. The utility of anonymity in assessment rests on whether information derived from student identity can unduly influence evaluation. The halo effect provides a conceptual background for why a bias might occur. In the present study examining the halo effect, psychology faculty members and teaching assistants were randomly assigned to grade a student giving a poor oral presentation or the same student giving a good oral presentation. All graders then assessed an unrelated piece of written work by the student. As hypothesized, the graders assigned significantly higher scores to written work following the better oral presentation. The results provide strong evidence of a halo effect in that prior experience with a student biased the grading of written work completed by the student. The findings suggest the need to keep students anonymous when feasible in order to minimize the risk of unfair grading.}, langid = {english}, @@ -1933,6 +2024,7 @@ pages = {176--183}, publisher = {{SciTePress}}, doi = {10.5220/0004842801760183}, + url = {https://upcommons.upc.edu/handle/2117/28174}, urldate = {2022-08-16}, copyright = {Open Access}, isbn = {978-989-758-021-5}, @@ -1954,6 +2046,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/1067445.1067451}, + url = {https://doi.org/10.1145/1067445.1067451}, urldate = {2022-02-25}, abstract = {The complexity of languages like Java and C++ can make introductory programming classes in these languages extremely challenging for many students. Part of the complexity comes from the large number of concepts and language features that students are expected to learn while having little time for adequate practice or examples. A second source of difficulty is the emphasis that object-oriented programming places on abstraction. We believe that by placing a larger emphasis on testing in programming assignments in these introductory courses, students have an opportunity for extra practice with the language, and this affords them a gentler transition into the abstract thinking needed for programming. In this paper we describe how we emphasized testing in introductory programming assignments by requiring that students design and implement tests before starting on the program itself. We also provide some preliminary results and student reactions.}, isbn = {978-1-59593-024-8}, @@ -1972,6 +2065,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3448139.3448160}, + url = {https://doi.org/10.1145/3448139.3448160}, urldate = {2022-09-15}, abstract = {Large courses act as gateways for college students and often have poor outcomes, particularly in STEM fields where the pace of improvement has been glacial. Students encounter barriers to persistence like low grades, competitive cultures, and a lack of motivation and belonging. Tailored technology systems offer one promising path forward. In this observational study, we report on the use of one such system, called ECoach, that provides students resources based on their psychosocial profile, performance metrics, and pattern of ECoach usage. We investigated ECoach efficacy in five courses enrolling 3,599 students using a clustering method to group users by engagement level and subsequent regression analyses. We present results showing significant positive relationships with small effect sizes between ECoach engagement and final course grade as well as grade anomaly, a performance measure that takes into account prior course grades. The courses with the strongest relationship between ECoach engagement and performance offered nominal extra credit incentives yet show improved grades well above this ``investment'' from instructors. Such small incentives may act as a catalyst that spurs deeper engagement with the platform. The impact of specific ECoach features and areas for future study are discussed.}, isbn = {978-1-4503-8935-8}, @@ -2006,6 +2100,7 @@ number = {1}, pages = {2:1--2:18}, doi = {10.1145/2747008}, + url = {https://doi.org/10.1145/2747008}, urldate = {2021-09-30}, abstract = {In this article, we address the question of why computing students choose to learn computing topics on their own. A better understanding of why some students choose to learn on their own may help us to motivate other students to develop this important skill. In addition, it may help in curriculum design; if we need to leave some topics out of our expanding curriculum, a good choice might be those topics that students readily learn on their own. Based on a thematic analysis of 17 semistructured interviews, we found that computing students' motivations for self-directed learning fall into four general themes: projects, social and peer interactions, joy of learning, and fear. Under these, we describe several more specific subthemes, illustrated in the words of the students. The project-related and social motivations are quite prominent. Although these motivations appear in the literature, they received greater emphasis from our interviewees. Perhaps most characteristic of computing is the motivation to learn to complete some project, both projects done for fun and projects required for school or work.}, keywords = {informal learning,Motivation,self-directed learning}, @@ -2023,6 +2118,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/572133.572137}, + url = {https://doi.org/10.1145/572133.572137}, urldate = {2022-02-24}, abstract = {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.}, isbn = {978-1-4503-7359-3}, @@ -2041,6 +2137,7 @@ publisher = {{Routledge}}, issn = {1539-1523}, doi = {10.1080/15391523.2010.10782552}, + url = {https://doi.org/10.1080/15391523.2010.10782552}, urldate = {2021-04-30}, abstract = {This study examined technology implementation practices associated with student learning gains. Interviews and observations were conducted with staff at schools where teachers using reading or mathematics software with their students attained above-average achievement gains and at schools where software-using teachers had below-average gains. The findings highlight the importance of school practices in the areas of principal support and teacher collaboration around software use and of teacher practices concerning classroom management and use of software-generated student performance data. The issues of instructional coherence and competition for instructional time are highlighted as challenges to software implementation.}, keywords = {implementation,software,Technology}, @@ -2071,6 +2168,7 @@ journal = {arXiv:1908.09635 [cs]}, eprint = {1908.09635}, primaryclass = {cs}, + url = {http://arxiv.org/abs/1908.09635}, urldate = {2021-04-30}, abstract = {With the widespread use of AI systems and applications in our everyday lives, it is important to take fairness issues into consideration while designing and engineering these types of systems. Such systems can be used in many sensitive environments to make important and life-changing decisions; thus, it is crucial to ensure that the decisions do not reflect discriminatory behavior toward certain groups or populations. We have recently seen work in machine learning, natural language processing, and deep learning that addresses such challenges in different subdomains. With the commercialization of these systems, researchers are becoming aware of the biases that these applications can contain and have attempted to address them. In this survey we investigated different real-world applications that have shown biases in various ways, and we listed different sources of biases that can affect AI applications. We then created a taxonomy for fairness definitions that machine learning researchers have defined in order to avoid the existing bias in AI systems. In addition to that, we examined different domains and subdomains in AI showing what researchers have observed with regard to unfair outcomes in the state-of-the-art methods and how they have tried to address them. There are still many future directions and solutions that can be taken to mitigate the problem of bias in AI systems. We are hoping that this survey will motivate researchers to tackle these issues in the near future by observing existing work in their respective fields.}, archiveprefix = {arxiv}, @@ -2104,6 +2202,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3472673.3473958}, + url = {https://doi.org/10.1145/3472673.3473958}, urldate = {2022-07-06}, abstract = {Research on source code mining has been explored to discover interesting structural regularities, API usage patterns, refactoring opportunities, bugs, crosscutting concerns, code clones and systematic changes. In this paper we present a pattern mining algorithm that uses frequent tree mining to mine for interesting good, bad or ugly coding idioms made by undergraduate students taking an introductory programming course. We do so by looking for patterns that distinguish positive examples, corresponding to the more correct answers to a question, from negative examples, corresponding to solutions that failed the question. We report promising initial results of this algorithm applied to the source code of over 500 students. Even though more work is needed to fine-tune and validate the algorithm further, we hope that it can lead to interesting insights that can eventually be integrated into an intelligent recommendation system to help students learn from their errors.}, isbn = {978-1-4503-8624-1}, @@ -2157,6 +2256,7 @@ title = {Interpretable {{Machine Learning}}}, author = {Molnar, Christoph}, year = {2019}, + url = {https://christophm.github.io/interpretable-ml-book/}, urldate = {2021-08-24}, abstract = {Machine learning algorithms usually operate as black boxes and it is unclear how they derived a certain decision. This book is a guide for practitioners to make machine learning decisions interpretable.}, file = {/home/charlotte/sync/Zotero/storage/HV4YWAEG/interpretable-ml-book.html} @@ -2173,6 +2273,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3183440.3183453}, + url = {https://doi.org/10.1145/3183440.3183453}, urldate = {2022-06-30}, abstract = {As more aspects of our daily lives rely on technology, the software that enables the technology must be secure. Developers rely on practices such as threat modeling, static and dynamic analyses, code review, and fuzz and penetration testing to engineer secure software. These practices, while effective at identifying vulnerabilities in software, are limited in their ability to describe the potential reasons for the existence of vulnerabilities. In order to overcome this limitation, researchers have proposed empirically validated metrics to identify factors that may have led to the introduction of vulnerabilities in the past. Developers must be made aware of these factors so that they can proactively consider the security implications of each line of code that they contribute. The goal of our research is to assist developers in engineering secure software by providing a technique that generates scientific, interpretable, and actionable feedback on security as the software evolves. In this paper, we provide an overview of our proposed approach to accomplish this research goal through a series of three research studies in which we (1) systematize the knowledge on vulnerability discovery metrics, (2) leverage the metrics to generate feedback on security, and (3) implement a framework for providing automatically generated feedback on security using code reviews as a medium.}, isbn = {978-1-4503-5663-3}, @@ -2190,6 +2291,7 @@ pages = {251--266}, issn = {1432-0541}, doi = {10.1007/BF01840446}, + url = {https://doi.org/10.1007/BF01840446}, urldate = {2022-08-16}, abstract = {The problems of finding a longest common subsequence of two sequencesA andB and a shortest edit script for transformingA intoB have long been known to be dual problems. In this paper, they are shown to be equivalent to finding a shortest/longest path in an edit graph. Using this perspective, a simpleO(ND) time and space algorithm is developed whereN is the sum of the lengths ofA andB andD is the size of the minimum edit script forA andB. The algorithm performs well when differences are small (sequences are similar) and is consequently fast in typical applications. The algorithm is shown to haveO(N+D2) expected-time performance under a basic stochastic model. A refinement of the algorithm requires onlyO(N) space, and the use of suffix trees leads to anO(N logN+D2) time variation.}, langid = {english}, @@ -2208,6 +2310,7 @@ publisher = {{Routledge}}, issn = {0158-7919}, doi = {10.1080/01587919.2012.667957}, + url = {https://doi.org/10.1080/01587919.2012.667957}, urldate = {2022-08-16}, abstract = {Fully online courses are becoming progressively more popular because of their ``anytime anywhere'' learning flexibility. One of the ways students interact with each other and with the instructors within fully online learning environments is via asynchronous discussion forums. However, student engagement in online discussion forums does not always take place automatically and there is a lack of clarity about the ideal role of the instructors in them. In this article, we report on our research on the quality of discussion in fully online courses through analysis of discussion forum activities. We have conducted our research on two large fully online subjects for computing students over two consecutive semesters and used a grounded theoretic approach for data analysis. Our results reveal what students and instructors consider as quality interaction in fully online courses. We also propose two frameworks based on our findings that can be used to ensure effective online interaction.}, keywords = {asynchronous discussion forums,fully online course,quality framework} @@ -2224,6 +2327,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2659532.2659628}, + url = {https://doi.org/10.1145/2659532.2659628}, urldate = {2021-02-22}, abstract = {Although interactive e-learning environments are increasingly used in university courses, traditional types of examination still dominate the way how students are assessed for grades. In this paper, we examined how student data from online interactive learning environment for programming exercises can be used for summative assessment at the end of the course. Using data from three different university courses, we calibrated the two parameter logistic regression model, ranked students according to their ability of solving problems, and matched them to final grades. Results indicate we can predict grades within 0.57 to 1.02 level of accuracy, suggesting that careful use of interactive e-learning environments in university courses can substitute existing assessment methods, opening further possibilities for innovation in instructional process.}, isbn = {978-1-4503-2753-4}, @@ -2239,6 +2343,7 @@ journal = {ACM Transactions on Computing Education (TOCE)}, publisher = {{ACM}}, doi = {10.1145/3517133}, + url = {https://dl.acm.org/doi/abs/10.1145/3517133}, urldate = {2022-04-01}, abstract = {In many countries, computer programming is becoming an integral part of the secondary school curriculum. However, many teachers, especially in the first years of Flemish secondary school, have limited experience with teaching programming. To improve their ...}, langid = {english}, @@ -2258,6 +2363,7 @@ publisher = {{The University of Chicago Press}}, issn = {0013-5984}, doi = {10.1086/461747}, + url = {https://www.journals.uchicago.edu/doi/abs/10.1086/461747}, urldate = {2022-08-16}, abstract = {This study investigated students' perceptions of their teachers and classmates in relation to reported academic help seeking. 177 students at grades 3, 5, and 7 were interviewed individually using a structured questionnaire to assess who, why, and in what situations they asked for help when they had problems in math class. Results indicated that students generally preferred the teacher to classmates as helpers and saw the teacher, in comparison to classmates, as more likely to facilitate learning and less likely to think they were "dumb" for asking questions. Several grade-related differences emerged. Fifth and seventh graders' help-seeking intentions reflected more concern about social comparison than did third graders'. At seventh grade only, a concern that the teacher might think students were "dumb" for asking questions was negatively related to the self-reported likelihood of seeking help. Perceptions of teacher support varied with grade level. Although perception of a strong personal relationship with the teacher was associated with students' intentions to seek help at all grades, perception of teacher encouragement of questioning was related only at fifth and seventh grades.} } @@ -2275,6 +2381,7 @@ publisher = {{Routledge}}, issn = {0307-5079}, doi = {10.1080/03075070600572090}, + url = {https://doi.org/10.1080/03075070600572090}, urldate = {2022-02-21}, abstract = {The research on formative assessment and feedback is reinterpreted to show how these processes can help students take control of their own learning, i.e. become self-regulated learners. This reformulation is used to identify seven principles of good feedback practice that support self-regulation. A key argument is that students are already assessing their own work and generating their own feedback, and that higher education should build on this ability. The research underpinning each feedback principle is presented, and some examples of easy-to-implement feedback strategies are briefly described. This shift in focus, whereby students are seen as having a proactive rather than a reactive role in generating and using feedback, has profound implications for the way in which teachers organise assessments and support learning.}, file = {/home/charlotte/sync/Zotero/storage/KPAM4LT7/Nicol and Macfarlane‐Dick - 2006 - Formative assessment and self‐regulated learning .pdf;/home/charlotte/sync/Zotero/storage/P2LCKCBM/03075070600572090.html} @@ -2304,6 +2411,7 @@ publisher = {{American Society of Civil Engineers}}, issn = {1052-3928}, doi = {10.1061/(ASCE)1052-3928(2007)133:1(31)}, + url = {https://ascelibrary.org/doi/abs/10.1061/%28ASCE%291052-3928%282007%29133%3A1%2831%29}, urldate = {2021-10-01}, abstract = {In this case study, we present a teaching approach that promotes active learning in engineering classes. Students are provided with a combination of physical, mathematical, and computer simulation models that allow them to participate, act, react, and reflect, rather than just listen to lectures, as in traditional classes. We illustrate important aspects of our pedagogy with one of 12 modules that have been implemented in an undergraduate hydraulic engineering course. Student evaluations indicate that this approach is appealing to most students. Data are presented to show that this approach has contributed to improved student learning and achievement.}, langid = {english}, @@ -2322,6 +2430,7 @@ pages = {437--461}, issn = {2073-4859}, doi = {10.32614/RJ-2020-007}, + url = {https://journal.r-project.org/archive/2020/RJ-2020-007/index.html}, urldate = {2021-02-26}, langid = {english}, file = {/home/charlotte/sync/Zotero/storage/ACQBCGCE/Nüst et al. - 2020 - The Rockerverse Packages and Applications for Con.pdf;/home/charlotte/sync/Zotero/storage/6JE8GK6V/index.html} @@ -2344,7 +2453,8 @@ type = {Doi:{{https://doi.org/10.1787/589b283f-en}}}, title = {{{OECD Digital Education Outlook}} 2021}, author = {OECD}, - year = {2021} + year = {2021}, + url = {https://www.oecd-ilibrary.org/content/publication/589b283f-en} } @article{osmanbegovicDataMiningApproach2012, @@ -2370,6 +2480,7 @@ number = {3}, pages = {34:1--34:40}, doi = {10.1145/3513140}, + url = {https://doi.org/10.1145/3513140}, urldate = {2022-08-16}, abstract = {Practical programming competencies are critical to the success in computer science (CS) education and go-to-market of fresh graduates. Acquiring the required level of skills is a long journey of discovery, trial and error, and optimization seeking through a broad range of programming activities that learners must perform themselves. It is not reasonable to consider that teachers could evaluate all attempts that the average learner should develop multiplied by the number of students enrolled in a course, much less in a timely, deep, and fair fashion. Unsurprisingly, exploring the formal structure of programs to automate the assessment of certain features has long been a hot topic among CS education practitioners. Assessing a program is considerably more complex than asserting its functional correctness, as the proliferation of tools and techniques in the literature over the past decades indicates. Program efficiency, behavior, and readability, among many other features, assessed either statically or dynamically, are now also relevant for automatic evaluation. The outcome of an evaluation evolved from the primordial Boolean values to information about errors and tips on how to advance, possibly taking into account similar solutions. This work surveys the state of the art in the automated assessment of CS assignments, focusing on the supported types of exercises, security measures adopted, testing techniques used, type of feedback produced, and the information they offer the teacher to understand and optimize learning. A new era of automated assessment, capitalizing on static analysis techniques and containerization, has been identified. Furthermore, this review presents several other findings from the conducted review, discusses the current challenges of the field, and proposes some future research directions.}, keywords = {Automated assessment,computer science,feedback,learning analytics,programming}, @@ -2388,6 +2499,7 @@ publisher = {{Multidisciplinary Digital Publishing Institute}}, issn = {2078-2489}, doi = {10.3390/info13020045}, + url = {https://www.mdpi.com/2078-2489/13/2/45}, urldate = {2023-10-02}, abstract = {E-learning tools are gaining increasing relevance as facilitators in the task of learning how to program. This is mainly a result of the pandemic situation and consequent lockdown in several countries, which forced distance learning. Instant and relevant feedback to students, particularly if coupled with gamification, plays a pivotal role in this process and has already been demonstrated as an effective solution in this regard. However, teachers still struggle with the lack of tools that can adequately support the creation and management of online gamified programming courses. Until now, there was no software platform that would be simultaneously open-source and general-purpose (i.e., not integrated with a specific course on a specific programming language) while featuring a meaningful selection of gamification components. Such a solution has been developed as a part of the Framework for Gamified Programming Education (FGPE) project. In this paper, we present its two front-end components: FGPE AuthorKit and FGPE PLE, explain how they can be used by teachers to prepare and manage gamified programming courses, and report the results of the usability evaluation by the teachers using the platform in their classes.}, copyright = {http://creativecommons.org/licenses/by/3.0/}, @@ -2407,6 +2519,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3059009.3059026}, + url = {https://dl.acm.org/doi/10.1145/3059009.3059026}, urldate = {2023-10-05}, abstract = {We present GradeIT, a system that combines the dual objectives of automated grading and program repairing for introductory programming courses (CS1). Syntax errors pose a significant challenge for testcase-based grading as it is difficult to differentiate between a submission that is almost correct and has some minor syntax errors and another submission that is completely off-the-mark. GradeIT also uses program repair to help in grading submissions that do not compile. This enables running testcases on submissions containing minor syntax errors, thereby awarding partial marks for these submissions (which, without repair, do not compile successfully and, hence, do not pass any testcase). Our experiments on 15613 submissions show that GradeIT results are comparable to manual grading by teaching assistants (TAs), and do not suffer from unintentional variability that happens when multiple TAs grade the same assignment. The repairs performed by GradeIT enabled successful compilation of 56\% of the submissions having compilation errors, and resulted in an improvement in marks for 11\% of these submissions.}, isbn = {978-1-4503-4704-4}, @@ -2426,6 +2539,7 @@ pages = {122--126}, issn = {0097-8418}, doi = {10.1145/169073.169362}, + url = {https://dl.acm.org/doi/10.1145/169073.169362}, urldate = {2022-02-24}, langid = {english}, file = {/home/charlotte/sync/Zotero/storage/PJBF6F66/Pattis - 1993 - The “procedures early” approach in CS 1 a heresy.pdf} @@ -2442,6 +2556,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3340531.3412026}, + url = {https://doi.org/10.1145/3340531.3412026}, urldate = {2022-07-01}, abstract = {Hierarchically structured data are commonly represented as trees and have given rise to popular data formats like XML or JSON. An interesting query computes the difference between two versions of a tree, expressed as the minimum set of node edits (deletion, insertion, label rename) that transform one tree into another, commonly known as the tree edit distance. Unfortunately, the fastest tree edit distance algorithms run in cubic time and quadratic space and are therefore not feasible for large inputs. In this paper, we leverage the fact that the difference between two versions of a tree is typically much smaller than the overall tree size. We propose a new tree edit distance algorithm that is linear in the tree size for similar trees. Our algorithm is based on the new concept of top node pairs and avoids redundant distance computations, the main issue with previous solutions for tree diffs. We empirically evaluate the runtime of our algorithm on large synthetic and real-world trees; our algorithm clearly outperforms the state of the art, often by orders of magnitude.}, isbn = {978-1-4503-6859-9}, @@ -2458,6 +2573,7 @@ volume = {12}, number = {85}, pages = {2825--2830}, + url = {http://jmlr.org/papers/v12/pedregosa11a.html}, urldate = {2021-04-01}, abstract = {Scikit-learn is a Python module integrating a wide range of state-of-the-art machine learning algorithms for medium-scale supervised and unsupervised problems. This package focuses on bringing machine learning to non-specialists using a general-purpose high-level language. Emphasis is put on ease of use, performance, documentation, and API consistency. It has minimal dependencies and is distributed under the simplified BSD license, encouraging its use in both academic and commercial settings. Source code, binaries, and documentation can be downloaded from http://scikit-learn.sourceforge.net.}, file = {/home/charlotte/sync/Zotero/storage/BSENXYMJ/Pedregosa et al. - 2011 - Scikit-learn Machine Learning in Python.pdf} @@ -2467,8 +2583,8 @@ title = {Teach {{Yourself Programming}} in {{Ten Years}}}, author = {{Peter Norvig}}, year = {2001}, + url = {http://norvig.com/21-days.html}, urldate = {2022-08-16}, - howpublished = {http://norvig.com/21-days.html}, file = {/home/charlotte/sync/Zotero/storage/VTNWVKYG/21-days.html} } @@ -2484,6 +2600,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2157136.2157267}, + url = {https://doi.org/10.1145/2157136.2157267}, urldate = {2021-10-07}, abstract = {Jutge.org is an open access educational online programming judge where students can try to solve more than 800 problems using 22 programming languages. The verdict of their solutions is computed using exhaustive test sets run under time, memory and security restrictions. By contrast to many popular online judges, Jutge.org is designed for students and instructors: On one hand, the problem repository is mainly aimed to beginners, with a clear organization and gradding. On the other hand, the system is designed as a virtual learning environment where instructors can administer their own courses, manage their roster of students and tutors, add problems, attach documents, create lists of problems, assignments, contests and exams. This paper presents Jutge.org and offers some case studies of courses using it.}, isbn = {978-1-4503-1098-7}, @@ -2502,6 +2619,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3287324.3287507}, + url = {https://doi.org/10.1145/3287324.3287507}, urldate = {2022-08-16}, abstract = {With the continued growth of enrollment within computer science courses, it has become an increasing necessity to utilize autograding systems. These systems have historically graded assignments through either a jailed sandbox environment or within a virtual machine (VM). For a VM, each submission is given its own instantiation of a guest operating system and virtual hardware that runs atop the host system, preventing anything that runs within the VM communicating with any other VM or the host. However, using these VMs are costly in terms of system resources, making it less than ideal for running student submissions given reasonable, limited resources. Jailed sandboxes, on the other hand, run on the host itself, thus taking up minimal resources, and utilize a security model that restricts the process to specified directories on the system. However, due to running on the host machine, the approach suffers as new courses utilize autograding and bring their own set of potentially conflicting requirements for programming languages and system packages. Over the past several years, {\textbackslash}em containers have seen growing popularity in usage within the software engineering industry as well as within autograding systems. Containers provide similar benefits of isolation as a VM while maintaining similar resource cost to running within a jailed sandbox environment. We present the implementation of both a jailed sandbox and container-based autograder, compare the running time and memory usage of the two implementations, and discuss the overall resource usage.}, isbn = {978-1-4503-5890-3}, @@ -2537,6 +2655,7 @@ pages = {3--12}, issn = {1536-0768}, doi = {10.1002/tl.37219956304}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/tl.37219956304}, urldate = {2022-09-09}, abstract = {Self-regulated learning is an important component of learning for college students. Students can learn how to become self-regulated learners, and faculty can foster self-regulated learning in their classrooms.}, langid = {english}, @@ -2554,6 +2673,7 @@ pages = {76}, issn = {1662-5196}, doi = {10.3389/fninf.2017.00076}, + url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5778115/}, urldate = {2022-06-14}, pmcid = {PMC5778115}, pmid = {29403370}, @@ -2587,6 +2707,7 @@ pages = {223--231}, issn = {2168-9830}, doi = {10.1002/j.2168-9830.2004.tb00809.x}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/j.2168-9830.2004.tb00809.x}, urldate = {2021-08-26}, abstract = {This study examines the evidence for the effectiveness of active learning. It defines the common forms of active learning most relevant for engineering faculty and critically examines the core element of each method. It is found that there is broad but uneven support for the core elements of active, collaborative, cooperative and problem-based learning.}, langid = {english}, @@ -2605,6 +2726,7 @@ number = {3}, pages = {19:1--19:35}, doi = {10.1145/3394963}, + url = {https://doi.org/10.1145/3394963}, urldate = {2021-09-30}, abstract = {This article provides a survey of methods and paradigms for teaching Computer Networks (CN). Since the theoretical concepts are rather abstract in this subject, and students often find them too technical and difficult to understand, many authors attempt to answer the question on how to improve students' motivation and interest for the complex teaching material of CN. In this work, we follow a rigorous paper collection methodology and extract a large number of previous studies that relate to the stated research questions. Also, we find that there is no review article in the current literature that would provide a clear systematization or a guided study on this topic. Hence, this work provides a literature overview by binding all the previously used methods for teaching CN in one place, and brings contribution by classifying the existing approaches into four basic classes: methods based on using visualization objects such as network simulators, multimedia applications, packet-tracing tools or visual analogies; methods based on using the virtualization techniques; methods precipitating active learning paradigm and methods based on the practical hands-on laboratory exercises. Moreover, the research in this article goes beyond the proposed classification. The classes of methods and tools are compared and contrasted based on the findings from the literature. Methods are evaluated by a detailed cross-comparison based on their advantages, disadvantages and challenges in the perspective of both teachers and students. The review is additionally strengthened by comparing the educational effectiveness of the classified methods. We examine, classify, and contrast the usual approaches used in teaching CN, provide useful insights on how appropriate they are in achieving specific educational goals and determine the future research directions.}, keywords = {Computer networks,literature survey,network simulators,teaching methods}, @@ -2623,6 +2745,7 @@ publisher = {{Routledge}}, issn = {1050-8406}, doi = {10.1080/10508406.2013.836656}, + url = {https://doi.org/10.1080/10508406.2013.836656}, urldate = {2021-09-15}, abstract = {As secondary students' interest in science is decreasing, schools are faced with the challenging task of providing adequate instruction to engage students{\textemdash}and more particularly the disadvantaged students{\textemdash}to learn science and improve their science inquiry skills. In this respect, the integration of Web-based collaborative inquiry can be seen as a possible answer. However, the differential effects of Web-based inquiry on disadvantaged students have barely been studied. To bridge this gap, this study deals with the implementation of a Web-based inquiry project in 19 secondary classes and focuses specifically on gender, achievement level, and academic track. Multilevel analysis was applied to uncover the effects on knowledge acquisition, inquiry skills, and interest in science. The study provides quantitative evidence not only that a Web-based collaborative inquiry project is an effective approach for science learning, but that this approach can also offer advantages for students who are not typically successful in science or who are not enrolled in a science track. This approach can contribute to narrowing the gap between boys and girls in science and can give low-achieving students and general-track students an opportunity to develop confidence and skills for learning science, bringing them to a performance level that is closer to that of high-achieving students.}, file = {/home/charlotte/sync/Zotero/storage/5A6P3CLX/Raes et al. - 2014 - Web-based Collaborative Inquiry to Bridge Gaps in .pdf;/home/charlotte/sync/Zotero/storage/ECGB3N97/10508406.2013.html} @@ -2652,6 +2775,7 @@ pages = {37--64}, issn = {1560-4306}, doi = {10.1007/s40593-015-0070-z}, + url = {https://doi.org/10.1007/s40593-015-0070-z}, urldate = {2022-08-03}, abstract = {To provide personalized help to students who are working on code-writing problems, we introduce a data-driven tutoring system, ITAP (Intelligent Teaching Assistant for Programming). ITAP uses state abstraction, path construction, and state reification to automatically generate personalized hints for students, even when given states that have not occurred in the data before. We provide a detailed description of the system's implementation and perform a technical evaluation on a small set of data to determine the effectiveness of the component algorithms and ITAP's potential for self-improvement. The results show that ITAP is capable of producing hints for almost any given state after being given only a single reference solution, and that it can improve its performance by collecting data over time.}, langid = {english}, @@ -2672,6 +2796,7 @@ publisher = {{Routledge}}, issn = {0899-3408}, doi = {10.1076/csed.13.2.137.14200}, + url = {https://doi.org/10.1076/csed.13.2.137.14200}, urldate = {2022-02-24}, abstract = {In this paper we review the literature relating to the psychological/educational study of programming. We identify general trends comparing novice and expert programmers, programming knowledge and strategies, program generation and comprehension, and object-oriented versus procedural programming. (We do not cover research relating specifically to other programming styles.) The main focus of the review is on novice programming and topics relating to novice teaching and learning. Various problems experienced by novices are identified, including issues relating to basic program design, to algorithmic complexity in certain language features, to the ``fragility'' of novice knowledge, and so on. We summarise this material and suggest some practical implications for teachers. We suggest that a key issue that emerges is the distinction between effective and ineffective novices. What characterises effective novices? Is it possible to identify the specific deficits of ineffective novices and help them to become effective learners of programming?}, file = {/home/charlotte/sync/Zotero/storage/VIAWJTPE/Robins et al. - 2003 - Learning and Teaching Programming A Review and Di.pdf;/home/charlotte/sync/Zotero/storage/WJFWFIHW/csed.13.2.137.html} @@ -2689,6 +2814,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2556325.2567876}, + url = {https://doi.org/10.1145/2556325.2567876}, urldate = {2022-08-16}, abstract = {Coding style is important to teach to beginning programmers, so that bad habits don't become permanent. This is often done manually at the University level because automated Python static analyzers cannot accurately grade based on a given rubric. However, even manual analysis of coding style encounters problems, as we have seen quite a bit of inconsistency among our graders. We introduce ACCE--Automated Coding Composition Evaluator--a module that automates grading for the composition of programs. ACCE, given certain constraints, assesses the composition of a program through static analysis, conversion from code to AST, and clustering (unsupervised learning), helping automate the subjective process of grading based on style and identifying common mistakes. Further, we create visual representations of the clusters to allow readers and students understand where a submission falls, and the overall trends. We have applied this tool to CS61A--a CS1 level course at UC, Berkeley experiencing rapid growth in student enrollment--in an attempt to help expedite the involved process as well as reduce human grader inconsistencies.}, isbn = {978-1-4503-2669-8}, @@ -2724,6 +2850,7 @@ pages = {142--166}, issn = {0097-8418}, doi = {10.1145/1473195.1473239}, + url = {https://doi.org/10.1145/1473195.1473239}, urldate = {2022-08-16}, abstract = {Many individual instructors -- and, in some cases, entire universities -- are gravitating towards the use of comprehensive learning management systems (LMSs), such as Blackboard and Moodle, for managing courses and enhancing student learning. As useful as LMSs are, they are short on features that meet certain needs specific to computer science education. On the other hand, computer science educators have developed--and continue to develop-computer-based software tools that aid in management, teaching, and/or learning in computer science courses. In this report we provide an overview of current CS specific on-line learning resources and guidance on how one might best go about extending an LMS to include such tools and resources. We refer to an LMS that is extended specifically for computer science education as a Computing Augmented Learning Management System, or CALMS. We also discuss sound pedagogical practices and some practical and technical principles for building a CALMS. However, we do not go into details of creating a plug-in for some specific LMS. Further, the report does not favor one LMS over another as the foundation for a CALMS.}, keywords = {CALMS,computer science education,computing augmented learning management system,learning management system,LMS}, @@ -2741,6 +2868,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/1044550.1041669}, + url = {https://doi.org/10.1145/1044550.1041669}, urldate = {2021-02-19}, abstract = {The factors that contribute to success and failure in introductory programming courses continue to be a topic of lively debate, with recent conference panels and papers devoted to the subject (e.g. Rountree et al. 2004, Ventura et al., 2004, Gal-Ezer et al., 2003). Most work in this area has concentrated on the ability of single factors (e.g. gender, math background, etc.) to predict success, with the exception of Wilson et al. (2001), which used a general linear model to gauge the effect of combined factors. In Rountree et al. (2002) we presented the results of a survey of our introductory programming class that considered factors (such as student expectations of success, among other things) in isolation. In this paper, we reassess the data from that survey by using a decision tree classifier to identify combinations of factors that interact to predict success or failure more strongly than single, isolated factors.}, isbn = {978-1-4503-7794-2}, @@ -2762,6 +2890,7 @@ year = {2020}, journal = {instname:Universidad de los Andes}, publisher = {{Universidad de los Andes}}, + url = {https://repositorio.uniandes.edu.co/handle/1992/44754}, urldate = {2022-07-06}, abstract = {"Determinar si dos programas son similares no es una tarea simple. En este trabajo exploramos e implementamos un acercamiento hacia determinar qu{\'e} tan similares son dos programas de Python usando arboles sint{\'a}cticos abstractos similar al trabajo realizado por Avery et al. [1]. Luego se us{\'o} esta implementaci{\'o}n para analizar los programas previamente recopilados y clasificados por la herramienta Senecode con la intenci{\'o}n de poder dar retroalimentaci{\'o}n autom{\'a}tica significativa." -- Tomado del Formato de Documento de Grado.}, copyright = {Al consultar y hacer uso de este recurso, est{\'a} aceptando las condiciones de uso establecidas por los autores.}, @@ -2782,6 +2911,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3287324.3287384}, + url = {https://doi.org/10.1145/3287324.3287384}, urldate = {2022-03-03}, abstract = {Traditionally, students learn about software testing during intermediate or advanced computing courses. However, it is widely advocated that testing should be addressed beginning in introductory programming courses. In this context, testing practices can help students think more critically while working on programming assignments. At the same time, students can develop testing skills throughout the computing curriculum. Considering this scenario, we conducted a systematic mapping of the literature about software testing in introductory programming courses, resulting in 293 selected papers. We mapped the papers to categories with respect to their investigated topic (curriculum, teaching methods, programming assignments, programming process, tools, program/test quality, concept understanding, and students' perceptions and behaviors) and evaluation method (literature review, exploratory study, descriptive/persuasive study, survey, qualitative study, experimental and experience report). We also identified the benefits and drawbacks of this teaching approach, as pointed out in the selected papers. The goal is to provide an overview of research performed in the area, highlighting gaps that should be further investigated.}, isbn = {978-1-4503-5890-3}, @@ -2801,6 +2931,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/872757.872770}, + url = {https://doi.org/10.1145/872757.872770}, urldate = {2022-08-16}, abstract = {Digital content is for copying: quotation, revision, plagiarism, and file sharing all create copies. Document fingerprinting is concerned with accurately identifying copying, including small partial copies, within large sets of documents.We introduce the class of local document fingerprinting algorithms, which seems to capture an essential property of any finger-printing technique guaranteed to detect copies. We prove a novel lower bound on the performance of any local algorithm. We also develop winnowing, an efficient local fingerprinting algorithm, and show that winnowing's performance is within 33\% of the lower bound. Finally, we also give experimental results on Web data, and report experience with MOSS, a widely-used plagiarism detection service.}, isbn = {978-1-58113-634-0}, @@ -2829,6 +2960,7 @@ publisher = {{Routledge}}, issn = {0899-3408}, doi = {10.1076/csed.13.4.269.17492}, + url = {https://doi.org/10.1076/csed.13.4.269.17492}, urldate = {2022-02-24}, abstract = {Although many professionals in education believe that an `objects first' approach is the best method of introducing object-oriented technology, there is no common agreement on how to start such courses. Current study programs often begin by teaching a chosen object-oriented programing language, where students are confronted by a large amount of syntactical detail. Instead of focusing on the basics of object-oriented technology, namely objects and their collaborations, difficulties in handling the details of the programing language lead to a very scattered knowledge of object-oriented concepts. This is dangerous, as learners are left with a set of unconnected knowledge fragments. Approaches which embed different knowledge fragments in an overall knowledge view are known as ``cognitive apprenticeship'' approaches. The main idea of cognitive apprenticeship is continuous practice. We present a learning environment for introducing object-oriented technology in upper secondary schools based on cognitive apprenticeship. We use a visual programing language to away from the details and provide tool support to aid practice. We present the learning sequencewhich is used and show the impacts it makes on the course structure in our experiment in the chosen object-oriented programming language The Joint Task Force on Computing Curricula IEEE Computer Society.}, file = {/home/charlotte/sync/Zotero/storage/SJNFC4UR/csed.13.4.269.html} @@ -2865,6 +2997,7 @@ pages = {201--219}, publisher = {{Informing Science Institute}}, issn = {1539-3585}, + url = {https://www.learntechlib.org/p/111541/}, urldate = {2021-04-30}, abstract = {In search of better, more cost effective ways to deliver instruction and training, universities and corporations have expanded their use of e-learning. Although several studies suggest that online education and blended instruction (a ``blend'' of online and traditional approaches) can be as effective as traditional classroom models, few studies have focused on learner satisfaction with online instruction, particularly in the transition to online learning from traditional approaches. This study examines students' perceptions of integrating online components in two undergraduate business...}, langid = {english}, @@ -2911,6 +3044,7 @@ number = {RFC 2445}, institution = {{Internet Engineering Task Force}}, doi = {10.17487/RFC2445}, + url = {https://datatracker.ietf.org/doc/rfc2445}, urldate = {2022-08-16}, abstract = {This memo has been defined to provide the definition of a common format for openly exchanging calendaring and scheduling information across the Internet. [STANDARDS-TRACK]}, file = {/home/charlotte/sync/Zotero/storage/FUXY8PH9/Stenerson and Dawson - 1998 - Internet Calendaring and Scheduling Core Object Sp.pdf} @@ -2927,6 +3061,7 @@ pages = {491--535}, issn = {1573-7616}, doi = {10.1007/s10664-018-9644-3}, + url = {https://doi.org/10.1007/s10664-018-9644-3}, urldate = {2022-07-06}, abstract = {Change distilling algorithms compute a sequence of fine-grained changes that, when executed in order, transform a given source AST into a given target AST. The resulting change sequences are used in the field of mining software repositories to study source code evolution. Unfortunately, detecting and specifying source code evolutions in such a change sequence is cumbersome. We therefore introduce a tool-supported approach that identifies minimal executable subsequences in a sequence of distilled changes that implement a particular evolution pattern, specified in terms of intermediate states of the AST that undergoes each change. This enables users to describe the effect of multiple changes, irrespective of their execution order, while ensuring that different change sequences that implement the same code evolution are recalled. Correspondingly, our evaluation is two-fold. We show that our approach is able to recall different implementation variants of the same source code evolution in histories of different software projects. We also evaluate the expressiveness and ease-of-use of our approach in a user study.}, langid = {english}, @@ -2960,6 +3095,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3587103.3594189}, + url = {https://dl.acm.org/doi/10.1145/3587103.3594189}, urldate = {2023-11-16}, abstract = {Debugging is an important aspect of programming. Most programming languages have some features and tools to facilitate debugging. As the debugging process is also frustrating, it requires good scaffolding, in which a debugger can be a useful tool [3]. Scratch is a visual block-based programming language that is commonly used to teach programming to children, aged 10--14 [4]. It comes with its own integrated development environment (IDE), where children can edit and run their code. This IDE misses some of the tools that are available in traditional IDEs, such as a debugger. In response to this challenge, we developed Blink. Blink is a debugger for Scratch with the aim of being usable to the young audience that typically uses Scratch. We present the currently implemented features of the debugger, and the challenges we faced while implementing those, both from a user-experience standpoint and a technical standpoint.}, isbn = {9798400701399}, @@ -2977,6 +3113,7 @@ pages = {101404}, issn = {2352-7110}, doi = {10.1016/j.softx.2023.101404}, + url = {https://www.sciencedirect.com/science/article/pii/S2352711023001000}, urldate = {2023-05-16}, abstract = {In educational contexts, automated assessment tools (AAT) are commonly used to provide formative feedback on programming exercises. However, designing exercises for AAT remains a laborious task or imposes limitations on the exercises. Most AAT use either output comparison, where the generated output is compared against an expected output, or unit testing, where the tool has access to the code of the submission under test. While output comparison has the advantage of being programming language independent, the testing capabilities are limited to the output. Conversely, unit testing can generate more granular feedback, but is tightly coupled with the programming language of the submission. In this paper, we introduce TESTed, which enables the best of both worlds: combining the granular feedback of unit testing with the programming language independence of output comparison. Educators can save time by designing exercises that can be used across programming languages. Finally, we report on using TESTed in educational practice.}, langid = {english}, @@ -2996,6 +3133,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2950290.2950321}, + url = {https://dl.acm.org/doi/10.1145/2950290.2950321}, urldate = {2023-11-23}, abstract = {Detecting ``similar code'' is useful for many software engineering tasks. Current tools can help detect code with statically similar syntactic and{\textendash}or semantic features (code clones) and with dynamically similar functional input/output (simions). Unfortunately, some code fragments that behave similarly at the finer granularity of their execution traces may be ignored. In this paper, we propose the term ``code relatives'' to refer to code with similar execution behavior. We define code relatives and then present DyCLINK, our approach to detecting code relatives within and across codebases. DyCLINK records instruction-level traces from sample executions, organizes the traces into instruction-level dynamic dependence graphs, and employs our specialized subgraph matching algorithm to efficiently compare the executions of candidate code relatives. In our experiments, DyCLINK analyzed 422+ million prospective subgraph matches in only 43 minutes. We compared DyCLINK to one static code clone detector from the community and to our implementation of a dynamic simion detector. The results show that DyCLINK effectively detects code relatives with a reasonable analysis time.}, isbn = {978-1-4503-4218-6}, @@ -3016,6 +3154,7 @@ publisher = {{American Chemical Society}}, issn = {0095-2338}, doi = {10.1021/ci034160g}, + url = {https://doi.org/10.1021/ci034160g}, urldate = {2021-02-19}, abstract = {A new classification and regression tool, Random Forest, is introduced and investigated for predicting a compound's quantitative or categorical biological activity based on a quantitative description of the compound's molecular structure. Random Forest is an ensemble of unpruned classification or regression trees created by using bootstrap samples of the training data and random feature selection in tree induction. Prediction is made by aggregating (majority vote or averaging) the predictions of the ensemble. We built predictive models for six cheminformatics data sets. Our analysis demonstrates that Random Forest is a powerful tool capable of delivering performance that is among the most accurate methods to date. We also present three additional features of Random Forest:\, built-in performance assessment, a measure of relative importance of descriptors, and a measure of compound similarity that is weighted by the relative importance of descriptors. It is the combination of relatively high prediction accuracy and its collection of desired features that makes Random Forest uniquely suited for modeling in cheminformatics.}, file = {/home/charlotte/sync/Zotero/storage/NXAQCTYB/Svetnik et al. - 2003 - Random Forest A Classification and Regression To.pdf;/home/charlotte/sync/Zotero/storage/KLIJU6B7/ci034160g.html} @@ -3042,6 +3181,7 @@ journal = {Conference proceedings : Frontiers in Education Conference}, publisher = {{IEEE}}, doi = {10.1109/FIE44824.2020.9274123}, + url = {https://jyx.jyu.fi/handle/123456789/73098}, urldate = {2022-09-15}, abstract = {This work-in-progress research investigates teacher-student communication via Learning Management Systems (LMS) in highly populated courses. An LMS called TIM (The Interactive Material) includes a specific commenting technology that attempts to make teacher-student dialog effortless. The research goal is to explore students' willingness to use the technology and identify patterns of usage. To these ends, a survey with both Likert and open-ended questions was issued to CS1 and CS2 students. A favorable student evaluation was observed while several critical viewpoints that inform technology development were revealed. We noticed that besides appreciating the possibility of making comments, many students found benefit from peripheral participation without being active in commenting themselves. Informal communication appared to be preferred, and the commenting technology was considered second to best channel in this regard, following face-to-face interaction. The results are discussed in the light of Transactional Distance Theory and related literature to inform basic research.}, copyright = {In Copyright}, @@ -3070,6 +3210,7 @@ pages = {58--78}, issn = {1465-3435}, doi = {10.1111/ejed.12019}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1111/ejed.12019}, urldate = {2022-10-03}, abstract = {The extremely rapid expansion of open educational resource (OER) initiatives and the millions of learners they attract can be understood as an indicator of an emerging revolution in education and learning. This article describes recent developments in this area and develops conceptual foundations for studies and policies on OER. We describe four different types of OER, locate these in a field of learning theories, and discuss how the wide adoption of OER may constrain and accelerate the transformation of learning and education in the knowledge society.}, langid = {english}, @@ -3088,6 +3229,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3287324.3287463}, + url = {https://doi.org/10.1145/3287324.3287463}, urldate = {2022-02-25}, abstract = {The introductory programming lab, with small cycles of teaching, coding, testing, and critique from instructors, is an extraordinarily productive learning experience for novice programmers. We wish to extend the availability of such critique through automation, capturing the essence of interaction between student and instructor as closely as possible. Integrated Development Environments and Automated Grading Systems provide constant feedback through static analysis and unit testing. But we also wish to tailor automated feedback to acknowledge commonly recurring issues with novice programmers, in keeping with the practice of a human instructor. We argue that the kinds of mistakes that novice programmers make, and the way they are reported to the novices, deserve special care. In this paper we provide examples of early programming antipatterns that have arisen from our teaching experience, and describe different ways of identifying and dealing with them automatically through our tool WebTA. Novice students may produce code that is close to a correct solution but contains syntactic errors; WebTA attempts to salvage the promising portions of the student's submission and suggest repairs that are more meaningful than typical compiler error messages. Alternatively, a student misunderstanding may result in well-formed code that passes unit tests yet contains clear design flaws; through additional analysis, WebTA can identify and flag them. Finally, certain types of antipattern can be anticipated and flagged by the instructor, based on the context of the course and the programming exercise; WebTA allows for customizable critique triggers and messages.}, isbn = {978-1-4503-5890-3}, @@ -3106,6 +3248,7 @@ pages = {101578}, issn = {2352-7110}, doi = {10.1016/j.softx.2023.101578}, + url = {https://www.sciencedirect.com/science/article/pii/S2352711023002741}, urldate = {2023-11-16}, abstract = {Dodona () is an intelligent tutoring system for computer programming. It provides real-time data and feedback to help students learn better and teachers teach better. Dodona is free to use and has more than 61 thousand registered users across many educational and research institutes, including 20 thousand new users in the last year. The source code of Dodona is available on GitHub under the permissive MIT open-source license. This paper presents Dodona and its design and look-and-feel. We highlight some of the features built into Dodona that make it possible to shorten feedback loops, and discuss an example of how these features can be used in practice. We also highlight some of the research opportunities that Dodona has opened up and present some future developments.}, keywords = {Computer-assisted instruction,Education,Interactive learning environments}, @@ -3124,6 +3267,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3587103.3594165}, + url = {https://dl.acm.org/doi/10.1145/3587103.3594165}, urldate = {2023-11-16}, abstract = {Dodona (dodona.ugent.be) is an intelligent tutoring system for learning computer programming, statistics and data science. It bridges the gap between assessment and learning by providing real-time data and feedback to help students learn better, teachers teach better and educational technology become more effective. We show how Dodona can be used as a virtual co-teacher to stimulate active learning and support challenge-based education in open and collaborative learning environments. We also highlight some of the opportunities and challenges we have faced in practice. Dodona is free to use and has more than 50 thousand registered users across many educational and research institutions, including 15 thousand new users in the last year. Dodona's source code is available on GitHub under the permissive MIT open-source license.}, isbn = {9798400701399}, @@ -3141,6 +3285,7 @@ publisher = {{SAGE Publications Inc}}, issn = {0735-6331}, doi = {10.1177/07356331221085595}, + url = {https://doi.org/10.1177/07356331221085595}, urldate = {2022-08-16}, abstract = {We present a privacy-friendly early-detection framework to identify students at risk of failing in introductory programming courses at university. The framework was validated for two different courses with annual editions taken by higher education students (N = 2\,080) and was found to be highly accurate and robust against variation in course structures, teaching and learning styles, programming exercises and classification algorithms. By using interpretable machine learning techniques, the framework also provides insight into what aspects of practising programming skills promote or inhibit learning or have no or minor effect on the learning process. Findings showed that the framework was capable of predicting students' future success already early on in the semester.}, langid = {english}, @@ -3163,6 +3308,7 @@ journal = {Proceedings http://ceur-ws. org ISSN}, volume = {1613}, pages = {0073}, + url = {https://ceur-ws.org/Vol-3426/paper32.pdf}, urldate = {2023-10-04}, file = {/home/charlotte/sync/Zotero/storage/LPSH3EJT/Vasyliuk and Lytvyn - 2023 - Design and Implementation of a Ukrainian-Language .pdf} } @@ -3201,6 +3347,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2462476.2462501}, + url = {https://dl.acm.org/doi/10.1145/2462476.2462501}, urldate = {2023-08-21}, abstract = {As programming is the basis of many CS courses, meaningful activities in supporting students on their journey towards being better programmers is a matter of utmost importance. Programming is not only about learning simple syntax constructs and their applications, but about honing practical problem-solving skills in meaningful contexts. In this article, we describe our current work on an automated assessment system called Test My Code (TMC), which is one of the feedback and support mechanisms that we use in our programming courses. TMC is an assessment service that (1) enables building of scaffolding into programming exercises; (2) retrieves and updates tasks into the students' programming environment as students work on them, and (3) causes no additional overhead to students' programming process. Instructors benefit from TMC as it can be used to perform code reviews, and collect and send feedback even on fully on-line courses.}, isbn = {978-1-4503-2078-8}, @@ -3228,6 +3375,7 @@ pages = {65--84}, publisher = {{Society for Information Technology \& Teacher Education}}, issn = {1059-7069}, + url = {https://www.learntechlib.org/primary/p/18892/}, urldate = {2021-10-01}, abstract = {The purpose of this qualitative case study was to examine preservice teachers' experiences and the meaning they gave to their experiences in a "Technology Applications in Education" online course. The theoretical framework was based on the "Rich Environments for Active Learning" proposed by Grabinger and Dunlap (2000). The attributes of rich learning environments for active learning are student responsibility and initiative, generative learning activities, authentic learning contexts, authentic assessment strategies, and cooperative support. The study findings imply that the online learning...}, langid = {english} @@ -3244,6 +3392,7 @@ pages = {3:1--3:34}, issn = {0360-0300}, doi = {10.1145/3143560}, + url = {https://doi.org/10.1145/3143560}, urldate = {2021-08-24}, abstract = {Online judges are systems designed for the reliable evaluation of algorithm source code submitted by users, which is next compiled and tested in a homogeneous environment. Online judges are becoming popular in various applications. Thus, we would like to review the state of the art for these systems. We classify them according to their principal objectives into systems supporting organization of competitive programming contests, enhancing education and recruitment processes, facilitating the solving of data mining challenges, online compilers and development platforms integrated as components of other custom systems. Moreover, we introduce a formal definition of an online judge system and summarize the common evaluation methodology supported by such systems. Finally, we briefly discuss an Optil.io platform as an example of an online judge system, which has been proposed for the solving of complex optimization problems. We also analyze the competition results conducted using this platform. The competition proved that online judge systems, strengthened by crowdsourcing concepts, can be successfully applied to accurately and efficiently solve complex industrial- and science-driven challenges.}, keywords = {challenge,contest,crowdsourcing,evaluation as a service,Online judge}, @@ -3261,6 +3410,7 @@ publisher = {{EDP Sciences}}, issn = {2261-2424}, doi = {10.1051/shsconf/20207701004}, + url = {https://www.shs-conferences.org/articles/shsconf/abs/2020/05/shsconf_etltc2020_01004/shsconf_etltc2020_01004.html}, urldate = {2023-10-02}, abstract = {With the rapid development of information technology, programming has become a vital skill. An online judge system can be used as a programming education platform, where the daily activities of users and judges are used to generate useful learning objects (e.g., tasks, solution codes, evaluations). Intelligent software agents can utilize such objects to create an ecosystem. To implement such an ecosystem, a generic architecture that covers the whole lifecycle of data on the platform and the functionalities of an e-learning system should take into account the particularities of the online judge system. In this paper, an architecture that implements such an ecosystem based on an online judge system is proposed. The potential benefits and research challenges are discussed.}, copyright = {{\textcopyright} The Authors, published by EDP Sciences, 2020}, @@ -3279,6 +3429,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2591708.2591749}, + url = {https://doi.org/10.1145/2591708.2591749}, urldate = {2021-02-19}, abstract = {Whilst working on an upcoming meta-analysis that synthesized fifty years of research on predictors of programming performance, we made an interesting discovery. Despite several studies citing a motivation for research as the high failure rates of introductory programming courses, to date, the majority of available evidence on this phenomenon is at best anecdotal in nature, and only a single study by Bennedsen and Caspersen has attempted to determine a worldwide pass rate of introductory programming courses. In this paper, we answer the call for further substantial evidence on the CS1 failure rate phenomenon, by performing a systematic review of introductory programming literature, and a statistical analysis on pass rate data extracted from relevant articles. Pass rates describing the outcomes of 161 CS1 courses that ran in 15 different countries, across 51 institutions were extracted and analysed. An almost identical mean worldwide pass rate of 67.7\% was found. Moderator analysis revealed significant, but perhaps not substantial differences in pass rates based upon: grade level, country, and class size. However, pass rates were found not to have significantly differed over time, or based upon the programming language taught in the course. This paper serves as a motivation for researchers of introductory programming education, and provides much needed quantitative evidence on the potential difficulties and failure rates of this course.}, isbn = {978-1-4503-2833-3}, @@ -3304,6 +3455,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2839509.2844616}, + url = {https://doi.org/10.1145/2839509.2844616}, urldate = {2022-08-16}, abstract = {Enrollments in introductory computer science courses are growing rapidly, thereby taxing scarce teaching resources and motivating the increased use of automated tools for program grading. Such tools commonly rely on regression testing methods from industry. However, the goals of automated grading differ from those of testing for software production. In academia, a primary motivation for testing is to provide timely and accurate feedback to students so that they can understand and fix defects in their programs. Testing strategies for program grading are therefore distinct from those of traditional software testing. This paper enumerates and describes a number of testing strategies that improve the quality of feedback for different types of programming assignments.}, isbn = {978-1-4503-3685-7}, @@ -3322,6 +3474,7 @@ publisher = {{Springer}}, address = {{New York, NY}}, doi = {10.1007/978-1-4614-3185-5_63}, + url = {https://doi.org/10.1007/978-1-4614-3185-5_63}, urldate = {2022-10-03}, abstract = {This chapter begins by reviewing the many definitions of the term open educational resources and concludes by discussing challenges and opportunities for the approach. Open educational resources (OER) are educational materials either licensed under an open copyright license or in the public domain. Neither the term ``open educational resources'' nor the term ``open'' itself has an agreed upon definition in the literature. Research regarding open educational resources focuses on methods of producing OER, methods of sharing OER, and the benefits of OER. Significant issues relating to OER remain unresolved, including business model and discovery problems.}, isbn = {978-1-4614-3185-5}, @@ -3341,6 +3494,7 @@ pages = {3--14}, issn = {0191-491X}, doi = {10.1016/j.stueduc.2011.03.001}, + url = {https://www.sciencedirect.com/science/article/pii/S0191491X11000149}, urldate = {2021-08-10}, abstract = {The idea that assessment is intrinsic to effective instruction is traced from early experiments in the individualization of learning through the work of Benjamin Bloom to reviews of the impact of feedback on learners in classrooms. While many of these reviews detailed the adverse impact of assessment on learning, they also indicated that under certain conditions assessment had considerable potential to enhance learning. It is shown that understanding the impact that assessment has on learning requires a broader focus than the feedback intervention itself, particularly the learner's responses to the feedback, and the learning milieu in which the feedback operates. Different definitions of the terms ``formative assessment'' and ``assessment for learning'' are discussed, and subsumed within a broad definition that focuses on the extent to which instructional decisions are supported by evidence. The paper concludes by exploring some of the consequences of this definition for classroom practice.}, langid = {english}, @@ -3360,6 +3514,7 @@ publisher = {{Nature Publishing Group}}, issn = {2052-4463}, doi = {10.1038/sdata.2016.18}, + url = {https://www.nature.com/articles/sdata201618}, urldate = {2021-08-24}, abstract = {There is an urgent need to improve the infrastructure supporting the reuse of scholarly data. A diverse set of stakeholders{\textemdash}representing academia, industry, funding agencies, and scholarly publishers{\textemdash}have come together to design and jointly endorse a concise and measureable set of principles that we refer to as the FAIR Data Principles. The intent is that these may act as a guideline for those wishing to enhance the reusability of their data holdings. Distinct from peer initiatives that focus on the human scholar, the FAIR Principles put specific emphasis on enhancing the ability of machines to automatically find and use the data, in addition to supporting its reuse by individuals. This Comment is the first formal publication of the FAIR Principles, and includes the rationale behind them, and some exemplar implementations in the community.}, copyright = {2016 The Author(s)}, @@ -3380,6 +3535,7 @@ publisher = {{Routledge}}, issn = {0899-3408}, doi = {10.1076/csed.12.3.197.8618}, + url = {https://doi.org/10.1076/csed.12.3.197.8618}, urldate = {2022-08-16}, abstract = {A formal pair programming experiment was run at North Carolina to empirically assess the educational efficacy of the technique in a CS1 course. Results indicate that students who practice pair programming perform better on programming projects and are more likely to succeed by completing the class with a C or better. Student pairs are more self-sufficient which reduces their reliance on the teaching staff. Qualitatively, paired students demonstrate higher order thinking skills than students who work alone. These results are supportive of pair programming as a collaborative learning technique.} } @@ -3408,6 +3564,7 @@ publisher = {{Routledge}}, issn = {0307-5079}, doi = {10.1080/03075079.2015.1130032}, + url = {https://doi.org/10.1080/03075079.2015.1130032}, urldate = {2022-03-04}, abstract = {For feedback to be effective, it must be used by the receiver. Prior research has outlined numerous reasons why students' use of feedback is sometimes limited, but there has been little systematic exploration of these barriers. In 11 activity-oriented focus groups, 31 undergraduate Psychology students discussed how they use assessment feedback. The data revealed many barriers that inhibit use of feedback, ranging from students' difficulties with decoding terminology, to their unwillingness to expend effort. Thematic analysis identified four underlying psychological processes: awareness, cognisance, agency, and volition. We argue that these processes should be considered when designing interventions to encourage students' engagement with feedback. Whereas the barriers identified could all in principle be removed, we propose that doing so would typically require {\textendash} or would at least benefit from {\textendash} a sharing of responsibility between teacher and student. The data highlight the importance of training students to be proactive receivers of feedback.}, keywords = {communication,feedback,focus groups,interventions,proactivity,student engagement}, @@ -3425,6 +3582,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/611892.611952}, + url = {https://doi.org/10.1145/611892.611952}, urldate = {2022-08-16}, abstract = {For five academic years we have engaged in an on-going study of the effectiveness of online assessment of student programming abilities for introductory programming courses in Computer Science. Our results show that online evaluation can be implemented securely, efficiently, and can result in increased student motivation and programming efficacy; however, unless online components are integrated throughout the course evaluations, student competence will be underestimated. Our data reveals disadvantages of online evaluations, but also shows that both students and faculty benefit when online evaluations are implemented appropriately.}, isbn = {978-1-58113-648-7}, @@ -3444,6 +3602,7 @@ publisher = {{Routledge}}, issn = {1356-2517}, doi = {10.1080/13562510220144833}, + url = {https://doi.org/10.1080/13562510220144833}, urldate = {2022-08-16}, abstract = {This paper calls for a debate on effects that the current education system is having on our learners. Many students entering Higher Education struggle to rise to its rigorous academic demands. The need for support services is on the increase with greater focus on key skills, study skills and self-management. Students undertaking higher study can face financial hardship and emotional turmoil in striving to achieve, but the problems do not start here. Much of the trepidation felt by students comes as a result of earlier educational experiences, and is merely exacerbated as their learning experience progresses. It is time to re-assess the whole educational process and to question whether the system exists to encourage learning or to measure failure.} } @@ -3461,6 +3620,7 @@ publisher = {{SAGE Publications Inc}}, issn = {0735-6331}, doi = {10.1177/0735633118757015}, + url = {https://doi.org/10.1177/0735633118757015}, urldate = {2021-09-16}, abstract = {Massive open online courses (MOOCs) show great potential to transform traditional education through the Internet. However, the high attrition rates in MOOCs have often been cited as a scale-efficacy tradeoff. Traditional educational approaches are usually unable to identify such large-scale number of at-risk students in danger of dropping out in time to support effective intervention design. While building dropout prediction models using learning analytics are promising in informing intervention design for these at-risk students, results of the current prediction model construction methods do not enable personalized intervention for these students. In this study, we take an initial step to optimize the dropout prediction model performance toward intervention personalization for at-risk students in MOOCs. Specifically, based on a temporal prediction mechanism, this study proposes to use the deep learning algorithm to construct the dropout prediction model and further produce the predicted individual student dropout probability. By taking advantage of the power of deep learning, this approach not only constructs more accurate dropout prediction models compared with baseline algorithms but also comes up with an approach to personalize and prioritize intervention for at-risk students in MOOCs through using individual drop out probabilities. The findings from this study and implications are then discussed.}, langid = {english}, @@ -3480,6 +3640,7 @@ pages = {1572--1585}, issn = {0360-1315}, doi = {10.1016/j.compedu.2007.04.006}, + url = {https://www.sciencedirect.com/science/article/pii/S0360131507000255}, urldate = {2021-09-15}, abstract = {This experimental study investigated the effectiveness of structured Web-Based Bulletin Board (WBB) discussions in improving the critical thinking (CT) skills of learners involved in veterinary distance learning, as well as their attitudes toward learning via WBBs. The two dependent variables were learners' CT skills and their attitudes toward learning via WBBs. The learners' CT skills were examined in different ways: (a) quantitative method: California Critical Thinking Skills Test (CCTST) to holistically investigate the changes in learners' CT skills, and (b) qualitative method: Interaction Analysis Model to investigate learners' interaction patterns in different phases of the WBB discussions. Detailed information about inter-rater reliability, the training of the coders, and the coding process is provided. The findings indicated that structured WBBs significantly improved learners' CT skills and attitudes toward learning via WBBs.}, langid = {english}, @@ -3498,6 +3659,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/2568225.2568319}, + url = {https://doi.org/10.1145/2568225.2568319}, urldate = {2022-06-30}, abstract = {This paper introduces iProperty, a novel approach that facilitates incremental checking of programs based on a property differencing technique. Specifically, iProperty aims to reduce the cost of checking properties as they are initially developed and as they co-evolve with the program. The key novelty of iProperty is to compute the differences between the new and old versions of expected properties to reduce the number and size of the properties that need to be checked during the initial development of the properties. Furthermore, property differencing is used in synergy with program behavior differencing techniques to optimize common regression scenarios, such as detecting regression errors or checking feature additions for conformance to new expected properties. Experimental results in the context of symbolic execution of Java programs annotated with properties written as assertions show the effectiveness of iProperty in utilizing change information to enable more efficient checking.}, isbn = {978-1-4503-2756-5}, @@ -3516,6 +3678,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/3383923.3383939}, + url = {https://dl.acm.org/doi/10.1145/3383923.3383939}, urldate = {2023-08-21}, abstract = {Automated programming assessment systems (APAS) are useful supporting tools adopted in novice programming courses. They allow educators to reduce the amount of work required for homework assessment as well as students to have feedback and correct their code. In this study, we analyzed students' learning behavior from an APAS, called ProgEdu, which provides an iterative learning environment for object-oriented programming courses. Answers to research questions are obtained by mean of a quantitative research. Analysis results showed that all expectations about the system effectiveness are satisfied: 1) almost students agree with the assessment method and feedback given by the system; 2) iterative learning is helpful in improving students' programming skill; 3) and it facilitates students to pay more attention to code quality. This study also points out issues of the current system and propose suggestions to improve system performance.}, isbn = {978-1-4503-7508-5}, @@ -3528,6 +3691,7 @@ author = {Yourdon, Edward and Constantine, Larry L.}, year = {1979}, journal = {Englewood Cliffs: Yourdon Press}, + url = {https://ui.adsabs.harvard.edu/abs/1979sdfd.book.....Y/abstract}, urldate = {2022-08-16}, langid = {english}, file = {/home/charlotte/sync/Zotero/storage/9GD5BKV2/abstract.html} @@ -3544,6 +3708,7 @@ publisher = {{Association for Computing Machinery}}, address = {{New York, NY, USA}}, doi = {10.1145/775047.775058}, + url = {https://doi.org/10.1145/775047.775058}, urldate = {2022-09-01}, abstract = {Mining frequent trees is very useful in domains like bioinformatics, web mining, mining semistructured data, and so on. We formulate the problem of mining (embedded) subtrees in a forest of rooted, labeled, and ordered trees. We present TREEMINER, a novel algorithm to discover all frequent subtrees in a forest, using a new data structure called scope-list. We contrast TREEMINER with a pattern matching tree mining algorithm (PATTERNMATCHER). We conduct detailed experiments to test the performance and scalability of these methods. We find that TREEMINER outperforms the pattern matching approach by a factor of 4 to 20, and has good scaleup properties. We also present an application of tree mining to analyze real web logs for usage patterns.}, isbn = {978-1-58113-567-1}, @@ -3579,6 +3744,7 @@ publisher = {{IOP Publishing}}, issn = {1742-6596}, doi = {10.1088/1742-6596/1840/1/012029}, + url = {https://dx.doi.org/10.1088/1742-6596/1840/1/012029}, urldate = {2023-10-02}, abstract = {This study analyzes various publications of scientists on the training of future IT specialists and the features of training programming using online simulators. The authors of the article made a comparative description of different online platforms for teaching programming according to certain criteria, selected interesting tasks from the online platform hackerrank.com, which have already been used to teach students. Online programming simulators have significant potential in organizing an effective distance learning system in Ukrainian universities. It is important to use online simulators in the learning process as an additional tool for the formation of professional competencies, which provides more intensive involvement of students in the process of writing code and practical (situational) application of existing knowledge. Gamification of the process of training future IT specialists helps to increase cognitive activity, and hence {\textendash} the quality of the educational process and distance learning in particular. The authors recommend the use of online programming simulators as an additional tool for teaching computer science disciplines, taking into account their functionality, as well as the level of preparation of students and the expected learning outcomes.}, langid = {english},