• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 62
  • 11
  • 5
  • 5
  • 3
  • 3
  • 2
  • 1
  • 1
  • 1
  • Tagged with
  • 157
  • 157
  • 98
  • 39
  • 27
  • 24
  • 24
  • 23
  • 22
  • 20
  • 17
  • 17
  • 16
  • 16
  • 16
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
31

Improving and Evaluating Maria: A Virtual Teaching Assistant for Computer Science Education

Finch, Dylan Keifer 27 May 2020 (has links)
Many colleges face a lack of academic and emotional support for their computer science students. Previous research into this problem produced Maria, a virtual teaching assistant (TA). This initial version of Maria was able to answer student questions, provide error explanations, and praise students for effort on programming assignments. This research continues work on the Maria project with three design goals: (1) reducing obstacles to use of Maria, (2) allowing Maria to provide better academic support, and (3) allowing Maria to provide better emotional support (with less focus on this goal). Improvements were made to the initial version of Maria, including increasing the number of questions that Maria could answer, allowing Maria to suggest questions for students to ask, and adding longer back-and-forth dialogs between Maria and students. Following this, Maria was deployed to students for an evaluation. The evaluation revealed that certain features were popular (including the longer dialogs and easier access to error explanation) and that Maria was unable to provide relevant answers to many questions asked by students. Using data from the evaluation, more improvements were made to Maria to address some of her shortcomings and build on her popular features. Answers to more questions were added for questions about testing, general knowledge questions, questions about many other topics. Many of these new answers used the popular back-and-forth dialog feature. Additionally, this research discusses a system that could be used to automate the creation of new answers for Maria or any virtual teaching assistant using crowdsourcing. / Master of Science / Many colleges face a lack of academic and emotional support for their computer science students. Previous research into this problem produced Maria, a virtual teaching assistant (TA). This initial version of Maria was able to answer student questions, provide error explanations, and praise students for effort on programming assignments. This research continues work on the Maria project with three design goals: (1) reducing obstacles to use of Maria, (2) allowing Maria to provide better academic support, and (3) allowing Maria to provide better emotional support (with less focus on this goal). Improvements were made to the initial version of Maria, including increasing the number of questions that Maria could answer, allowing Maria to suggest questions for students to ask, and adding longer back-and-forth dialogs between Maria and students. Following this, Maria was deployed to students for an evaluation. The evaluation revealed that certain features were popular (including the longer dialogs and easier access to error explanation) and that Maria was unable to provide relevant answers to many questions asked by students. Using data from the evaluation, more improvements were made to Maria to address some of her shortcomings and build on her popular features. Answers to more questions were added for questions about testing, general knowledge questions, questions about many other topics. Many of these new answers used the popular back-and-forth dialog feature. Additionally, this research discusses a system that could be used to automate the creation of new answers for Maria or any virtual teaching assistant using crowdsourcing.
32

Exploring the Impact of Hour of Code on Students' CS Interest and Perceptions

Yauney, Jessica Marie 19 April 2023 (has links) (PDF)
As the focus on computer science in K-12 classrooms grows, the 'Hour of Code' program has also grown. As Hour of Code is one of the largest educational campaigns, it is worth evaluation to ensure effects are well understood so that implementation can be made most effective. This research sought to better understand the impact of Hour of Code. This thesis presents findings from a systematic review and from a quasi-experimental study. A large number of research articles have been published on Hour of Code. Systematic review identified 64 papers including reports from experiments testing the efficacy of Hour of Code, analysis of learner behavior, reports of participation and suggestions for facilitating. Analysis of these articles provided detail into the known impact of Hour of Code and available resources. However, many questions remain and are outlined in the review. One such remaining question includes questions about the impact specifically on K-12 students. The quasi-experimental study reports findings from computer science education research with over 1000 7th-grade students who engaged in HOC activities. Students' interest and perceptions of CS were collected before and after completing HOC activities. Statistical analysis provided mixed results with some positive and some negative shifts but overall limited effect size.
33

Teaching Command Line and Git Skills Using Exercises with Interactive Visualizations

Buxton, Ryan Todd 05 January 2023 (has links)
Command line and version control skills are vital to computer science students during their education and as they enter the software industry. These skills are commonly taught to undergraduate students via traditional lecturing methods and brief hands-on activities. Many students struggle with learning the Git version control system because they are not familiar with the command line, or they do not understand how Git works internally. Recent research highlights the effectiveness of using interactive visualizations to teach computer science concepts. Thus, we developed novel command line and Git exercises with interactive visualizations. These exercises integrate with learning management systems to automate grading. We tested the effectiveness of the exercises in a CS2 course at a large research institution by conducting pre-assessments before and post-assessments after the students completed the exercises. We found that students performed significantly better on both the command line and Git post-assessments than on the pre-assessments. Furthermore, we found that students with less experience with the command line and Git achieved a significantly greater improvement from the pre-assessments to the post-assessments. Additionally, we found that students with different levels of command line and Git experience did not perform differently on the exercises. Therefore, the exercises provide a novel tool for teaching command line and Git concepts to undergraduate computer science students with any level of command line and Git experience. / Master of Science / Command line is a term used to refer to a text-based user interface that allows users to interact with their computers by inputting commands. Git is a version control system typically used to track the stages of development for a computer program. Command line and Git skills are vital to computer science students during their education and as they enter the software industry. These skills are commonly taught to undergraduate students via traditional lecturing methods and brief hands-on activities. Many students struggle with Git because they are not familiar with the command line, or they do not understand how Git works internally. Recent research highlights the effectiveness of using interactive visualizations to teach computer science concepts. Thus, we developed novel command line and Git exercises with interactive visualizations. These exercises integrate with learning management systems to automate grading. We tested the effectiveness of the exercises in a CS2 course at a large research institution by conducting pre-assessments before and post-assessments after the students completed the exercises. We found that students performed significantly better on the post-assessments than on the pre-assessments. Furthermore, we found that students with less experience with the command line and Git achieved a significantly greater improvement from the pre-assessments to the post-assessments. Therefore, the exercises provide a novel tool for teaching command line and Git concepts to undergraduate computer science students with any level of command line and Git experience.
34

minimUML: A Minimalist Approach to UML Diagraming for Early Computer Science Education

Turner, Scott Alexander 15 June 2005 (has links)
Unified Modeling Language (UML) diagraming is commonly used in introductory Computer Science to teach basic object-oriented design, but there appears to be a lack of suitable software to support this task well. Many of the available programs focus on developing code and not on enhancing learning. Those that were designed for educational use sometimes have poor interfaces or are missing common and important features, such as multiple selection and undo/redo. There is a need for software that is tailored to an instructional environment and has all the useful and needed functionality for that specific task. This is the purpose of minimUML. It provides a minimum amount of UML, just what is commonly used in beginning programming classes, while providing a simple, usable interface. In particular, minimUML was designed to support abstract design while supplying features for exploratory learning and error avoidance. Some of the functionality supported includes multiple selection, undo/redo, flexible printing, cut and paste, and drag and drop. In addition, it allows for the annotation of diagrams, through text or freeform drawings, so students can receive feedback on their work. To test minimUML's ease of use, it was run through a small usability study. While a number of issues were raised, the tool generally received positive evaluations that lead us to believe that we have reached our goal. / Master of Science
35

The effects of computer performance assessment on student scores in a computer applications course

Casey, Sue Hartness 07 1900 (has links)
The goal of this study was to determine if performance -based tests should be routinely administered to students in computer application courses. The purpose was to determine the most appropriate mode of testing for individuals taking a computer applications course. The study is divided into areas of assessment, personality traits, and computer attitudes.
36

Code Reading Dojo: Designing an Educationally-oriented Mobile Application Aimed at Promoting Code Reading Skills

Ghaed, Zahra 07 June 2017 (has links)
In recent years, much attention has been directed to the use of educational games for learning computer science concepts. The motivation of game-based learning with positive experience has been deeply studied in the literature, but game design for improving code reading skills have much room for improvement. Being good at the reading code is important to a professional developer. To address this issue, we defined a new educationally-oriented mobile game application, aimed at promoting the development of code reading skills in a new and fun way. The strategy of this game is to find errors in pieces of codes. At each level, students should find all syntactic and semantic errors in the code in a certain time in order to advance to the next level. Of the numerous programming languages, we chose Java because it is one of the most popular programming languages. In many colleges, Java plays a major role in introductory courses. Our vision is to allow instructors to employ the game in their introduction to programming in Java course. In addition, we hope it could be adapted for use in introductory courses using different programming languages. Data collected during the project helps us evaluate the impact of game-based learning on code reading in programming languages. We asked undergraduate students at the department of computer science at Virginia Tech to play with the game during Spring 2017 semester. The collected data analyzed, and students believe that Code Reading Dojo improves their code reading skills in Java and overall programming ability, in additions to help them find errors in their own program. / Master of Science / In recent years, much attention has been directed to the use of educational games for learning computer science concepts. The motivation of game-based learning with positive experience has been deeply studied in the literature, but game design for improving code reading skills have much room for improvement. Being good at the reading code is important to a professional developer. To address this issue, we defined a new educationally-oriented mobile game application, aimed at promoting the development of code reading skills in a new and fun way. The strategy of this game is to find errors in pieces of codes. At each level, students should find all syntactic and semantic errors in the code in a certain time in order to advance to the next level. Of the numerous programming languages, we chose Java because it is one of the most popular programming languages. In many colleges, Java plays a major role in introductory courses. Our vision is to allow instructors to employ the game in their introduction to programming in Java course. In addition, we hope it could be adapted for use in introductory courses using different programming languages. Data collected during the project helps us evaluate the impact of game-based learning on code reading in programming languages. We asked undergraduate students at the department of computer science at Virginia Tech to play with the game during Spring 2017 semester. The collected data analyzed, and students believe that Code Reading Dojo improves their code reading skills in Java and overall programming ability, in additions to help them find errors in their own program.
37

Design and Implementation of OpenDSA Interoperable Infrastructure

Shahin, Hossameldin L. 09 August 2017 (has links)
OpenDSA is a system for creating rich eTextbooks that combine quality text with visualizations and interactive, auto-graded exercises. As OpenDSA gains recognition, its use increases each year. This mandates a scalable, reliable, and sustainable infrastructure to accommodate the fast-growing demand for OpenDSA access. We implemented OpenDSA-LTI, an interoperable infrastructure which transforms OpenDSA from a standalone, self-contained eTextbook to an integrated learning tool communicating with a Learning Management System (LMS) through the Learning Tool Interoperability (LTI) protocol. OpenDSA-LTI delivers OpenDSA content and interactive materials to students through a reliable and secure LMS interface. LTI integration encourages OpenDSA adoption by providing easy, intuitive tools that help instructors to build and generate OpenDSA eTextbooks in their LMS courses. OpenDSA-LTI allows OpenDSA content developers to take advantage of various tools already provided by the LMS instead of reproducing these through their own proprietary services. The OpenDSA-LTI extendable design allows for adding new LTI-compliant exercises to OpenDSA books. This changes OpenDSA developers' efforts to searching for learning tools instead of reimplementing them. As an example, instead of maintaining the original OpenDSA programming evaluation engine, we could easily replace it with the Code Workout online drill-and-practice system. Since its launch in August 2016 until June 2017, OpenDSA-LTI has hosted 36 active courses offered by 25 different universities in 6 countries, 41 instructors have used OpenDSA-LTI to host their courses on the Canvas LMS, and the system has 2,729 registered students. / Master of Science / OpenDSA is a system for creating online textbooks that combine quality text with visualizations and interactive, auto-graded exercises. As OpenDSA gains recognition, its use increases each year. This mandates a scalable, reliable, and sustainable infrastructure to accommodate the fast-growing demand for OpenDSA access. We built OpenDSA-LTI, an online web application which transforms OpenDSA from a standalone, self-contained textbook to a learning tool which any university can integrate in their learning systems. OpenDSA-LTI delivers OpenDSA content and interactive materials to students through a reliable and secure interfaces. The new infrastructure encourages OpenDSA adoption by providing tools that help instructors to build and generate OpenDSA online textbooks in their institution’s learning systems. The OpenDSA-LTI extendable design allows for adding new exercises to OpenDSA online textbooks. This changes OpenDSA developers’ efforts to searching for other learning tools instead of creating them from scratch. As an example, instead of maintaining the original OpenDSA programming exercises, we could replace it with the Code Workout online programming evaluation system. Since its launch in August 2016 until June 2017, OpenDSA-LTI has hosted 36 active courses offered by 25 different universities in 6 countries, 41 instructors have used OpenDSA-LTI to host their courses on the Canvas LMS, and the system has 2,729 registered students.
38

Sequencing as A Factor Associated with Students' Ability to Learn Programming

Honarvar, Hassanali 08 1900 (has links)
The problem of this study concerns the performance of students in computer programming following exposure to a computer-aided instruction (CAI) drill in sequencing and practice exercises. The purpose of this study was to determine whether or not student success rates improve in computer programming after completing CAI sequencing drills and practice exercises.
39

Multifaceted Approach for Teaching Mobile Software Development: Class Experiences With Lectures, Tutorials, and Pair Programming

Seyam, Mohammed Saad 17 April 2017 (has links)
The currently mainstream mobile application development became part of several programming classes, and courses are being developed focused on mobile app development. There are fundamental differences in programming topics for mobile, including the small screen and finger-based interactions, connectivity using different communication channels, and a large number of sensors. Because of these differences, there is a need to explore different approaches to teach the concepts of mobile development. Integrated approaches and collaborative learning are key to handle the multi-platform environment of mobile development and the diversity of its devices. One practice that has been used in educational contexts for collaborative learning is Pair Programming (PP); an approach that features two developers working on the same development task. Since it became popular in the 1990s, Pair Programming (PP) has been used by developers who worked on desktop and web applications. During the past two decades, PP has been studied in both industrial and classroom settings. Several studies have shown that PP is a pedagogical tool that can help students enhance their productivity and performance. However, PP has not been studied for mobile development courses before. With the challenging nature of mobile development topics, we saw potential benefits for pair-based learning. To cover the challenges of mobile development, we developed an approach that integrates Lectures, hands-on Tutorials, and in-class Pair Programming (PP) sessions (the LTP approach). Although PP has been studied previously in classroom settings, LTP provides an adapted version that better fits the requirements of mobile application development. Integrating PP as a core element of mobile development classes aims at giving opportunities to students to collaborate, share experiences, and solve problems together. Moreover, providing multiple teaching approaches ensures that students would benefit from the variety of education methods. The LTP approach aims at helping Computer Science (CS) educators to develop curricula and manage classes for teaching mobile app development. / Ph. D. / Developing software applications (apps) for mobile devices is different than for traditional desktop and web applications. Mobile devices have small screens, short battery life, limited memory and processing power, and users interact directly with the touchscreens using their fingers with no mouse nor keyboard attached. Therefore, software developers need to be aware of such considerations, as well as communication and connectivity issues that are unique to mobile devices. Since mobile app development is becoming mainstream, many Computer Science (CS) programs are developing courses that are dedicated to teaching mobile software development. Since these courses are pretty new, educators are still exploring ways to help navigate the challenges of developing apps for mobile devices. By investigating several teaching methods, we found out that collaborative learning might be suitable and beneficial in this sort of classes. One specific practice that we wanted to explore was Pair Programming. Pair Programming (PP) is a development practice where two developers work collaboratively on the same machine to build software apps. It has been used in industry as well as in classrooms, and it has several benefits in enhancing students’ productivity and performance. Therefore, our work studies how PP can help students in emerging mobile software development classes. This research provides a teaching approach that integrates Lectures, hands-on Tutorials, and in-class PP sessions (the LTP approach), which aims at helping CS educators to develop curricula and manage classes for teaching mobile app development. Integrating PP as a core element of mobile development classes aims at giving opportunities to students to collaborate, share experiences, and solve problems together. However, the LTP approach provides an adapted version of PP that better fits the requirements of mobile application development. Moreover, providing multiple teaching approaches ensures that students would benefit from the variety of education methods.
40

Computer Science Project Courses : Contrasting Students’ Experiences with Teachers’ Expectations

Wiggberg, Mattias January 2010 (has links)
Including small or large project courses is widely recognized as important in preparing computer science students for a professional career. Typical examples are the capstone courses, which often are seen as the jewel in the crown since this is where students will bring their previous knowledge and skills together to show mastery of their craft. These courses are, however, quite complex with often contradictory ideas about how to actually run them in order to reach the learning objectives. This thesis deals with the contrast between students’ experiences and teachers’ expectations of such courses. The research presented in this thesis contributes to the field of knowledge of computer science project courses by investigating processes that are of importance in relation to the desired practices that the students’ should experience. A method is developed, based on the theory of communities of practice and an identification of key features in project work, for evaluating project courses in terms of setting up a learning environment suitable for its learning objectives. The method is focused on capturing the students’ experiences, which then are mapped onto desirable outcomes, as seen from the teachers’ point of view and expressed in terms of communities of practice theory. The result of the analysis is stories capturing the strengths and deficiencies that can be observed in computer science project courses. Key findings are that rewarding learning environments are not automatically created by following the project model; unclear goals and priorities, for example the choice between focusing on the result of the project or the learning process, can confound, or hinder, the learning outcome. Students may experience a difficult choice between using the project course as a way to become more specialized in a particular area or to develop skills that broaden their knowledge. The method developed throughout the thesis is a result in itself, allowing academics and institutions to reason systematically about the aims and learning outcomes of project coursework. The strength of the method lies in the insight gained from combining the concept of communities of practice with a series of studies that identify key features of project courses, in order to reveal and explain why students’ experience processes and learning outcomes in particular ways.

Page generated in 0.1411 seconds