widespread in industry, however it is not widespread incomputer science education. According to a corporate survey, the 13th Annual State of AgileReport[1], “97% of respondents report their organizations practices agile development methods.”This development process is a missing skill set for most computer science undergraduatesentering industry. Given the nature and scope of most coursework, undergraduate computerscience students naturally learn to develop using a waterfall design process which is an antithesisto agile software development processes. Studies have shown that active learning promoteslearning[2], so this work integrates active techniques to completely focus the course on thereal-world engineering process using agile methods. Ultimately
timeapplying software engineering practices in Zoom breakout meetings. Asynchronous studentscompleted the course materials on their own after viewing video lectures. Both groups ofstudents answered online survey questions about their perceptions of the effectiveness of thecourse activities and their personal levels of engagement with the course materials. Their levelsof engagement were monitored during the semester.Course DescriptionA junior level software engineering course, CIS 375 (Software Engineering 1), offered by theComputer and Information Science (CIS) department is organized as a 14 week, four credit-hourcourse. This is a required course taken by all computing majors in the CIS department whichincludes: Computer Science (CIS), Software
and setting. In that customization, three factors were identified for consideration whenadapting the collaboration framework: the existence of a course structure to support suchcollaboration, the ratio between the students in the two courses, and the ability to schedule regularinteractions between these students.1 IntroductionSoftware project management (SPM) is a key knowledge area in the Software Engineering Bodyof Knowledge [1] and for project managers, in general, in the Software Extension to the ProjectManagement Body of Knowledge [2]. However, teaching key SPM skills such as projectinitiation, scope definition, planning, estimation, measurement, and control is challengingbecause practicing them requires management of non-trivial
discuss the tutorial’s key design principles and affirm their efficacy based on theobserved learning experiences. The obtained insights can inform curricular interventions that in-troduce introductory students to code quality and its disciplined improvement practices.1 IntroductionThe CS Education research literature has established the importance of teaching software qualityas part of the CS curriculum 1,2,3,4 . However, it remains subject to considerable debate whether thetopic of software quality is appropriate for introductory learners. Some computing educators arguethat promoting disciplined programming practices is incongruent with the guiding principles ofConstructivism, the educational philosophy centered around unconstrained
RIT is required for most incoming freshmen each year.Students that fail to successfully complete the first course in the introductory sequence (i.e.withdraw or receive a grade of D or lower) are at risk for late graduation, and a high percentageof such students end up leaving the college or university. During the Fall 2018 semester, anexperiment was conducted involving 4 of the 13 sections of the course (34% of the enrolledstudents). For this experimental group, active learning was incorporated into what wastraditionally a passive learning lecture approach. Active learning was chosen based on its successin increasing outcomes for students in STEM fields [1]. The goal of the experiment was toreduce what has historically been one of the highest
results examine several factors influencing the success of a partnership, including differencein cumulative grade point average (GPA), gender balance, and work habits like starting projectsearly. After controlling for GPA, we observed an association between starting projects early andincreased performance on both exams and projects. The impact was greatest among those in thelowest GPA quartile, where an early start made the difference between an average final lettergrade of C+ (lowest early-start quartile) and B- (highest early-start quartile).1 Introduction and Related WorkAn important goal of group work in education is to increase student learning of course material.In computer science courses, group work often takes the form of pair
principles. The results of implementing thepedagogical tools and a discussion of these results are presented in Section 6. Finally, Section 7concludes the paper and discusses future work.2. Related WorkProject-based courses in software engineering and development have been reported in theliterature. Early papers by Northrup [15] and Adams [1] describe courses where projects givestudents hands-on experience with programming in-the-large and with the software developmentlife-cycle. Both use the waterfall methodology where change to the documented configuration iscontrolled by a control board. In both papers, the course instructor serves as project manager;however, the manager reported by Adams [1] also serves on the Configuration Control Boardand the
highly valuedby the students. They all recognized it as a benefit for the software development process. Itwas also noticed that the activities proposed were good triggers for the self-regulated learningof the expected course content, both SE and HCI. The authors are interested in receivingfeedback about the continuity of this work, particularly in the understanding of how thecontent of HCI interacts with a proposal based on project-based learning (PBL).1. IntroductionCurrently, universities are being asked to train professionals, who are capable of acting in achanging world with new emerging problems. A scenario of these characteristics requires atype of training, in which creative and innovative processes, teamwork skills, tolerance tofailure
was usedas a tool for analyzing and comparing different software systems designs. Based on theconducted experience, undergraduate students faced a challenge for identifying the impacts ofsoftware systems beyond a short-term time window, while graduate students were better able toidentify potential impacts beyond first-order – short term time horizons. Learned lessons areshared for the sake of repeatability.Tags: sustainability, Karlskrona Manifesto, Software Engineering, capstone design.Introduction and paper goalAt 1987, The Brundtland Commission Report [1] defined sustainable development as meetingthe needs of the present without compromising the ability of future generations to meet their ownneeds. The 1992 United Nations Conference on
onlycourse-related resources in a dedicated web space, but also the use of tools such as discussingboard to communicate with the instructor and other students outside of class instruction time. Incourses where collaborative learning is essential, the communication among team members alsoplays an important role in student engagement and learning.To promote better communication in class instruction in computer science and computerengineering disciplines, three aspects are especially desirable: (1) Prompt communication. Forexample, in a class exercise, if a student comes up with a good solution for codingimplementation, it is desired that the student can share the example with the instructor and otherstudents in a simple and quick way. (2) Group
curricula where there is time to address the breadth of the softwareengineering body of knowledge. The Software Engineering 2014 Curriculum Guidelines [1] listsnine top-level knowledge areas for software engineering programs with a minimum of 467"lecture" hours of material. For the majority of students who are in computer science, computerengineering, or other computing programs, they will receive their software engineering educationin a single course, Introduction to Software Engineering, which is expected to cover softwareengineering as a topic. Some of the topics in the software engineering Knowledge Areas may becovered by other courses in the non-software engineering student's program, but if you look atfor example, the Computer Science 2013
and 2 Years Industry Experience. He has done ME in Computer Engineering. He has 2 years industry experience in Software Testing. He has done ISTQB-FL and Agile certifications.He is authour of 2 books, published by International Publication. c American Society for Engineering Education, 2018 Analyzing unpopularity of software testing careers in Canadian universityIntroduction As software systems are becoming more pervasive, they are also becoming susceptible tofailures, resulting in potentially lethal combinations. There have been catastrophic failures such asAriane 5[1], Therac-25[2], and the UK e-borders project[3], which led to the loss of life and capital.Many similar incidents are happening all
incorporate SPL engineering. Wefound that our approach improved student application of reusability theory, benefitteddocumentation quality, increased student satisfaction with the course, and increased the percentageof code written reused by students from semester to semester.1. IntroductionA Software Product Line (SPL) is a set of software systems that share common assets and are easyto deploy and configure for new environments [6]. There are many approaches that can be used tocreate an SPL including model-driven development, modularization refactoring, the use of SPLdesign patterns, reuse design, and others, but few software engineering classes have time to teachor apply these concepts. Many of the strategies within SPL engineering reinforce good
hold a book or turnpages. Other users may be any individual who is unable to read conventional printed materialsbecause of blindness, low-vision, or a literacy issue. The project needs to provide an easy-to-access interface for users to input their data such as access to service, service type,demographics, and customer satisfaction. Moreover, the project should deliver Webfunctionalities that allow ACPL to store, retrieve, and analyze users’ data (e.g., users’ profile andother survey data) through Web browsers and mobile devices. The designed Web application isexpected to help ACPL better serve users with disabilities.The system architecture of our designed Web application is illustrated in Figure 1. A user or anorganization can apply for the
will require both time andresources and lean towards hiring experienced professionals to reduce both cost and time. In areport from Training magazine report in 2007, training turns out to be one of the costliestinvestments a company can make as companies spent an average of over $1,200 annually peremployee for 32 hours of training per year (in 2005) [1]. For some companies, especially thosenoted for their high turnover clearly training cannot be justified as training an employee at$1,500 per year of training can be a major expense if the company’s profit per employee is lessthan $1,500 [2]. To reduce costs Spark, (2018) suggests recruiting only the most skilledemployees, retaining them for as long as possible and using performance reviews to
the pedagogy, there are many examples of successful programs inengineering [1-5] and computing [6]. The pedagogy has been integrated into many disciplinesand has shown to enhance learning, motivation, retention and diversity and in particular withinengineering and computing education [7-13]. In the U.S., students have initiated numerouschapters of Engineers Without Borders U.S.A. (200+), Engineers for a Sustainable World (30+),and Engineering World Health (20+). One of the newest and fastest growing divisions of theAmerican Society for Engineering Education (ASEE) is the Community Engagement Division.EPICS in IEEE is a signature program of the IEEE Foundation. The U.S. National Academy ofEngineering included community-based programs in their
background.1. IntroductionThe Grace Hopper Celebration of Women in Computing was founded in 1994 and is the world’slargest technical conference for women in computing. More than 15,000 people from 87countries attended the 2016 conference with an even greater number attending in 2017 [5]. Manystudents attend the conference to network, learn and find community, and a large number oftechnical companies attend to learn how to build inclusive cultures as well as to recruit technicaltalent.Since 2010, the Hopper conference has hosted an Open Source Day [6]. Originally titled "OpenSource Code-a-thon for Humanity", the day provides women of varying skill levels with a day-long experience in contributing to humanitarian free and open source software (HFOSS
of IT or the technical side. All students taking thecourse are required to have a basic introduction to Java. The course is completely online, andstudent-teacher interaction comes primarily from Q&A discussion boards (Piazza) and one liveQ&A session per week (WebEx). The course revolves around a semester-long project in whichstudents develop a mini e-commerce web application complete with the design andimplementation of the web interface, the database, and the application business logic.In this paper, we talk about how the course evolved when the developer joined the educator toteach the course. We focus on six important facets of the experience: (1) the initial conditionsthat allowed the collaboration to be successful, (2) the
course of the semester. The code posted is analyzedfor a variety of quality markers such as variable names, commenting, syntax errors, logic errors,correctness, and handling of edge cases. The responses are analyzed for effective errorcorrections, alternative solutions provided, formatting changes recommended, etc. There is alsoan analysis of student expressions. Finally, and perhaps most interesting of all is how thesedetails change over the course of the semester. I. IntroductionImposter syndrome has long been acknowledged within the Computer Science (CS) educationalcommunity with several studies reporting over 50% of CS oriented individuals exhibitingimposter syndrome [1]. Weber State University is an open-enrollment university. Students
further improvement possibilities for the course are identified from thisstudent feedback, especially regarding the response of the more hardware oriented electricalengineering students to software engineering topics.1 IntroductionThis paper is an experience report on a senior capstone course in which basic softwareengineering principles are introduced to electrical and computer engineering students who havehad no prior exposure. Our intention is to describe a model for the incorporation of introductorysoftware engineering concepts using both classic and newer materials, with a strong emphasis onproject based application of the concepts in the senior capstone design.In this paper, we report on the evolution and evaluation of our school’s senior
others to join theirteam, and having the invitees then accept the invitation. Another project added a tabbed view forassignment creation. A third provided an anonymized view so that we can use live data in demoswithout revealing any student names. Four of these projects have led to conference papers co-authored by independent-study students [1–4] and five to workshop papers [5–9].The first masters thesis added features to support peer-reviewing student contributions to a wikitextbook [10]. This involved sequencing review of chapters so that prerequisite chapters wouldbe written and reviewed before chapters that depended on them. The first Ph.D. dissertation [11]involved the use of natural-language processing to evaluate features of reviews [12
. American c Society for Engineering Education, 2021 Reverse Engineering as a Project-Based Learning ToolAbstractAlthough the concept of reverse software engineering is used in many fields, in the context ofsoftware engineering and security, it has come to include fields such as binary code patching,malware analysis, debugging, legacy compatibility, and network protocols analysis, to name afew.[1] Despite its broad use in software engineering, however, there is little work in computerscience education that considers how reverse engineering can be taught effectively.[2] This maybe a result of the compressed timetable of a four-year college education in computer science,where the need for the courses
technology over the past decade, the ever-changing need oflearners in the 21st century and rapid response to challenges such as COVID-19, instructors areincorporating the innovative teaching strategies that facilitates a more safe and effective learningenvironment for students. Instructors have been using HyFlex teaching model and a variety ofresults have been recorded [1, 6, 7, 8, 9]. In a study conducted by Binnewies et al., two instructors designed and delivered a second-yearundergraduate information technology course across two campuses using Hyflex teaching model.The model involved students having the option to complete any learning activity and assessmentonline or F2F. The learning activities and assessment were organized in four different
the software testing courseearlier in the curriculum and implementing a peer-evaluation process for the group projects. Theserecommendations are consistent with other experience reports described in the literature.1 IntroductionThe ubiquity of software continues to grow as more systems are becoming software-dependent.These systems include small devices for IoT components to large systems that run video streamingapplications [1]. The increased ubiquity of software has resulted in the need for more softwareengineers to service all aspects of the software development life cycle, including maintaining soft-ware quality. It is estimated that the poor quality of software for 2018 has resulted in a loss ofmore than $2.26 trillion to the US economy
knowledge was broughtinto and out of a hackathon and did not address the process in which students worked on projects(La Place et al., 2017).MethodsTo extend the previous knowledge transfer work and software development work, we offer thefollowing research questions: 1. What technical knowledge do students use in capstones and hackathons? 2. Where do students learn the knowledge used in capstones and hackathons? 3. How does the software development process used by students differ between capstone and hackathon projects?This is a qualitative pilot study meant to fuel future research on knowledge transfer betweenhackathons and academic experiences. The nature of hackathons often results in participantsdesigning and developing a project
, gaining significant traction in the K-12 system is standards-based grading. With standards-based grading, grading is based upon “measuring students’proficiency on well-defined course objectives.” [1] Instead of arbitrary grading scales, studentsare assessed multiple times regarding their performance on course outcomes. By doing this,there is an increase in student engagement and a more thorough comprehension of coursematerials. [2] Standards Based grading focuses on the specific, relevant skills a student shouldlearn and helps instructors to assess how well students are learning and tailor their teaching tomeet areas of concern. [3] By measuring these goals, students continue to learn. By usingrubrics to articulate these goals, students can use
the course materials. Their levelsof engagement were monitored during the semester.Course DescriptionA junior level software engineering course, CIS 375 (Software Engineering 1), offered by theComputer and Information Science (CIS) department is organized as a 14 week, four credit-hourcourse. This is a required course taken by all computing majors in the CIS department whichincludes: Computer Science (CIS), Software Engineering (SE), Data Science (DS), andCybersecurity and Information Assurance (CIA). Pre-Covid19, this course was typically offeredusing a synchronous, face-to-face format with the live lectures being recorded for streaming on-demand by students taking the same course asynchronously. The ABET student outcomes forCIS 375 appear
Validation activities, ranging from the failure of the Healthcare.gov website [1]to the problems of unintended acceleration in Toyota vehicles [2] to the Heartbleed securityvulnerability [3] to a ten-hour outage of the electronic medical records system at QueenElizabeth Hospital [4].The need for software engineers to be trained in the field of testing is well documented.Lethbridge [5] indicates that software testing and quality assurance is one of the more importanttopics for universities to include in their curriculum. However, his work also notes that this isone area in which on the job training often occurs because students are not taught adequatetesting skills. In general, there is a shortage of trained practitioners who understand
senior year can improve software engineering education at theundergraduate level. We believe this will also increase the pool of new professionals withpractical software engineering knowledge and skills.The materials created for these courses were developed using a variation of the ADDIE (analyze,design, development, implementation, evaluation) process model.1 When new materials werecreated the team attempted to determine the best mix of case-study review, role-play, and hands-on exercises involving work with software engineering artifacts or tools, and trigger videos tofacilitate coverage of the topics. Many of the activities implemented in these courses have beenused successfully with several groups of students. Their evolution benefited from
inherently collaborative. We leveraged this collaborativenature to design and execute the instructor interventions. The results comparing the top risksbetween the two semesters show the effectiveness of the instructor interventions and suggestways to further improve risk management in students’ agile software development teams.1. IntroductionIt is common for a software project to face many risks in its lifecycle, from conception andconstruction to deployment and maintenance. Risk is any potential situation or event thatnegatively affects the project’s success. While the ultimate success of software often hinges onthe fulfillment of the stakeholders’ requirements, the project failure can be multi-faceted:frequent rework, architectural mismatch