classify-ing the fine-grained interactions logged by the tracing tool, analysis of the think-aloud pro-tocols, and exit interviews to elicit participants’ opinions and experiences. Note that we em-ploy the commercial Camtasia screen capturing tool to record the step-by-step operations andthe think-aloud verbalizations of the participants. A researcher spends about 63 hours in totalto keenly watch and encode all the recorded sessions. A second researcher is involved onlywhen clarifications are needed.3.2 Instrumentation and Study SetupWe developed an automated tracing tool and used it in our study. A screenshot is shown inFigure 1 where the analyst’s name and the actual tracing time are not released in order to pro-tect anonymity. We call the tool
General Topics Software Requirements – this is concerned with the elicitation, analysis, specification and validation of software requirements. This includes understanding of : The requirements process – How are the activities a. associated with software requirements are organized for 1 different projects and constraints. 8 1 1 b. Methods for eliciting requirements 1 5 4 1 c. Analysis of requirements 1 1 1 2 d. Specifying requirements clearly
in contemporary softwareengineering principles, the experimental version of the course incorporated the followingvariations:1. The laboratory project now involves open-source mobile application development;2. The hybrid design methodology (waterfall and XP) is further explored by incorporating two or more development cycles into the project, while additional classroom activities further understanding of connections between the development process and application needs;3. Five active-learning sessions are included to enable reflection on past co-operative education or internship experiences and relate them to classroom learning. The objective of this novel pedagogical strategy, which we call UnLecture, is to bridge the gap between
systemwas worthwhile.The general process for asynchronous multimedia feedback is shown in Figure 1. Studentssubmit their assignments in a traditional manner using a course management system, in this case,Blackboard. The instructor then grades the assignment, capturing in real time their computerscreen and audio commentary. This is accomplished using one of many readily availablesoftware packages, including but not limited to Camtasia Studio, Microsoft Expression, Jing, orSnagit. As the program is executing or the code is being reviewed, annotations are made on thescreen in real time using a tool such as Epic pen, which allows annotations to be made on top of Figure 1: Asynchronous Multimedia Feedback flow.any desktop. These
. Page 26.230.1 c American Society for Engineering Education, 2015 Are Automated Assessment Tools Helpful in Programming Courses?AbstractAutomated assessment tools (AATs) are growing in popularity in introductory programmingcourses, but researchers may have a difficult time synthesizing valid data to draw conclusionsabout the tools’ usefulness. Our first step addressing this issue was to break down our overridingquestion—are automated assessment tools helpful in programming courses?—into four morespecific questions: (1) Have AATs proven to be helpful in improving student learning? (2) Dostudents think that AATs have improved their performance? (3) After having used the tools
, describes the project, and connects these concepts to studentlearning and a summary of the outcomes.2 Software engineering foundationSoftware engineering is a vast collection of theory and practice with the goal of producing thehighest-quality software at the lowest cost. It shares many characteristics with traditionalengineering design processes, but for the purposes of this work, the following elements are theemphasis. In particular, this course promotes the Agile methodology, which is supposed toachieve the same results without imposing onerous, administration-heavy overhead.1 Agile is nota substitute for proper planning and execution, however, so this freedom demands discipline,which is generally lacking in students at this stage of their
theprevious semester). The course objectives are listed below: Learn techniques, processes, and challenges involved in requirements elicitation, analysis, validation and management; Be able to work in a group environment to perform activities and provide documentation related to all phases of software development, focusing on requirements analysis, while also carrying out design, implementation, and testing; Be able to construct UML diagrams (e.g. Sequence Diagram, State Diagram); Conduct an oral presentation and demonstration of a software project developed by a group.Table 1 shows a general outline of course topics. For example, “Writing Requirements” includesFormal/Informal/Semi-Formal techniques, SRS standards and recommended
architecture design. This helps the students learn how requirements, especially non-functional quality requirements, drive architecture design decisions.In a recent Twin Peaks workshop3, participants found that “a major shortcoming was identifiedin that requirements and architectures are often taught independently and in a fashion thatresembles a waterfall process.” Our merged requirements and architecture course addresses thisshortcoming.Another driver of change impacting the merged requirements and architecture course was tomake this course a “writing intensive” course in support of the general education requirements atour university. Given the document and model-centric nature of the course, the requirements andarchitecture course was a natural
make decisions on whether to addsoftware engineering concepts into CS1 and CS2 courses and what software engineeringconcepts to be added to CS1 for improved student preparation and future success in the major. 5. References [1] M. Hertz, “What do “CS1" and “CS2" mean?: Investigating differences in the early courses”, Proceedings of the 41st ACM Technical Symposium on Computer Science Education(SIGCSE10), pp 199-203, New York, NY, USA, 2010. [2] W. K. Chen and B. R. Hall, “Applying software engineering in CS1”, Proceedings of the 18th \ACM Conference on Innovation and Technology in Computer Science Education, pp 297-302, New York, NY, USA 2013 [3] J. L. Gersting, “A software engineering “frosting" on a
% Final Exam 30% Table 1: Grading rubric for CS2.Assignments include 5 programming projects that focus on specific topics from the course.Projects typically consist of students writing code to build a program ranging in size from severalhundred lines of code to over 1,000. A few examples include a game driver for a Euchre cardgame, and a post-fix notation calculator. Students use the C or C++ programming languages tocomplete each project. Students participated in optional partnerships during projects 2 - 5, whileproject 1 was completed alone.Following are the topics of each project: • Project 1, Basic statistics: C++ readiness • Project 2, Lists and Trees: Recursion and Functional Generalization
interact with a projectmanager are important skills in many computing professions. The integration into the computerscience and software engineering curricula of opportunities for students to learn and exercisethese skills, however, could be challenging due to various logistical reasons. The work describedin this paper evaluates a newly established collaboration between an undergraduate softwareengineering course on software project management and an undergraduate computer sciencecourse on software development in terms of student learning and experience. The contributions ofthis work are a methodology for evaluating such collaborations and some lessons learned fromapplying this methodology for one semester.1 IntroductionThe ability to manage
at the Federal Avi- ation Administration, Faculty Fellow at NASA Goddard Flight Research Center, and Software Quality Assurance Manager at Carrier Corporations. He is senior member of IEEE.Ms. Alexandria Spradlin, Embry-Riddle Aeronautical University Alexandria Spradlin is attending ERAU as a graduate student studying software engineering. She is also employed as a research assistant at the Next-Generation ERAU Applied Research Lab. She hopes to continue her education after graduation from Embry-Riddle to earn a PhD in bioinformatics. She also has a keen interest in STEM education, hoping to assist in spreading her passion for mathematics and the sciences to the next generation.Mr. Thomas Rogers Bassa, Embry
and simply telling them what to change. The result is thatstudents can be drilled on UML notation separately from solving open-ended problems. Page 24.1157.3This paper presents evidence that this approach is effective: that using UMLGrader to learn 1 The problem statement is ambiguous with respect to some multiplicities, and these were ignored during grading.diagram notation improves performance on exam questions. In addition, we present data on thetypes of errors made by students. The ultimate question—whether using UMLGrader improvesperformance on more general design problems—is necessarily left as future work
educate next generations ofstudents in Science, Technology, Engineering and Mathematics (STEM) disciplines. It is widelybelieved that STEM focused education contributes to the innovativeness in product developmentand as such has a significant impact on strengthening the economy and making it morecompetitive globally. Respective findings have been published on multiple occasions, by variousbodies, most notably in a report by the National Science Board, which states, among otherthings.1 In the 21st century, scientific and technological innovations have become increasingly important as we face the benefits and challenges of both globalization and a knowledge-based economy. To succeed in this new information-based and highly
of Software Testing Tutorials that describe how to use functionaltesting tools and code coverage tools.9In the study reported in this paper we attempt to answer the following questions: (1) Does theuse of code coverage tools motivate students to improve their test suites during testing? (2) Dothe results generated by the code coverage tools support the subsumes relation between branchcoverage and statement coverage, i.e., does branch coverage subsume statement coverage? (3) Dostudents find WReSTT a useful learning resource for testing techniques and tools? (4) Do studentsfind the features in WReSTT support collaborative learning?To the best of our knowledge, this is one of the few studies that directly address the first twoquestions
course. After the session, the students combine their perspectives from both retrospection and Page 24.1301.2 examination to reflect on how they will perform differently in their next co-op rotation or work assignment.Five UnLecture sessions were designed and executed as a part of the course EECE 3093C–Software Engineering during the Summer 2013 semester. The following is the list of sessionthemes:1. Project Management and Team Work2. Requirements Analysis, Design, and Modeling3. Software Implementation Techniques and Practices4. Testing and Code Maintenance5. Ethics and Technology/Patent WarsIt can be observed that session themes are
, wefound that students not only consider they learned a lot from the labs (where Microsoft toolswere used) but also deem the tools easy to use, relevant to the course (supported the learningof course concepts), and valuable for their professional career. On the other hand, based onthe teacher assessment, Microsoft tools provide support for the application of many differentconcepts studied along the course within an integrated environment, reducing the learningcurve for students, while offering the added value of an industrial-level tool.1. INTRODUCTIONSoftware testing is a critical activity in software engineering, accounting for 30% to 90% ofthe total labor expended in developing software15. Yet software testing remains an under-estimated
theaverage number missing and incorrect test cases drops from 16% to 5.8% when the tool is uti-lized for generating test cases.1. IntroductionSoftware engineering, as an emerging discipline, has been distinguished from computer science.There are 22 ABET [1] and 101 Department of Education's recognized institutes in U.S [2] offer-ing a bachelor degree program in software engineering. In addition to the traditional needs ofpreparing graduates to analyze, design and implement systems, both organizations indicate thatsoftware engineering curriculum must prepare graduates to validate software systems.White-box testing is a critical validation technique commonly used by software testers to exam-ine if their unit code works as expected. White-box testing
humanitarian aspect of HFOSS provides students with themotivation of developing software that will “do good”. The opportunities for learning in such anenvironment range from technical topics to communication to professionalism and more. Thispaper reports on the results of a multi-institution study of student perceptions of learning withinan HFOSS project. The study expands an earlier study1 and involves four different institutionswith courses offered between fall 2013 and fall 2014. Students were involved in projectsincluding GNOME MouseTrap, a project to provide alternative input for users with disabilities,and OpenMRS, an electronic medical record system used extensively in developing countries.Results generally support the outcomes of the early
students’ limited programming experience, students are critical ofSECs and require convincing arguments that the taught SECs are relevant.Our pedagogical approach to address these challenges is (a) to run a lab-centered course and(b) to let students see the “real thing” as often as possible.To (a): Lectures introduce concepts and ideas that can later be experienced in carefullydesigned lab sessions. In the labs, we focus on SECs rather than programming by providingstudents with Java programs to be manipulated with tools. Topics covered include: codecommenting with Javadoc, coding standards with Checkstyle, debugging in Eclipse,automated testing with JUnit, test coverage with Emma, automated GUI testing usingsoftware robots, and extreme programming
Engineering with Cyber-Physical Systems. He recently retired from IBM after a 31-year career. He held a diverse set of leadership positions across product development (both hardware and software), supply chain and manufacturing, sales operations, research, corporate strategy, leading large teams, and talent development. Nick has led and contributed to many critical projects including saving the mainframe business, taking AIX/Power to the #1 UNIX position, establishing Linux servers in the enterprise market, and was on the team that built the first Bladed architecture for the general purpose x86 market. Nick received a Ph.D. in Electrical and Computer Engineering from University of Massachusetts at Amherst, an M.S
% Demonstration Class Participation and Homework 20% Peer Reviews 5% Final exam 20% Total 100% Table 1 Grade point allocation of all assignments toward final gradeIV. Peer AssessmentThis section first discusses the use of assessment in education and software engineering practice ingeneral, then focuses more specifically on the use of assessment to evaluate performance, and finishes bydescribing how this general view was used to develop the peer assessment form used for
computer engineering courses, in general. We present detailed courseware and instructional modalities, including implementationdetails of daily in-class active learning activities, out-of-class assignments, and project resources,along with supporting materials from the literature and student feedback results.1. Introduction Evidence-based instruction or education is generally considered as the utilization of existingevidence from research and literature on education1. While findings from educational researchare critical, appraisal of discipline-specific research is often overlooked or not well-integratedinto instruction. We propose a unique research-to-practice model that combines evidence fromresearch on education as well as the
), agile methods, and open source. He recently spent a year on sabbatical as the Chief Architect in the Sheik Zayed Institute for Pediatric Surgical Innovation at the Children’s National Medical Center in Washington D.C. He has participated in projects like the open source Image-guided Surgical Toolkit (igstk.org) and microrobots for NOTES (minimally-invasive) surgery. In teaching and scholarship, Dr. Gary has created the Software Enterprise, an experiential learning model which blends multiple methods of delivery into one pedagogical model. The Software Enterprise has received significant support and generated several publications, and forms the core project spine within the BS in Software Engineering at ASU. Dr. Gary
graduation [1]. Under this context students are expected to graduate withcertain skills in addition to the technical skills that are part of all Engineering curriculum [2].ABET (Accreditation Board for Engineering and Technology) stresses the importance of the skill"professionals" and the skills of "conscience" in addition to the development of technical skills toachieve excellence in the training of engineers [2]. In response to these needs there are manyexperiences related to the teaching of these skills. One of the most comprehensive studies islocated in the Shuman work [3]. Williams presents a systematic review of the literature on theexperiences of the teaching of these skills [1]. Other more specific work related to the ability tocommunicate
in the US is growing. In 2007, therewere almost 2,000 students enrolled in software engineering programs and approximately 625bachelor’s degrees were awarded.Concomitantly, bachelor degree programs in Information Technology (IT) and InformationSciences (IS) are expanding more rapidly. The graduates of these programs will be an increasingproportion of the technical, professional labor force. Their backgrounds will be different fromthose hired with degrees in either computer science or engineering. They will seek out differentcontinuing professional development opportunities and aspire to different target positions. Theincreasing popularity of accredited IT, IS and SE programs is reflected in the data of Figure 1.Many influences affect the
communication abilities necessary to ensure their success in theworkforce.1, 2 Employers typically place effective communication at the top of the qualitiesthey seek in new engineers.3, 4, 5, 6 To prepare their students to communicate effectively intheir careers, engineering programs may require a technical writing course taught by anotherdepartment and, in some cases, one or two communication-intensive courses in theirprograms. Nevertheless, new college graduates encounter significant difficulty adjusting toworkplace communication practices,7, 8, 9 and employers invest substantial sums inmentoring, providing in-house training, or subscribing to external programs to teach newemployees the communication skills that are basic in their workplace.10 While
age.The camps took place over three days with each session lasting three hours. We administered asurvey in 2011 created by Adams [16], who has run similar summer camps. We administered thispre and post survey to 38 students. In the pre-survey questionnaire we asked students: “Have youever written a computer program”; the results are shown in Table I. Answer Score Percentage Yes 4 10.5% No 24 63.2% Don’t know 10 26.3% Table 1. Have you ever written a computer program? These results demonstrate that there are a
constitutes cooperative learning, it generally incorporates theseelements2,3: 1. Positive interdependence: Team members rely on each other to achieve the common goal. 2. Face-to-face interaction: Team members do most of the work together. They provide assistance, encouragement and feedback to the other team members. 3. Individual accountability and personal responsibility: Each team member is responsible for doing his/her share of the work, and is expected to master all necessary material. 4. Interpersonal and small-group skills: Team members use effective communication and conflict-management skills. 5. Group processing: Team members set common goals, reflect on team accomplishments and make adjustments as
the rubric used to provide plain-text reviews for atechnical article edited on the Web. As can be seen from Tables 1 and 2, the questions focusmore on how the project was implemented than the specific functionalities of the project. Table3, on the other hand, focuses on content (what) of the technical article. Although one question inthis rubric seeks information on the page’s organization (how), the responses are likely tocontain references to specific content in the article itself. Table 1: This rubric assesses the quality of the code based on its implementation, comments provided and ease of understanding. 1 Has this team avoided