not a single definition ofsustainability suited to all engineering disciplines. However, the main elements of asustainability model are general enough to be applied to most engineering disciplines.In this paper, sustainability is addressed as a software engineering design concern that involvessustainability principles and multiple dimensions at different moments in time. The presentedexperience is aimed as a guide for teaching and assessing sustainability during a softwareengineering capstone design. It is based on the Karlskrona Manifesto for sustainability design,involving societal, individual, environmental, economic, technical dimensions, and considering,short, medium and long-term effects of engineering solutions. A sustainability matrix
Sprint Topics 1-3 Tools Agile, Requirements, UIs 4-5 Prototype Testing 6-7 Alpha/MVP Technologies 9-10 Beta/Feature refinement 11-12 Deploy Deployment, QA 13-15 QA/Maintenance QAThe sprint planning meeting uses class time, students must take features assigned by theinstructor and features that were self-generated and create the implementable tasks in the form ofuser stories or use cases which do include acceptance criteria. We require students to use Trello(www.trello.com) to track task progress
). ACM, New York, NY, USA, 268–272.DOI:http://dx.doi.org/10.1145/1999747.1999823[8] Therese Mary Smith, Robert McCartney, Swapna S. Gokhale, and Lisa C. Kaczmarczyk.Selecting Open Source Software Projects to Teach Software Engineering. Proceedings, 45thACM Technical Symposium on Computer Science Education (SIGCSE ’14). ACM, New York,NY, USA, 397–402. DOI: http://dx.doi.org/10.1145/2538862.2538932[9] CRA Enrollment Committee Institutional Subgroup. Generation CS: Computer ScienceUndergraduate Enrollments Surge Since 2006. (Mar 2017). http://cra.org/data/generation-cs/[10] Heather K. Tillberg and J. McGrath Cohoon. Attaching Women to the CS Major. Frontiers:A Journal of Women Studies 26, 1 (2005), 126–140.[11] Ioanna Vekiri. Information Science
fromthe course. The students were asked to choose from a list of selected skills the ones theythought they developed the most in the course and the ones they developed the least.Likewise, they were asked to rate the course learning outcomes from 1 to 7 according to howthey perceived their own achievement. Finally, the last part focused on making studentsreflect on the general experience of the course, the usefulness of the methodology used, thecontents worked on (specifically HCI), and their perception of the contribution that thiscourse had on their job readiness.Different actions were carried out to ensure the validity of our qualitative study. Theinterviews were conducted by researchers without the participation of the course instructor.The
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
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
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
teaching methodologies that could bring real-world issues into engineering classrooms6.The results of their research led to recommendations to engineering educators on the importanceof developing interdisciplinary technical case studies that facilitate the communication ofengineering innovations to students in the classroom.Active learning helps students learn by increasing their involvement in the process7. Activelearning techniques help students to better understand the topics covered in the curriculum8.Active learning helps students to be more excited about the study of engineering than traditionalinstruction1. The group work that often accompanies active learning instruction helps studentsdevelop their soft skills and makes students more
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
answer questions and longer case study questionswhich result in the generation of one or more project artifacts. For all three exams, we allow thestudents to bring one 8.5" x 11" information sheet with whatever information is desired. Theshort answer questions are designed to go beyond memorization and recall. The following is anexample of a question asking about the sprint planning process. 1. (5 points) What is the purpose of the sprint planning meeting? How does a team select the user stories to develop in the next sprint? Why might a team skip a story for a sprint?The longer case study questions are based on a description of a small software system. Aquestion may require the student to
Science Education, pp. 171-176. 2017.26. Saarinen, Sam, Shriram Krishnamurthi, Kathi Fisler, and Preston Tunnell Wilson. "Harnessing the Wisdom of the Classes: Classsourcing and Machine Learning for Assessment Instrument Generation." In Proceedings of the 50th ACM Technical Symposium on Computer Science Education, pp. 606-612. 2019.
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
failure rates in the university so that a higherpercentage of students continue to the next course in the sequence, stay within the college, andultimately graduate on time.Changes to the traditional course format included incorporating 10-20 short, pencil-and-paperpartnered active learning activities into each lecture, as well as adding an hour-long session ofshort, instructor-guided hands-on programming exercises in a lab environment.The results after the first semester showed that students in the experimental sections of thecourse performed an average of 2.6% higher on assignments, labs, and exams than the generalpopulation of students, and students in the pilot sections received final grades that were onaverage 3.6% higher than the general
requirements for a hypothetical ATM system based on user(150 mins) stories and formal use cases provided to the students. Students are introduced to both CRC (class-responsibility-collaborator) cards and UML as requirements modeling tools. ALT: Perform a Part 1 Requirements Grammatical In the first session teams of 4 persons: Management Parse Perform a grammatical parse of the user stories to create CRC cards. Distribute the CRC cards to 3 team members and pass a token to card holders while each user story is read to review
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
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
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
reflections written by four students working on the same web application. Three themeswith four subthemes emerged from the data 1) how students perceived learning a) technical and b) professional skills, 2) how students perceived they were accomplishing project goals, and 3) the perceived relationship they had with the community partner a) the impact of their project and b) the impact of the community on themselves.This section will focus on unpacking each theme with supported quoted evidence from thereflections.Theme 1: Learning The first theme that emerged involved the perceived knowledge the students were acquiring.The knowledge ranged from technical software skills they learned in order to contribute
project.4.5 Project Assignments and AssessmentThe first five course project assignments are focused on technical tasks to prepare teams for thecode maintenance during the subsequent Scrum cycles. (Table 1 shows the purpose of eachcourse project assignment.) The assignments consist of a task description, deliverables, technicaland communication skills learning objectives, and technical and communication skills rubrics.For each of the first five assignments teams submit a written report and give a short presentationthat summarizes key results from the written report. Each assignment is distributed on Mondaywith a discussion of the learning objectives and rubrics. Two or three examples of gradedstudent work from prior course iterations provides
everything that the students need to participate in the class discussion. This handout explains the scenes, the objectives of the exercise, step-by-step what the student should do and a set of sample question for Scene 1. c. Discussion Questions: For each video, suggested discussion questions for each scene is available as a power point slides. Instructors are welcome to modify these questions or use their own questions. d. Assessment Instrument: The assessment instrument is a simple survey primarily for indirect assessment of student learning outcome, and also for student feedback. This is a survey that assesses students on communication and content knowledge. It is designed for generic use in every
, 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
as new evidence-based approaches toteaching become more widespread in the STEM community. Although many of these techniqueshave been gaining traction in most STEM disciplines [1, 2], the rate of adoption in the areas ofComputer Science (CS), Information Technology (IT), and Software Engineering (SE) is less thanexpected [3]. The increasing number of students entering undergraduate programs in CS/IT/SE[4] requires that the introduction of these evidence-based approaches be adopted at a faster rate.This is particularly true for students entering SE programs given that the effective developmentof software applications requires the use of a wide range of skills, including both technical andnon-technical skills [5, 6]. The technical skills needed
helps ensure that software behavesaccording to its requirements. We will discuss testing practices used in software engineering andhow they relate to teaching software testing. We then introduce the theoretical and conceptualframeworks that form the foundation for our study.2.1 Software TestingTesting is a critical part of software development. By some estimates, 41% of informationtechnology budgets in North America are spent on quality assurance and testing. 1 Softwaretesting helps ensure the correctness of the software being developed, and there are several testsuite quality metrics used in industry to ensure that a test suite properly verifies the behavior ofthe software it tests.One widely-used test suite quality metric is code coverage
sessions was a safe and convenient method forimplementing TPS in a hybrid format while cooperating with recommended health practices.IV. RESULTS In this section, we provide quantitative evidence to the efficacy of the HyFlex educationalparadigm for SQA instruction. Due to difference in sample size we elected to perform comparativeanalysis between years 2015-2020. A. Semester Grade Comparison and Analysis We compared student scores in homework, project, exams as well as the final grades spanningacross all semesters from year 2015 to year 2020. Figure 1 shows an overview, but excludes projectscores from 2015 since the project was graded on a pass/fail basis (rather than with a graded score)in that semester. As can be seen, homework and
source projects and projects thataid the university in furthering its mission.References[1] The Joint Task Force on Computing Curricula. Curriculum guidelines for undergraduate degree programs in software engineering. Technical report, New York, NY, USA, 2004.[2] Michelle Craig, Ted Kirkpatrick, Shealen Clare, and Amgine Saewyc. Undergraduate capstone open-source projects. In Proceedings of the Seventeenth Western Canadian Conference on Computing Education, WCCCE ’12, pages 57–58, New York, NY, USA, 2012. ACM. ISBN 978-1-4503-1407-7. doi: 10.1145/2247569.2247589. URL http://doi.acm.org/10.1145/2247569.2247589.[3] Kwok-Bun Yue, Zahabia Damania, Raunaq Nilekani, and Krishani Abeysekera. The use of free and open source software in
for learning among students in an undergraduate management degree program", Revista de Gestão, Vol. 25, No. 2, 2018, pp. 160-177.17. James N. Warnock & M. Jean Mohammadi-Aragh (2016) Case study: use of problem-based learning to develop students' technical and professional skills, European Journal of Engineering Education, Vol. 41, No, 2, 2016, pp.142-153,18. Dunlap, J. (2005) “Problem-based learning and self-efficacy: How a capstone course prepares students for a profession.” Education Technology Research and Development Vol. 53, No.1, 2005, pp. 65–83.19. Urbanic, R. (2011) “Developing design and management skills for senior industrial engineering students.” Journal of Learning Design, Vol. 4, No. 3, 2011
cross-section of languages and tools. The team size varied because the teamswere formed in a previous semester, and the capstone project is completed over two semesters (falland spring). It should be noted that the group project implementation was interleaved with testingin CEN4072 as shown in Figure 1. The group project percentage weight in the overall grade was10% and 40% in 2017 and 2019, respectively. In 2017, the relatively small weighting was usedsince this was the first year the capstone projects were being integrated into the software testingcourse. There were many unknowns about how successful this integration would be.Every project consisted of four general deliverables that each team was expected to submit atdifferent points during
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
and Session Beans) to thepost-rewrite Module 4. These modules serve a similar purpose of creating Java classes thatmodel database tables and functions. M6 Detail Before Rewrite (Assignments) M4 Detail After Rewrite (Assignments) Entity Classes and Session Beans DAO Pattern 1. Recording: Entity classes and Session Beans 1. Recordings: [instructor created video and slides] (1) Simple Affable Bean: Overview 2. Read: EJB in Action, 2nd ed., Chapter 1: What’s (2) EJBs and the DAO Pattern what in EJB3 (3) DAO find methods 3. Web: NetBeans E-Commerce Tutorial: Entity [all above are instructor created videos and
Paper ID #33764Reverse Software Engineering as a Project-Based Learning ToolMs. Cynthia C. Fry, Baylor University CYNTHIA C. FRY is currently a Senior Lecturer of Computer Science at Baylor University. She worked at NASA’s Marshall Space Flight Center as a Senior Project Engineer, a Crew Training Manager, and the Science Operations Director for STS-46. She was an Engineering Duty Officer in the U.S. Navy (IRR), and worked with the Naval Maritime Intelligence Center as a Scientific/Technical Intelligence Analyst. She was the owner and chief systems engineer for Systems Engineering Services (SES), a computer systems design