• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 61
  • 11
  • 5
  • 5
  • 3
  • 3
  • 2
  • 1
  • 1
  • 1
  • Tagged with
  • 156
  • 156
  • 97
  • 38
  • 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

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
32

Integrating the Media Computation API with Pythy, an Online IDE for Novice Python Programmers

Athri, Ashima 08 September 2015 (has links)
Improvements in both software and curricula have helped introductory computer science courses attract and retain more students. Pythy is one such online learning environment that aims to reduce software setup related barriers to learning Python while providing facilities like course management and grading to instructors. To further enable its goals of being beginner-centric, we want to integrate full support for media-computation-style programming activities. The media computation curriculum teaches fundamental computer science concepts through the activities of manipulating images, sounds and videos, and has been shown to be successful in retaining students and helping them gain transferable knowledge. In this work we tackle the first two installments of the problem namely, supporting image and sound-based media computation programs in Pythy. This involves not only client-side support that enables students to run media-computation exercises in the browser, but also server-side support to leverage Pythy's auto-grading facilities. We evaluated our implementation by systematically going through all 82 programs in the textbook that deal with image and sound manipulation and verifying if they worked in Pythy as-is, while complementing this with unit-tests for full test coverage. As a result, Pythy now supports 65 out of the 66 media-computation methods required for image and sound manipulation on both the client and the server-side, and 81 out of the 82 programs in the media-computation textbook can be executed as-is in Pythy. / Master of Science
33

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.
34

Virtual Teaching Assistant to Support Students' Efforts in Programming

Manniam Rajagopal, Mukund Babu 14 August 2018 (has links)
Novice programmers often find learning programming difficult. They suffer from various misconceptions and difficulties in understanding the subject. The overall experience with programming can be negative for many students. They may feel isolated in the programming environment and think that programming is difficult for them. Many schools use automated grading tools to process student work and provide them with early feedback. Web-CAT, an open-source software system that is widely used by many universities, is an example of such an automated grading tool. We have developed a Virtual Teaching Assistant for Web-CAT, called Maria, who can support the students to help alleviate some of the negative emotions towards programming. We have used an animated pedagogical agent as the virtual assistant as certain characteristics of the agent can help with the students' perception about the virtual teaching assistant. Often, students have a fixed mindset about programming. But it is easy to master programming with practice. To promote a growth mindset, Maria also provides feedback recognizing the effort of the student in addition to the performance-oriented feedback of the students' programs. Maria can also provide motivating or encouraging comments to continue working on the assignment to get a good score. Maria can also provide information about the various errors displayed in student feedback. / Master of Science / Beginners often find learning computer programming difficult. They may suffer from various misconceptions and difficulties in understanding the subject. Also, there can be a negative experience surrounding programming for many students. They may feel isolated in the programming environment and think that programming is difficult for them. Many schools use automated software tools to grade student programs and provide them with early feedback. Web-CAT, a software system that is widely used by many universities, is an example of such an automated grading tool. We have developed a Virtual Teaching Assistant to reside within Web-CAT, called Maria, who can support the students to help alleviate some of the negative emotions towards programming. We have used an animated human-like character, known as pedagogical agent, for Maria as it is widely use in pedagogy to help students. Often, students think programming is an innate skill and it is difficult to acquire. But it is easy to master programming with practice. To encourage students to continue working, Maria also provides feedback recognizing the effort that the student has put in towards completing the programming assignment or project. In certain cases, Maria can also provide motivating or encouraging comments to the students to help them continue working on the assignment. Maria can also provide explanation about the various programming errors that students encounter during their submission to Web-CAT.
35

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.
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
37

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.
38

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.
39

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
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.1048 seconds