175,537 research outputs found
Recommended from our members
Tools for Tutoring Theoretical Computer Science Topics
This thesis introduces COMPLEXITY TUTOR, a tutoring system to assist in learning abstract proof-based topics, which has been specifically targeted towards the population of computer science students studying theoretical computer science. Existing literature has shown tremendous educational benefits produced by active learning techniques, student-centered pedagogy, gamification and intelligent tutoring systems. However, previously, there had been almost no research on adapting these ideas to the domain of theoretical computer science. As a population, computer science students receive immediate feedback from compilers and debuggers, but receive no similar level of guidance for theoretical coursework. One hypothesis of this thesis is that immediate feedback while working on theoretical problems would be particularly well-received by students, and this hypothesis has been supported by the feedback of students who used the system.
This thesis makes several contributions to the field. It provides assistance for teaching proof construction in theoretical computer science. A second contribution is a framework that can be readily adapted to many other domains with abstract mathematical content. Exercises can be constructed in natural language and instructors with limited programming knowledge can quickly develop new subject material for COMPLEXITY TUTOR. A third contribution is a platform for writing algorithms in Python code that has been integrated into this framework, for constructive proofs in computer science. A fourth contribution is development of an interactive environment that uses a novel graphical puzzle-like platform and gamification ideas to teach proof concepts. The learning curve for students is reduced, in comparison to other systems that use a formal language or complex interface.
A multi-semester evaluation of 101 computer science students using COMPLEXITY TUTOR was conducted. An additional 98 students participated in the study as part of control groups. COMPLEXITY TUTOR was used to help students learn the topics of NP-completeness in algorithms classes and prepositional logic proofs in discrete math classes. Since this is the first significant study of using a computerized tutoring system in theoretical computer science, results from the study not only provide evidence to support the suitability of using tutoring systems in theoretical computer science, but also provide insights for future research directions
Experiences on a motivational learning approach for robotics in undergraduate courses
This paper presents an educational experience carried out in robotics undergraduate courses from two
different degrees: Computer Science and Industrial Engineering, having students with diverse
capabilities and motivations. The experience compares two learning strategies for the practical
lessons of such courses: one relies on code snippets in Matlab to cope with typical robotic problems
like robot motion, localization, and mapping, while the second strategy opts for using the ROS
framework for the development of algorithms facing a competitive challenge, e.g. exploration
algorithms. The obtained students’ opinions were instructive, reporting, for example, that although they
consider harder to master ROS when compared to Matlab, it might be more useful in their (robotic
related) professional careers, which enhanced their disposition to study it. They also considered that
the challenge-exercises, in addition to motivate them, helped to develop their skills as engineers to a
greater extent than the skeleton-code based ones. These and other conclusions will be useful in
posterior courses to boost the interest and motivation of the students.Universidad de Málaga. Campus de Excelencia Internacional AndalucĂa Tech
pseuCo Book: An Interactive Learning Experience
Software tools and apps are pervading educational technology in
many areas, not least in the field of computer science education.
However, many of these tools have a very narrow scope and lack
context, or only work as add-ons to textbooks and other course materials. This paper advocates an alternative: a truly interactive textbook experience where interactive demonstrations and exercises
are interwoven with more classical textual elements. We present a
framework that provides authors with the infrastructure for writing
such books, and present pseuCo Book, an interactive book for teaching concurrent programming. The effectiveness of this approach is
demonstrated by a user study encompassing a detailed empirical
evaluation
Security for CLP
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2006.Includes bibliographical references (p. 43-44).This MENG thesis implements a security system for a classroom presentation system called the Classroom Learning Partner (CLP). The goal of the security system is to prevent cheating on electronic quizzes. CLP is a system that uses Tablet PCs in the classroom to enhance learning and encourage interaction between the instructor and students. The instructor creates exercises which are displayed on slides on the students' Tablet PCs. The students complete the exercises and submit them to the instructor and to a central database. The security implementation makes it possible to extend this framework for electronic quiz administration. This thesis discusses current cheating prevention methodologies and extends them to account for electronic quiz-taking scenarios. The basis of the security system is SQL Server authentication for authentication to a central database, and SSL for encryption of network traffic.by Karin Iancu.M.Eng
Category theory for scientists (Old version)
There are many books designed to introduce category theory to either a
mathematical audience or a computer science audience. In this book, our
audience is the broader scientific community. We attempt to show that category
theory can be applied throughout the sciences as a framework for modeling
phenomena and communicating results. In order to target the scientific
audience, this book is example-based rather than proof-based. For example,
monoids are framed in terms of agents acting on objects, sheaves are introduced
with primary examples coming from geography, and colored operads are discussed
in terms of their ability to model self-similarity.
A new version with solutions to exercises will be available through MIT
Press.Comment: 267 pages, 5 chapters, 280 exercises, an index. This book was written
as course notes for a special subjects Math class at MIT called "18-S996:
Category Theory for scientists", taught in Spring 2013. The class had a
diverse enrollment: At the end, the number of registered students was 18 = 7
undergrad + 11 grad = 5 math + 4 EECS + 3 physics + 3 engineering + 3 othe
A Roadmap to Gamify Programming Education
Learning programming relies on practicing it which is often hampered by the barrier of difficulty. The combined use of automated assessment, which provides fast feedback to the students experimenting with their code, and gamification, which provides additional motivation for the students to intensify their learning effort, can help pass the barrier of difficulty in learning programming. In such environment, students keep receiving the relevant feedback no matter how many times they try (thanks to automated assessment), and their engagement is retained (thanks to gamification). While there is a number of open software and programming exercise collections supporting automated assessment, up to this date, there are no available open collections of gamified programming exercises, no open interactive programming learning environment that would support such exercises, and even no open standard for the representation of such exercises so that they could be developed in different educational institutions and shared among them. This gap is addressed by Framework for Gamified Programming Education (FGPE), an international project whose primary objective is to provide necessary prerequisites for the application of gamification to programming education, including a dedicated gamification scheme, a gamified exercise format and exercises conforming to it, software for editing the exercises and an interactive learning environment capable of presenting them to students. This paper presents the FGPE project, its architecture and main components, as well as the results achieved so far. 2012 ACM Subject Classification Social and professional topics ! Computer science education
The role of computational thinking in introductory computer science
Computational thinking (CT) is gaining recognition as an important skill for students, both in computer science and other disciplines. Although there has been much focus on this field in recent years, it is rarely taught as a formal course, and there is little consensus on what exactly CT entails and how to teach and evaluate it. This research addresses the lack of resources for integrating CT into the introductory computer science curriculum. The question that we aim to answer is whether CT can be evaluated in a meaningful way. A CT framework that outlines the skills and techniques comprising CT and describes the nature of student engagement was developed; this is used as the basis for this research. An assessment (CT test) was then created to gauge the ability of incoming students, and a CT-specfic computer game was developed based on the analysis of an existing game. A set of problem solving strategies and practice activities were then recommended based on criteria defined in the framework. The results revealed that the CT abilities of first year university students are relatively poor, but that the students' scores for the CT test could be used as a predictor for their future success in computer science courses. The framework developed for this research proved successful when applied to the test, computer game evaluation, and classification of strategies and activities. Through this research, we established that CT is a skill that first year computer science students are lacking, and that using CT exercises alongside traditional programming instruction can improve students' learning experiences
Visual algorithm simulation
Understanding data structures and algorithms, both of which are abstract concepts, is an integral part of software engineering and elementary computer science education. However, people usually have difficulty in understanding abstract concepts and processes such as procedural encoding of algorithms and data structures. One way to improve their understanding is to provide visualizations to make the abstract concepts more concrete.
This thesis presents the design, implementation and evaluation for the Matrix application framework that occupies a unique niche between the following two domains. In the first domain, called algorithm animation, abstractions of the behavior of fundamental computer program operations are visualized. In the second domain, called algorithm simulation, the framework for exploring and understanding algorithms and data structures is exhibited.
First, an overview and theoretical basis for the application framework is presented. Second, the different roles are defined and examined for realizing the idea of algorithm simulation. The roles considered includes users (i.e., learners and instructors), visualizers (those who specify the visualizations), programmers (those who wrote the original algorithms to be visualized), and the developers (those who continue to design and implement the Matrix framework). Finally, the effectiveness of the algorithm simulation exercises, the main application embodied in the framework, is studied. The current tool is utilized for delivering, representing, solving, and submitting tracing exercises that can be automatically assessed, and thus provides meaningful feedback on learners performance.reviewe
- …