579 research outputs found

    Comparing importance of knowledge and professional skill areas for engineering programming utilizing a two group Delphi survey

    Get PDF
    All engineering careers require some level of programming proficiency. However, beginning programming classes are challenging for many students. Difficulties have been well-documented and contribute to high drop-out rates which prevent students from pursuing engineering. While many approaches have been tried to improve the performance of students and reduce the dropout rate, continued work is needed. This research seeks to re-examine what items are critical for programming education and how those might inform what is taught in introductory programming classes (CS1). Following trends coming from accreditation and academic boards on the importance of professional skills, we desire to rank knowledge and professional skill areas in one list. While programming curricula focus almost exclusively on knowledge areas, integrating critical professional skill areas could provide students with a better high-level understanding of what engineering encompasses. Enhancing the current knowledge centric syllabi with critical professional skills should allow students to have better visibility into what an engineering job might be like at the earliest classes in the engineering degree. To define our list of important professional skills, we use a two-group, three-round Delphi survey to build consensus ranked lists of knowledge and professional skill areas from industry and academic experts. Performing a gap analysis between the expert groups shows that industry experts focus more on professional skills then their academic counterparts. We use this resulting list to recommend ways to further integrate professional skills into engineering programming curriculum

    Computational Thinking and Literacy

    Get PDF
    Today’s students will enter a workforce that is powerfully shaped by computing. To be successful in a changing economy, students must learn to think algorithmically and computationally, to solve problems with varying levels of abstraction. These computational thinking skills have become so integrated into social function as to represent fundamental literacies. However, computer science has not been widely taught in K-12 schools. Efforts to create computer science standards and frameworks have yet to make their way into mandated course requirements. Despite a plethora of research on digital literacies, research on the role of computational thinking in the literature is sparse. This conceptual paper proposes a three dimensional framework for exploring the relationship between computational thinking and literacy through: 1) situating computational thinking in the literature as a literacy; 2) outlining mechanisms by which students’ existing literacy skills can be leveraged to foster computational thinking; and 3) elaborating ways in which computational thinking skills facilitate literacy development

    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

    Computational Thinking in Education: Where does it fit? A systematic literary review

    Get PDF
    Computational Thinking (CT) has been described as an essential skill which everyone should learn and can therefore include in their skill set. Seymour Papert is credited as concretising Computational Thinking in 1980 but since Wing popularised the term in 2006 and brought it to the international community's attention, more and more research has been conducted on CT in education. The aim of this systematic literary review is to give educators and education researchers an overview of what work has been carried out in the domain, as well as potential gaps and opportunities that still exist. Overall it was found in this review that, although there is a lot of work currently being done around the world in many different educational contexts, the work relating to CT is still in its infancy. Along with the need to create an agreed-upon definition of CT lots of countries are still in the process of, or have not yet started, introducing CT into curriculums in all levels of education. It was also found that Computer Science/Computing, which could be the most obvious place to teach CT, has yet to become a mainstream subject in some countries, although this is improving. Of encouragement to educators is the wealth of tools and resources being developed to help teach CT as well as more and more work relating to curriculum development. For those teachers looking to incorporate CT into their schools or classes then there are bountiful options which include programming, hands-on exercises and more. The need for more detailed lesson plans and curriculum structure however, is something that could be of benefit to teachers

    The Design and Evaluation of an Educational Software Development Process for First Year Computing Undergraduates

    Get PDF
    First year, undergraduate computing students experience a series of well-known challenges when learning how to design and develop software solutions. These challenges, which include a failure to engage effectively with planning solutions prior to implementation ultimately impact upon the students’ competency and their retention beyond the first year of their studies. In the software industry, software development processes systematically guide the development of software solutions through iterations of analysis, design, implementation and testing. Industry-standard processes are, however, unsuitable for novice programmers as they require prior programming knowledge. This study investigates how a researcher-designed educational software development process could be created for novice undergraduate learners, and the impact of this process on their competence in learning how to develop software solutions. Based on an Action Research methodology that ran over three cycles, this research demonstrates how an educational software development methodology (termed FRESH) and its operationalised process (termed CADET which is a concrete implementation of the FRESH methodology), was designed and implemented as an educational tool for enhancing student engagement and competency in software development. Through CADET, students were reframed as software developers who understand the value in planning and developing software solutions, and not as programmers who prematurely try to implement solutions. While there remain opportunities to further enhance the technical sophistication of the process as it is implemented in practice, CADET enabled the software development steps of analysis and design to be explicit elements of developing software solutions, rather than their more typically implicit inclusion in introductory CS courses. The research contributes to the field of computing education by exploring the possibilities of – and by concretely generating – an appropriate scaffolded methodology and process; by illustrating the use of computational thinking and threshold concepts in software development; and by providing a novel evaluation framework (termed AKM-SOLO) to aid in the continuous improvement of educational processes and courses by measuring student learning experiences and competencies

    Mobile App Development to Increase Student Engagement and Problem Solving Skills

    Get PDF
    This paper describes a project designed to promote problem solving and critical thinking skills in a general education, computing course at an open access institution. A visual programming tool, GameSalad, was used to enable students to create educational apps for mobile platforms. The students worked on a game development project for the entire semester, incorporating various skills learned throughout the semester. Pre and post quiz analysis showed a significant improvement in students’ ability to design comprehensive solutions to a given problem. Survey results also showed increased student engagement, high interest in computing and a “better” understanding of information technology

    public class Graphic_Design implements Code { // Yes, but how? }: An investigation towards bespoke Creative Coding programming courses in graphic design education

    Get PDF
    Situated in the intersection of graphic design, computer science, and pedagogy, this dissertation investigates how programming is taught within graphic design education. The research adds to the understanding of the process, practice, and challenges associated with introducing an audience of visually inclined practitioners—who are often guided by instinct—to the formal and unforgiving world of syntax, algorithms, and logic. Motivating the research is a personal desire to contribute towards the development of bespoke contextualized syllabi specifically designed to accommodate how graphic designers learn, understand, and use programming as an integral skill in their vocational practice.The initial literature review identifies a gap needing to be filled to increase both practical and theoretical knowledge within the interdisciplinary field of computational graphic design. This gap concerns a lack of solid, empirically based epistemological frameworks for teaching programming to non-programmers in a visual context, partly caused by a dichotomy in traditional pedagogical practices associated with teaching programming and graphic design, respectively. Based on this gap, the overarching research question posed in this dissertation is: “How should programming ideally be taught to graphic designers to account for how they learn and how they intend to integrate programming into their vocational practice?”A mixed methods approach using both quantitative and qualitative analyses is taken to answer the research questions. The three papers comprising the dissertation are all built on individual hypotheses that are subsequently used to define three specific research questions.Paper 1 performs a quantitative mapping of contemporary, introductory programming courses taught in design schools to establish a broader understanding of their structure and content. The paper concludes that most courses are planned to favor programming concepts rather than graphic design concepts. The paper’s finding can serve as a point of departure for a critical discussion among researchers and educators regarding the integration of programming in graphic design education.Paper 2 quantitatively assesses how the learning style profile of graphic design students compares with that of students in technical disciplines. The paper identifies a number of significant differences that call for a variety of pedagogic and didactic strategies to be employed by educators to effectively teach programming to graphic designers. Based on the results, specific recommendations are given.Paper 3 proposes a hands-on, experiential pedagogic method specifically designed to introduce graphic design students to programming. The method relies on pre-existing commercial graphic design specimens to contextualize programming into a domain familiar to graphic designers. The method was tested on the target audience and observations on its use are reported. Qualitative evaluation of student feedback suggests the method is effective and well-received. Additionally, twenty-four heuristics that elaborate and extend the paper’s findings by interweaving other relevant and influential sources encountered during the research project are provided. Together, the literature review, the three papers, and the heuristics provide comprehensive and valuable theoretical and practical insights to both researchers and educators, regarding key aspects related to introducing programming as a creative practice in graphic design education

    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

    Collaborative learning strategies in software engineering course

    Get PDF
    This paper presents the research design for a Scholarship of Learning and Teaching project that aims to explore how the collaborative learning strategies can impact student learning in Software Engineering course. Collaboration for software engineering is central as multiple engineers work together on a project. Besides the specialist individual skills, it is important that IT professionals complement each other and collaborate. Future trends place utmost importance to the skill and thus it is important that our university teaching incorporates activities and tasks that foster group work and collaboration. The existing literature for collaborative learning strategies used in University teaching is reviewed in light of demand in the industry for team work and collaboration
    • …
    corecore