About: Live coding is a research topic. Over the lifetime, 271 publications have been published within this topic receiving 2758 citations. The topic is also known as: on-the-fly programming.
TL;DR: This paper presents an introduction to the field of live coding, of real-time scripting during laptop music performance, and the improvisatory power and risks involved, and looks at two test cases, the command-line music of slub utilising Perl and REALbasic, and Julian Rohrhuber's Just In Time library for SuperCollider.
Abstract: Seeking new forms of expression in computer music, a small number of laptop composers are braving the challenges of coding music on the fly. Not content to submit meekly to the rigid interfaces of performance software like Ableton Live or Reason, they work with programming languages, building their own custom software, tweaking or writing the programs themselves as they perform. Often this activity takes place within some established language for computer music like SuperCollider, but there is no reason to stop errant minds pursuing their innovations in general scripting languages like Perl. This paper presents an introduction to the field of live coding, of real-time scripting during laptop music performance, and the improvisatory power and risks involved. We look at two test cases, the command-line music of slub utilising, amongst a grab-bag of technologies, Perl and REALbasic, and Julian Rohrhuber's Just In Time library for SuperCollider. We try to give a flavour of an exciting but hazardous world at the forefront of live laptop performance.
TL;DR: Libigl as mentioned in this paper is a C++ library of geometry processing algorithms designed for and by researchers, which is a "header only" library and compiles on Windows, Mac, and Linux.
Abstract: Modern geometry processsing algorithms depend on an ever-growing toolbox of fundamental sub-routines and data structures. Prototyping from scratch requires much time building basic tools rather than focusing on the novel research idea. Many existing code libraries have unsatisfactory APIs and the time spent implementing sub-routines is often replaced with time spent learning complex, templated object hierarchies or memory layouts.Libigl is a C++ library of geometry processing algorithms designed for and by researchers. Its wide functionality includes construction of common sparse discrete differential geometry operators (such as the cotangent Laplacian), simple facet- and edge-based topology data structures, mesh-viewing utilities for OpenGL and GLSL, and many core functions for matrix manipulation which make Eigen feel a lot more like MATLAB. Libigl places extreme importance on ease of use and experimentation. To this end, algorithms are directly exposed as functions taking simple matrix types as inputs and outputs. Libigl is a "header only" library and compiles on Windows, Mac, and Linux.In this course, we will walk through an introduction of libigl via readymade examples spanning the gamut of geometry processing applications and tasks. Attendees will be able to follow along on their laptops. We will explain the core functionality of libigl, how to piece together complex algorithms from library functions, and how to interface to libigl from Python and MATLAB. We will highlight some of libigl's most powerul features: including mesh booleans, quad remeshing, parameterization, and shape deformation. We will conclude with live coding sessions demonstrating libigl's effectiveness and ease-of-use.The course continues beyond the lecture via libigl's interactive online tutorial complete with over 50 example demos (http://libigl.github.io/libigl/tutorial/tutorial.html) and an open source graduate-level course on geometry processing based on libigl (https://github.com/alecjacobson/geometry-processing).
TL;DR: The presented quasi-experimental study used a combination of instructor feedback, real time sequence of scored quizzes, and live coding to deliver a fully interactive learning experience which proved that the gamified approach was motivating and enriching for both students and instructors.
Abstract: Conventional taught learning practices often experience difficulties in keeping students motivated and engaged Video games, however, are very successful at sustaining high levels of motivation and engagement through a set of tasks for hours without apparent loss of focus In addition, gamers solve complex problems within a gaming environment without feeling fatigue or frustration, as they would typically do with a comparable learning task Based on this notion, the academic community is keen on exploring methods that can deliver deep learner engagement and has shown increased interest in adopting gamification – the integration of gaming elements, mechanics, and frameworks into non-game situations and scenarios – as a means to increase student engagement and improve information retention Its effectiveness when applied to education has been debatable though, as attempts have generally been restricted to one-dimensional approaches such as transposing a trivial reward system onto existing teaching materials and/or assessments Nevertheless, a gamified, multi-dimensional, problem-based learning approach can yield improved results even when applied to a very complex and traditionally dry task like the teaching of computer programming, as shown in this paper The presented quasi-experimental study used a combination of instructor feedback, real time sequence of scored quizzes, and live coding to deliver a fully interactive learning experience More specifically, the “Kahoot!” Classroom Response System (CRS), the classroom version of the TV game show “Who Wants To Be A Millionaire?”, and Codecademy’s interactive platform formed the basis for a learning model which was applied to an entry-level Python programming course Students were thus allowed to experience multiple interlocking methods similar to those commonly found in a top quality game experience To assess gamification’s impact on learning, empirical data from the gamified group were compared to those from a control group who was taught through a traditional learning approach, similar to the one which had been used during previous cohorts Despite this being a relatively small-scale study, the results and findings for a number of key metrics, including attendance, downloading of course material, and final grades, were encouraging and proved that the gamified approach was motivating and enriching for both students and instructors
TL;DR: It is concluded that teaching via live-coding is as good as if not better than using static code examples.
Abstract: Live-coding is defined as "the process of designing and implementing a [coding] project in front of class during lecture period". In this article we present our research design and results regarding the effectiveness of live-coding to teach introductory programming. The research design includes two experimental groups spread across four sections of an introductory C++ course at Colorado School of Mines. In the control group, students were taught using static code, meaning that instructors never typed, but instead viewed, compiled, and executed code examples. In the experimental or "live-coding" group, instructors started each lecture with a blank screen, and taught code examples by systematically typing, compiling, and testing code to solve example problems.To assess the effectiveness of live-coding, we administered four surveys and analyzed final grades. Two of the surveys were given at the beginning of the course, and were used to measure baseline programming knowledge and student learning preferences (i.e., VARK). The other two surveys, given at the end of the course, were designed to measure the amount of programming knowledge obtained as well as preferences towards live coding. Lastly, final grades were analyzed in terms of its subcomponents: the assignments, exams, final project, and overall grade. Based on our results, we conclude that teaching via live-coding is as good as if not better than using static code examples.
TL;DR: The method of live coding with transcript coding of text using focus group data from a perinatal telehealth group addressing depression is compared and it is likely that live coding can be beneficial in preserving the voice of the participant especially used within focus groupData.
Abstract: Coding is an integral part of qualitative research for many scholars that use interview or focus group data. However, current practices in coding require transcription of audio/visual data prior to...