363,107 research outputs found

    Experience Report: A Sustainable Serious Educational Game Capstone Project

    Get PDF
    Capstone courses play a key role in many Computer Science/Software Engineering curricula. They offer a summative opportunity for SE students to apply their skills and knowledge in a single experience and prepare them for work in industry. Capstones have many attributes that make them a valuable high-impact practice, yet there are several challenges that can be associated with them. These challenges include the general nature of a capstone that prevents deeper applications of skills, not to mention the difficulty of creating an interesting and engaging design project upon which students can make meaningful contributions and engage in extensive team dynamics. This experience report outlines an innovative approach to a senior design capstone course that addresses common limitations of capstone courses. The SimSYS capstone course is unique in that it involved a mixed team organization involving a more senior design team who led a development team over the course of the semester, thereby leveraging the diverse experience of capstone students completing their CS/SE degree. The results point to solutions for continuing a capstone project successfully in subsequent semesters that could be of interest to other SE curriculum designers looking to develop effective capstone courses

    Teaching Software Engineering with Free Open Source Software Development: An Experience Report

    Get PDF
    We report on the design and delivery of a senior Software Engineering course within the limits of a Computer Science program. The course is structured around a collaboration with a large, active Free Open Source Software project. We show how this structure allows us to (a) incorporate principles of Project Based Learning and of Service Learning, reaping the benefits of these pedagogies, (b) effectively, using a hands-on approach, teach a number of essential topics in Software Engineering, (c) provide the students with a capstone project experience, given the lack of one in our curriculum, and (d) use the project as a powerful motivating factor for the students. We outline the experiences of the course instructor, of the teaching assistants team, and of the students of the course. We also describe the experience of the lead developers of this open source project, and report on the benefits and costs (time commitment) to the project

    How Songbirds Learn to Sing Provides Suggestions for Designing Team Projects for Computing Courses

    Full text link
    Understanding how our brain works and how we learn is perhaps one of the greatest challenges facing twenty-first computer science. Songbirds are good candidates for trying to unravel some of this mystery. Over the last decade, a large amount of research has been made to better understand how songbirds learn complex songs. The Canary (Serinus canaria) and the Zebra Finch (Taeniopygia guttata) have been widely used bird models to study these brain and behavior relationships. Like songbirds, we humans are vocal and social learners. In such learners, the development of communication is initially steered by social interactions with adult tutors. In songbirds, song development is further shaped through interactions with peers and by attending to the consequences of others interacting. In this paper, we review three key areas in a bird’s brain which perform three specific roles (i.e. actor, experimenter and critic). Similarly, there are three roles (i.e. coder, designer and tester) that are being played in software firms for developing products. We can bring the same roles into the computer science classroom by designing a term project which involves students who play these three different roles. We demonstrate our methodology by showing how it works in a senior level computer science course. We then discuss and qualitatively show the benefits of such a role-based project design

    The Megaprocessor as an Educational Tool Making the Abstract Concrete

    Get PDF
    Computer architecture courses can be difficult for students to engage with and learn from. This is because, unlike most core courses for a computer science student, learning architecture is an abstract process. To address this, universities have implemented methods for teaching course material other than purely descriptive methods. This typically means using simulations to model some aspect of a CPU or FPGA (fieldprogrammable gate array) boards for hands-on experimentation in CPU design. However, there are issues with these tools. Simulations can only cover a few topics well, are prone to being abandoned, and introduce additional abstraction layers. FPGAs, while great for advanced topics and long class projects, are often best suited for senior and graduate level students. Both methods are useful, but neither offers a tangible learning experience, which is what the Megaprocessor can provide. The Megaprocessor is a room sized, general-purpose computer made from discrete components, whose architecture is comprised of primitive logic gates with LEDs on every input and output. The entire circuitry of the Megaprocessor is transparent to the users, with its entire state visible and unabstracted. Because of these properties, it is a great learning mechanism for computer architecture education. The Megaprocessor is a tool for hands on and project-based learning that can be used to span the learning gap between simulations and FPGAs

    Infusing Raspberry Pi in the Computer Science Curriculum for Enhanced Learning

    Get PDF
    With the advent of cloud computing, the Internet of Things (IoT), and mobile computing, CS faculty are continuously revamping the curriculum material to address such burgeoning set of technologies in practical and relatable ways. Raspberry Pi (RPi) devices represent an ideal hardware/software framework that embodies all these technologies through its simple architecture, small form factor (that minimizes the volume and footprint of a desktop computer), and ability to integrate various sensors that network together and connect to the Cloud. Therefore, one of the strategies of Computer Science Department, to enhance depth of learning concepts, has been to infuse Raspberry Pi (RPi) in computer science courses. RPi has been incorporated since 2016 in targeted courses, notably, Computer Organization & Assembly Language, Computer Architecture, Database Management Design & Implementation, Unix/Linux Programming, Internet Programming, and Senior Project. An inexpensive credit card sized computer, an RPi lends itself to allow depth of learning of concepts. From implementing firewalls, intrusion detection systems, scripting, client-server based computing, distributed computing, to interfacing with sensors and actuators, a student is guided to polish concepts taught in a class through RPi Project Based Learning (RPBL). Computer science curriculum already provides breadth of learning. The infusion of RPi in key courses provides depth in targeted concepts. There are peripheral desirable consequences as well, including a student learning prevalently used Linux environment even though a targeted course may have nothing directly to do with Linux. Furthermore, RPi provides an opportunity for students to realize that software programs can be interfaced with sensors and actuators to provide immersed experience in programming. From simply interfacing a switch and a Light Emitting Diode (LED) to getting data from sensors, buffering, and uploading to the cloud, a student already would have touched upon multiple disciplines in computer science. This paper provides a blueprint to infusing RPi in the targeted courses, and how each RPi based project provides depth to a targeted concept

    An Integrated Approach to Developing Technical Communication Skills in Engineering Students

    Get PDF
    The Project to Integrate Technical Communication Habits (PITCH) is being implemented across seven engineering and computer science undergraduate programs. The overarching goal of PITCH is to develop written, oral and visual communication skills and professional habits in engineering students. PITCH activities begin in the very first semester and are reinforced and extended through all four years of each program. Senior design becomes the culminating experience in which students demonstrate the skills and habits acquired through PITCH courses. Student outcomes for the project were established based on an extensive survey of employers, alumni and faculty. Communication instruments include technical memoranda, poster presentations, oral presentations, laboratory reports, proposals, and senior design reports. In addition to text elements, the use of tables and graphics also are addressed. Advice tables, annotated sample assignments and grading rubrics are being developed for each instrument to assist students in their work and facilitate consistency in instruction and assessment across multiple instructors teaching different course sections. Within each of the seven programs, specific courses within all four years are targeted for implementation and assessment of technical communication skills. Roadmaps showing the target courses, and the instruments deployed and outcomes to be learned in each course are made available to students in each program. The different communication products are distributed across courses as appropriate, and the skills are developed at deeper and deeper levels as students progress through the years. Two critical and distinctive features of the project are that technical communication skills are fully integrated into the content of regular engineering courses and are taught by regular engineering faculty. These features will make PITCH sustainable over the longer term. In the first year of the project, 16 engineering and computer science faculty were trained by an external consultant through summer workshops to deliver and assess the technical communication instruments in their courses. All PITCH assignments submitted by students are being archived and will be used in a longitudinal assessment of the effectiveness of the project as the first cohort of students who started in fall 2012 near graduation. PITCH is funded by the Davis Educational Foundation and is designed to be self-sustaining after the three-year period of grant support. This paper describes the approach used, lists the PITCH student outcomes, and provides examples of the PITCH roadmaps, as well as the resources provided to students and faculty

    Effect of interactive computer simulations on academic performance and learning motivation of Rwandan students in Atomic Physics

    Get PDF
    Physics course is seen by both teachers and students as difficult when it comes to teaching and learning. Thus, there is a need to think of and integrate new and innovative ways of teaching which guarantee students an improved physics conceptual understanding. This study investigated the effect of interactive computer simulations on the academic performance and learning motivation of students. It used a quasi-experimental design with a quantitative approach. The participants were 163 senior five Rwandan students (80 students in a control group and 83 students in an experimental group). The investigation was done on students’ learning in atomic physics using physics education technology (PhET) simulations for the experimental group and conventional teaching methods for the control group. An atomic physics achievement test as a pre/post-test and a questionnaire related to motivation were designed and examined for reliability and validity. Data were analyzed by means of descriptive and inferential statistics. On both test scores and learning motivation, the results show that the experimental group performed better than the control group with noticeable statistically significant differences. This research recommended that the integration of interactive computer simulations can be helpful in teaching and learning physics in Rwanda and future research may focus on the effectiveness of these simulations in the teaching and learning of other science disciplines like Chemistry and Biology

    Measuring creativity in software development

    Get PDF
    Abstract. Creativity involves choosing to direct resources toward developing novel ideas. Information technology development, including software engineering, requires creative discourse among team members to design and implement a novel, competitive product that meets usability, performance, and functional requirements set by the customer. In this paper, we present results that correlate metrics of creative collaboration with successful software product development in a Senior Software Projects class that is a capstone course in accredited Computer Science programs. An idea management and reward system, called SEREBRO, provides measurement opportunities to develop metrics of fluency, flexibility, originality, elaboration, and overall creativity. These metrics incorporate multiple perspectives and sources of information into the measurement of creativity software design. The idea management portion of SEREBRO is a Web application that allows team members to initiate asynchronous, creative discourse through the use of threads. Participants are rewarded for brainstorming activities that start new threads for creative discourse and spinning new ideas from existing ones

    Annual Report, 2015-2016

    Get PDF
    • 

    corecore