71 research outputs found

    Visual and Textual Programming Languages: A Systematic Review of the Literature

    Get PDF
    It is well documented, and has been the topic of much research, that Computer Science courses tend to have higher than average drop out rates at third level. This is a problem that needs to be addressed with urgency but also caution. The required number of Computer Science graduates is growing every year but the number of graduates is not meeting this demand and one way that this problem can be alleviated is to encourage students at an early age towards studying Computer Science courses. This paper presents a systematic literature review on the role of visual and textual programming languages when learning to program, particularly as a first programming language. The approach is systematic, in that a structured search of electronic resources has been conducted, and the results are presented and quantitatively analysed. This study will give insight into whether or not the current approaches to teaching young learners programming are viable, and examines what we can do to increase the interest and retention of these students as they progress through their education.Comment: 18 pages (including 2 bibliography pages), 3 figure

    Creative Coding and Visual Portfolios for CS1

    Get PDF
    In this paper, we present the design and development of a new approach to teaching the college-level introductory computing course (CS1) using the context of art and creative coding. Over the course of a semester, students create a portfolio of aesthetic visual designs that employ basic computing structures typically taught in traditional CS1 courses using the Processing programming language. The goal of this approach is to bring the excitement, creativity, and innovation fostered by the context of creative coding. We also present results from a comparative study involving two offerings of the new course at two different institutions. Additionally, we compare our results with another successful approach that uses personal robots to teach CS1

    Creative Coding and Visual Portfolios for CS1

    Get PDF
    In this paper, we present the design and development of a new approach to teaching the college-level introductory computing course (CS1) using the context of art and creative coding. Over the course of a semester, students create a portfolio of aesthetic visual designs that employ basic computing structures typically taught in traditional CS1 courses using the Processing programming language. The goal of this approach is to bring the excitement, creativity, and innovation fostered by the context of creative coding. We also present results from a comparative study involving two offerings of the new course at two different institutions. Additionally, we compare our results with another successful approach that uses personal robots to teach CS1

    Introductory programming: a systematic literature review

    Get PDF
    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

    When to Utilize Software as a Service

    Get PDF
    Cloud computing enables on-demand network access to shared resources (e.g., computation, networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort. Cloud computing refers to both the applications delivered as services over the Internet and the hardware and system software in the data centers. Software as a service (SaaS) is part of cloud computing. It is one of the cloud service models. SaaS is software deployed as a hosted service and accessed over the Internet. In SaaS, the consumer uses the provider‘s applications running in the cloud. SaaS separates the possession and ownership of software from its use. The applications can be accessed from any device through a thin client interface. A typical SaaS application is used with a web browser based on monthly pricing. In this thesis, the characteristics of cloud computing and SaaS are presented. Also, a few implementation platforms for SaaS are discussed. Then, four different SaaS implementation cases and one transformation case are deliberated. The pros and cons of SaaS are studied. This is done based on literature references and analysis of the SaaS implementations and the transformation case. The analysis is done both from the customer‘s and service provider‘s point of view. In addition, the pros and cons of on-premises software are listed. The purpose of this thesis is to find when SaaS should be utilized and when it is better to choose a traditional on-premises software. The qualities of SaaS bring many benefits both for the customer as well as the provider. A customer should utilize SaaS when it provides cost savings, ease, and scalability over on-premises software. SaaS is reasonable when the customer does not need tailoring, but he only needs a simple, general-purpose service, and the application supports customer‘s core business. A provider should utilize SaaS when it offers cost savings, scalability, faster development, and wider customer base over on-premises software. It is wise to choose SaaS when the application is cheap, aimed at mass market, needs frequent updating, needs high performance computing, needs storing large amounts of data, or there is some other direct value from the cloud infrastructure.Siirretty Doriast

    To Heck With Ethics: Thinking About Public Issues With a Framework for CS Students

    Get PDF
    This paper proposes that the ethics class in the CS curriculum incorporate the Lawrence Lessig model of regulation as an analytical tool for social issues. Lessig’s use of the notion of architecture, the rules and boundaries of the sometimes artificial world within which social issues play out, is particularly resonant with computing professionals. The CS curriculum guidelines include only ethical frameworks as the tool for our students to engage with societal issues. The regulation framework shows how the market, law, social norms, and architecture can all be applied toward understanding social issues

    To Heck With Ethics: Thinking About Public Issues With a Framework for CS Students

    Get PDF
    This paper proposes that the ethics class in the CS curriculum incorporate the Lawrence Lessig model of regulation as an analytical tool for social issues. Lessig’s use of the notion of architecture, the rules and boundaries of the sometimes artificial world within which social issues play out, is particularly resonant with computing professionals. The CS curriculum guidelines include only ethical frameworks as the tool for our students to engage with societal issues. The regulation framework shows how the market, law, social norms, and architecture can all be applied toward understanding social issues

    The Stained Glass of Knowledge: On Understanding Novice Mental Models of Computing

    Get PDF
    Learning to program can be a novel experience. The rigidity of programming can be at odds with beginning programmer\u27s existing perceptions, and the concepts can feel entirely unfamiliar. These observations motivated this research, which explores two major questions: What factors influence how novices learn programming? and How can analogy by more appropriately leveraged in programming education? This dissertation investigates the factors influencing novice programming through multiple methods. The CS1 classroom is observed as a whole system , with consideration to the factors present in it that can influence the learning process. Learning\u27s cognitive processes are elaborated to ground exploration into specifically learning programming. This includes extensive literature review spanning multiple disciplines. This allows positioning to guide the investigation. The literature survey also contributes to greater understanding of learning cognition within computing education research through its disciplinary depth. The focus on analogy with the second question is motivated through the factors observed in the first question. Analogy\u27s role in cognition and in education is observed, and the analogical inclinations of technology as a field are showcased. Stigma surrounds the use of analogy in computer science education in spite of these indications. This motivated investigation on how the use of analogy could be better addressed in programming education in order to utilize its value. This research presents a tool for the design of well-formed analogy in programming to answer this question. It also investigates additional forms analogy can take in the classroom setting, proposing relevant cultural forms such as memes can be analogical vehicles that promote learner engagement. This research presents a strong case for the value of analogy use in the CS1 classroom, and provides a tool to facilitate the design of well-formed analogies. In identifying ways to better leverage analogy in the programming classroom, presenting this research will hopefully contribute to dispelling analogy\u27s bad reputation in computing education. By exploring factors that contribute to the learning process in CS1, this research frames education design as experience design. This motivates methods and considerations from user experience design, and investigates aspects of the whole system that can promote or deter a learner\u27s experience. This dissertation presents findings on understanding the learner\u27s experience in the programming classroom, and how analogy can be used to benefit their learning process

    Gamified Coding Platforms and Student Motivation: An Investigation into Motivation and Academic Performance in Computer Programming Students

    Get PDF
    Students taking computer programming classes face several serious challenges: learning the syntax, problem solving, and interacting with new interfaces. In order to meet these challenges, instructors have been using Gamified Coding Platforms such as Codewars.com which offer students the opportunity to gain points, see other solutions, and practice in an online environment without the need to install extra software. The study seeks to build a psychological profile of students by measuring their intrinsic motivations along with their extrinsic motivations in the computer programming classroom. The surveys used for the intrinsic and extrinsic measures are based on the self-determination theory, which is also often used in the study of gamification. Additionally, students were questioned about goal setting, their perceptions of their instructor, and demographic questions. The dependent variable in question was the level of student engagement, which was based on the National Survey of Student Engagement. The initial pilot study involved 74 participants and the main study involved 159 completed student responses. A linear regression model was completed to examine the direct effects of the predictors on the dependent variable. Two components of intrinsic motivation: perceived competence and a greater desire to experience stimulation had a positive effect on student engagement. Additionally, students who perceived a greater instructor investment in their lives had a significant effect on student engagement. The study highlights the importance of the role of the instructor and intrinsic motivations to encourage student engagement. The insights from the study can be used to increase student engagement by encouraging instructors to show a greater interest in their students studying computer programming
    corecore