29 research outputs found

    Rethinking CS0 with JavaScript

    Full text link

    Defining the Competencies, Programming Languages, and Assessments for an Introductory Computer Science Course

    Get PDF
    The purpose of this study was to define the competencies, programming languages, and assessments for an introductory computer science course at a small private liberal arts university. Three research questions were addressed that involved identifying the competencies, programming languages, and assessments that academic and industry experts in California’s Central Valley felt most important and appropriate for an introduction to computer science course. The Delphi methodology was used to collect data from the two groups of experts with various backgrounds related to computing. The goal was to find consensus among the individual groups to best define aspects that would best comprise an introductory CS0 course for majors and non-majors. The output would be valuable information to be considered by curriculum designers who are developing a new program in software engineering at the institution. The process outlined would also be useful to curriculum designers in other fields and geographic regions who attempt to address their local education needs. Four rounds of surveys were conducted. The groups of experts were combined in the first round to rate the items in the straw models determined from the literature and add additional components when necessary. The academic and industry groupings were separated for the remainder of the study so that a curriculum designer could determine not only the items deemed most important, but also their relative importance among the two distinct groups. The experts selected items in each of the three categories in the second round to reduce the possibilities for subsequent rounds. The groups were then asked to rank the items in each of the three categories for the third round. A fourth round was held as consensus was not reached by either of the groups for any of the categories as determined by Kendall’s W. The academic experts reached consensus on a list of ranked competencies in the final round and showed a high degree of agreement on lists of ranked programming languages and assessments. Kendall’s W, values, however, were just short of the required 0.7 threshold for consensus on these final two items. The industry experts did not reach consensus and showed low agreement on their recommendations for competencies, programming languages, and assessments

    A First Look at the Year in Computing

    Get PDF
    In this paper, we discuss students’ expectations and experiences in the first term of the Year in Computing, a new programme for non-computing majors at the University of Kent, a public research university in the UK. We focus on the effect of students’ home discipline on their experiences in the programme and situate this work within the context of wider efforts to make the study of computing accessible to a broader range of students

    Doctor of Philosophy in Computer Science

    Get PDF
    dissertationThe organization of learning materials is often limited by the systems available for delivery of such material. Currently, the learning management system (LMS) is widely used to distribute course materials. These systems deliver the material in a text-based, linear way. As online education continues to expand and educators seek to increase their effectiveness by adding more effective active learning strategies, these delivery methods become a limitation. This work demonstrates the possibility of presenting course materials in a graphical way that expresses important relations and provides support for manipulating the order of those materials. The ENABLE system gathers data from an existing course, uses text analysis techniques, graph theory, graph transformation, and a user interface to create and present graphical course maps. These course maps are able to express information not currently available in the LMS. Student agents have been developed to traverse these course maps to identify the variety of possible paths through the material. The temporal relations imposed by the current course delivery methods have been replaced by prerequisite relations that express ordering that provides educational value. Reducing the connections to these more meaningful relations allows more possibilities for change. Technical methods are used to explore and calibrate linear and nonlinear models of learning. These methods are used to track mastery of learning material and identify relative difficulty values. Several probability models are developed and used to demonstrate that data from existing, temporally based courses can be used to make predictions about student success in courses using the same material but organized without the temporal limitations. Combined, these demonstrate the possibility of tools and techniques that can support the implementation of a graphical course map that allows varied paths and provides an enriched, more informative interface between the educator, the student, and the learning material. This fundamental change in how course materials are presented and interfaced with has the potential to make educational opportunities available to a broader spectrum of people with diverse abilities and circumstances. The graphical course map can be pivotal in attaining this transition

    Debating E-commerce: Engaging Students in Current Events

    Get PDF
    A fundamental task for information technology educators is to help students understand the basic ethical, social, and legal issues inherent in the discipline. We present a method for achieving this goal using in-class debates. Debates allow for a high-level of participation, demand that students conduct significant research, and provide an interactive environment. This encourages the development of communication skills and exposes students to alternative points of view. The debates were conducted in two courses that provide a survey of some aspect of e-commerce technology, one at the undergraduate level and the other at the Masters level

    Teaching how to program using automated assessment and functional glossy games (Experience Report)

    Get PDF
    Our department has long been an advocate of the functional-first school of programming and has been teaching Haskell as a first language in introductory programming course units for 20 years. Although the functional style is largely beneficial, it needs to be taught in an enthusiastic and captivating way to fight the unusually high computer science drop-out rates and appeal to a heterogeneous population of students.This paper reports our experience of restructuring, over the last 5 years, an introductory laboratory course unit that trains hands-on functional programming concepts and good software development practices. We have been using game programming to keep students motivated, and following a methodology that hinges on test-driven development and continuous bidirectional feedback. We summarise successes and missteps, and how we have learned from our experience to arrive at a model for comprehensive and interactive functional game programming assignments and a general functionally-powered automated assessment platform, that together provide a more engaging learning experience for students. In our experience, we have been able to teach increasingly more advanced functional programming concepts while improving student engagement.The authors would like to thank the precursors of the 20-year functional programming culture and FPro unit at our university, and all the instructors and TAs that have been involved in the PLab unit throughout the years. This work is financed by the ERDFs European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961, and by National Funds through the Portuguese funding agency, FCT s Fundacao para a Ciencia e a Tecnologia as part of project UID/EEA/50014/2013

    Evaluating Creative Choice in K-12 Computer Science Curriculum

    Get PDF
    Computer Science is an increasingly important topic in K-12 education. Ever since the computing crisis of the early 2000s, where enrollment in CS dropped by over half in a five year span, increasing research has gone into improving and broadening enrollment in CS courses. Research shows the importance of introducing CS at a young age and the need for more exposure for younger children and young adults alike in order to work towards equity in the field. While there are many reasons for disinterest in CS courses, studies found one reason young adults do not want to study CS is a perception of it being tedious and lacking opportunities for creativity. Making more creative assignments is one way to try and engage more students who may not feel like stereotypical computer scientists. This thesis focuses in on the effects of creative choice in CS curriculum on students\u27 self-efficacy, engagement/preferences, and performance. It aims to capture the effects of creative choice on a range of K-12 students of varying demographics in order to make CS more accessible for everyone. The first half of the thesis experimentally validates the effects of creative choice in existing 5th grade CS classes. We created two variants of worksheets for the students - creative worksheets and rigid worksheets. After distributing these worksheets, surveys, and quizzes, we found students still feel a sense of ownership with limited versions of creative choice and benefit from a blend of creative and rigid instructions. In addition, student performance was not affected by our different treatments. The second half of the thesis adapted and launched the fifth grade curriculum to a new demographic, teaching the course to Juvenile Hall students. Student surveys and reports from their teacher showed this class had a positive impact and was well received by students and staff. We found students would prefer a longer class next iteration, as this one only extended five weeks. Future work will be needed to experimentally evaluate the specific impact of creative choice in this new demographic

    The impact of different teaching approaches and languages on student learning of introductory programming concepts

    Get PDF
    Many students experience difficulties learning to program. They find learning to program in the object-oriented paradigm particularly challenging. As a result, computing educators have tried a variety of instructional methods to assist beginning programmers. These include developing approaches geared specifically toward novices and experimenting with different introductory programming languages. However, having tried these different methods, computing educators are faced with yet another dilemma: how to tell if any of these interventions actually worked?The research presented here was motivated by an interest in improving practices in computer science education in general and improving my own practices as a computer science educator in particular. Its purpose was to develop an instrument to assess student learning of fundamental and object-oriented programming concepts, and to use that instrument to investigate the impact of different teaching approaches and languages on students’ ability to learn those concepts.Students enrolled in programming courses at two different universities in the Mid-Atlantic region during the 2009-2010 academic year participated in the study. Extensive data analysis showed that the assessment instrument performed well overall. Reliability estimates ranged from 0.65 to 0.79. The instrument is intrinsically valid since the questions are based on the core concepts of the Programming Fundamentals knowledge area defined by the 2008 ACM/IEEE curricular guidelines. Support for content validity includes: 71% of correct responses varied directly with the students’ scores; all possible responses were selected at least once; and 21 out of 24 questions discriminated well between high and low scoring students. CS faculty reviewers indicated that 19 out of 24 questions reflected basic concepts and should be used again “as is” or with “minor changes.” Factor analysis extracted three comprehensible components, “methods and functions,” “mathematical and logical expressions,” and “control structures,” suggesting the instrument is on its way to effectively representing the construct “understanding of fundamental programming concepts.”Statistical analysis revealed significant differences in student performance based on language of instruction. Analyses revealed differences with respect to overall score and questions involving assignment, mathematical and logical expressions, and codecompletion. Language of instruction did not appear to affect student performance on questions addressing object-oriented concepts.Ph.D., Information Science and Technology -- Drexel University, 201

    Facilitating algorithm visualization creation and adoption in education

    Get PDF
    The research question of this thesis is: How can we develop algorithm animations (AA) and AA systems further to better facilitate the creation and adoption of AA in education? The motivation for tackling this issue is that algorithm animation has not been widely used in teaching computer science. One of the main reasons for not taking full advantage of AA in teaching is the lack of time on behalf of the instructors. Furthermore, there is a shortage of ready-made, good quality algorithm visualizations. The main contributions are as follows: Effortless Creation of Algorithm Animation. We define a Taxonomy of Effortless Creation of Algorithm Animations. In addition, we introduce a new approach for teachers to create animations by allowing effortless on-the-fly creation of algorithm animations by applying visual algorithm simulation through a simple user interface. Proposed Standard for Algorithm Animation language. We define a Taxonomy of Algorithm Animation Languages to help comparing the different AA languages. The taxonomy and work by an international working group is used to define a new algorithm animation language, eXtensible Algorithm Animation Language, XAAL. Applications of XAAL in education. We provide two different processing approaches for using and producing XAAL animations with existing algorithm animation systems. In addition, we have a framework aiding in this integration as well as prototype implementations of the processes. Furthermore, we provide a novel solution to the problem of seamlessly integrating algorithm animations with hypertext. In our approach, the algorithm animation viewer is implemented purely with JavaScript and HTML. Finally, we introduce a processing model to easily produce lecture slides for a common presentation tool of XAAL animations
    corecore