experience.Recent educational computing conference proceedings have included descriptions of capstonecourses where students implement computer games as a means of demonstrating their ability toapply their knowledge of computer science principles.3, 6, 9, 10 Professors have argued that gameapplications provide fun and realistic projects that can help to motivate students to achieve betterperformance on software engineering class projects.1, 2, 4, 6, 11 Studying game development canprepare students for entry into the game programming industry and high performance applicationareas.10, 16Students just learning software engineering principles and practices find it difficult to apply themin the development of complex software projects. It is important to do more
AC 2011-1932: THE PROGRAMMING PERFORMANCE PROPHECIES:PREDICTING STUDENT ACHIEVEMENT IN A FIRST-YEAR INTRO-DUCTORY PROGRAMMING COURSEJeff Ringenberg, University of Michigan Jeff Ringenberg is a Lecturer at the University of Michigan’s College of Engineering. His research inter- ests include mobile learning software development, tactile programming, methods for bringing technology into the classroom, and studying the effects of social networking and collaboration on learning. He holds BSE, MSE, and PhD degrees in Computer Engineering from the University of Michigan.Marcial Lapp, University of Michigan Marcial Lapp is a graduate student in the Industrial and Operations Engineering Department at the Uni- versity of
Paper ID #13887Are automated assessment tools helpful in programming courses?Mr. Raymond Scott Pettit, Abilene Christian University Raymond S. Pettit teaches courses in programming, artificial intelligence, objected oriented design, al- gorithms, theory of computation, and related subjects in ACU’s School of Information Technology and Computing. Prior to joining the ACU faculty, he spent twenty years in software development, research, and training the Air Force Research Lab and NASA’s Langley Research Center as well as private indus- try. His current research focuses on how automated assessment tools interact with student
for suchcourses is that related topics are typically perceived by students especially at the undergraduatelevel as uninteresting and irrelevant, while it is difficult to bring the “real-world” experience tothe classroom.This paper summarizes the author’s experiences in developing and teaching for the first time aSoftware Specifications course to the newly established Software Engineering (SE) degreeprogram at Florida Gulf Coast University (FGCU) in Spring 2014. The SE program belongs inan Engineering College which emphasizes undergraduate education (there is no graduate degreeoffered). The Software Specifications course is a required course for all SE students at FGCU. Itincludes topics such as Eliciting, Writing, and Testing Requirements
2006-1213: QUANTITATIVE ANALYSIS OF PROGRAMS: COMPARINGOPEN-SOURCE SOFTWARE WITH STUDENT PROJECTSEvan Zelkowitz, Purdue UniversityMark C Johnson, Purdue UniversityYung-hsiang Lu, Purdue University Page 11.1057.1© American Society for Engineering Education, 2006 Quantitative Analysis of Programs: Comparing Open-Source Software with Student ProjectsAbstractThe lack of quantitative measures is a common problem in a programming course. Eventhough most students understand the importance of comments and good program structures,there is no quantitative “rule of thumb” to guide students in determining whether theirprograms have sufficient comments or are well-structured
. Her work related to software engineering is concerned with patterns in hardware/software codesign. Dr. Conry has been designated Fellow of the IEEE, CSAB Fellow, and ABET Fellow. She was also recipient of the 2005 EAB Award for Meritorious Achievement Award in Accreditation Activities. Page 22.1308.1 c American Society for Engineering Education, 2011 Software Engineering, Computer Engineering, Computer Science Sibling Disciplines with Diverse CulturesAbstractEvery program of study has an institutional context. This institutional context influences itscontent, its
research interests are in Computer Science pedagogy. He is an experienced student instructor. c American Society for Engineering Education, 2016 Long Term Effects of Partner Programming in an Introductory Computer Science Sequence Andrew Giugliano and Andrew DeOrio agiuglia@umich.edu, awdeorio@umich.edu Department of Electrical Engineering and Computer Science University of MichiganAbstractComputer scientists often work in teams on complex software projects, and their education oftenincludes group work or pair programming. In the literature, group work and pair programminghave been
biomedical systems, power systems, MEMS, fuel cell, cargo ship steering, chemical processes, and other real industrial problems. Page 26.42.1 c American Society for Engineering Education, 2015 A Force-Directed Program Graph Visualizer for Teaching White-Box TestingAbstractWhite-box testing is a critical validation technique commonly used to examine if a unit under thetest works as expected. However, students taking software testing related courses often find thatstudying and practicing white-box testing technique is tedious and error prone, e.g
- damentals of Object Databases: Object-Oriented and Object-Relational Design (Morgan Claypool, 2011). She currently serves in the Editorial Board of the Journal of Data Semantics and has previously served on the Editorial Boards of the IEEE Transactions on Knowledge and Data Engineering and the Journal of Computing and Information Science in Engineering. In addition, she has served as the Co-editor of special issues in the Integrated Computer-Aided Engineering Journal, Computing Systems Journal, IEEE Transactions on Knowledge and Data Engineering, Theory and Practice of Object Systems, and the Jour- nal of Computing and Information Science and Engineering. She has also served on the organizing and program committees of
better lab reports. He is currently working on projects related to teaching science in elementary schools.Gerald C. Gannod, Miami University GERALD C. GANNOD is an associate professor in the Department of Computer Science and Software Engineering and Director of the Mobile Learning Center at Miami University in Oxford, Ohio. He re- ceived the MS(’94) and PhD(’98) degrees in Computer Science from Michigan State University. His research interests include service-oriented computing, software product lines, mobile learning, software reverse engineering, formal methods for software development, software architecture, and software for embedded systems. He is a recipient of a 2002 NSF CAREER Award.Mladen A Vouk, North
aim of the current paper is twofold; we provide an update on the new DigitalHomecase study material developed in the last two years as part of a National Science Foundationgrant. In addition, we highlight our experiences in using the case study material in differentsoftware engineering courses at our institution. We also discuss the future goals, both short andlong term, of the case study project and the anticipated improvements and new artifacts.2. The DigitalHome Case StudyThe Case Study Project focuses on developing a complete set of artifacts associated withsoftware development (e.g., Requirements Document, System Test Plan, …) as well as casemodules (a “mini-case studies”). These artifacts and case modules are related by being part ofand
AC 2011-322: REUSE A ”SOFTWARE REUSE” COURSENan Niu, Mississippi State University Nan Niu is an Assistant Professor of Computer Science and Engineering at Mississippi State University. He received his Ph.D. in Computer Science in 2009 from the University of Toronto, where he specialized in requirements engineering for software product lines. His research interests include software reuse, requirements engineering, program comprehension, and software engineering education. He is a member of IEEE, IEEE Computer Society, and ASEE.Dr. Donna Reese, Mississippi State University Donna Reese is a professor and interim head of the Department of Computer Science & Engineering at Mississippi State University. She has
Engineering 0 Programming Fundamentals Complex Software System Systems Development III. Cyber-Physical Systems (CPS) and the Internet of Things (IOT)CPS and IOT are defined slightly differently by different sources, as well as the relationshipbetween them. CPS and IOT are obviously related; some call them equivalent, some believeIOT to be a subset of CPS (in which the network or communications portion is the Internet), andsome advocate that IOT is the underlying, enabling technology upon which CPSs areimplemented. The last view is the one we have adopted, although including non
available tools is encouraging, but focused work onproviding more polished tools would be a benefit to software engineering educators.Integration of Related Program OutcomesSince most undergraduate students do not have enough experience with large-scale softwarefailures to appreciate the potential value of better software specification and validation, theMSOE formal methods course has from the beginning required that each student write a researchpaper on an example of a software failure that caused significant harm (e.g., personal injury orfinancial loss), where it appears that inadequate specification or verification played a role in thefailure.In addition to raising student awareness of the risks related to software system failures, thisresearch
2006-1055: SOFTWARE DEVELOPMENT LABORATORY: A RETROSPECTIVEDeepti Suri, Milwaukee School of Engineering Deepti Suri is an Associate Professor in the Electrical Engineering and Computer Science Department at Milwaukee School of Engineering (MSOE). She primarily teaches courses in the Software Engineering program.Mark Sebern, Milwaukee School of Engineering Mark Sebern is a Professor in the Electrical Engineering and Computer Science Department at Milwaukee School of Engineering(MSOE) and is the Program Director for MSOE’s undergraduate Software Engineering (SE) program. Page 11.1136.1© American
Cleveland, Ohio, and consulted for multiple embedded systems companies in the Midwest. In addition to one U.S. patent, Schilling has numerous publications in refereed international conferences and other journals. He received the Ohio Space Grant Consortium Doctoral Fellowship and has received awards from the IEEE Southeast- ern Michigan and IEEE Toledo Sections. He is a member of IEEE, IEEE Computer Society and ASEE. At MSOE, he coordinates courses in secure software development, parallel computing, software verification, software engineering practices, real time systems, and operating systems, as well as teaching embedded systems software and introductory programming. c American Society for
. Thirty-one academics replied to our survey. Adetailed description of what these thirty-one people reported to us is given in the survey sectionbelow. We then attempted to relate the software engineering material our respondents reported ascurrently being taught to undergraduates to the material that is covered in traditionalundergraduate engineering programs. Our conclusions and recommendations for further effortsin providing future software engineering graduates with the knowledge and skill they need tocreate trustworthy software products conclude this paper.Currently many more institutions offer undergraduate degrees in Computer Science than offerdegrees in Software Engineering, and due to the current shortage of recipients of
considerable number of participants that have neverpreviously written a computer program. However, interestingly 26% of participants do not knowwhether or not they have written a computer program. This highlights the need for an E&O effortin our country.Figure 1 presents the results for pre-camp survey and post-camp survey in response to thequestion: “Are you considering doing a computer science related course at third level?” 30 25 20 15 10 Pre‐camp 5 0 Post‐camp
AC 2012-4501: TEACHING SOFTWARE SECURITY: A MULTI-DISCIPLINARYAPPROACHDr. Walter W. Schilling Jr., Milwaukee School of Engineering Walter Schilling is an Assistant Professor in the Software Engineering program at the Milwaukee School of Engineering in Milwaukee, Wis. He received his B.S.E.E. from Ohio Northern University and M.S.E.S. and Ph.D. from the University of Toledo. He worked for Ford Motor Company and Visteon as an Embed- ded Software Engineer for several years prior to returning for doctoral work. He has spent time at NASA Glenn Research Center in Cleveland, Ohio, and consulted for multiple embedded systems companies in the Midwest. In addition to one U.S. patent, Schilling has numerous publications in
,authors have written about integrating software testing throughout their curriculum and usingsoftware development methods such as Extreme Programming2, 3, 4. Recently, some authors haveinvestigated whether certain software engineering techniques, such as pair programming, can beused to increase success rates in CS1 courses and retention of women in CS-related majors7, 8.In this paper, we investigate whether other software engineering practices can be used to increasethe success rate in the introductory courses and thereby help increase retention. In particular, welook at requiring specific work plans together with periodically monitoring time logs and checks-ins to version control.BackgroundThe University of Wisconsin, Platteville is a relatively
support faculty members delivering software engineeringdegrees, however, the project also maintained a focus on accommodating faculty who teach inother computing degree programs where the need for software engineering coverage is high, butthe available class time for these topics is much lower. SWENET was a multi-institution effort,encompassing several of the first B.S. in Software Engineering programs in the United States.The SWENET effort to create a collection of curriculum materials included creation of a Website (http://www.swenet.org) and structure for defining and organizing the materials. Thematerials were organized into course modules with a fixed structure anchored to an existingframework. The project began shortly after the Guide to
of ASEE and ACM. Acharya is a recipient of the ”Mahendra Vidya Bhusak” a prestigious medal awarded by the Government of Nepal for academic excellence. He is a member of the Program Committee of WMSCI, MEI, CCCT, EEET, ISAS, AG, KGMC, and IMCIC and is also a member of the Editorial Advisory Board of the Journal of Systemics, Cybernetics, and Informatics of the International Institute of Informatics and Systemics.Dr. Walter W. Schilling Jr., Milwaukee School of Engineering Walter Schilling is an Assistant Professor in the Software Engineering program at the Milwaukee School of Engineering in Milwaukee, Wis. He received his B.S.E.E. from Ohio Northern University and M.S.E.S. and Ph.D. from the University of Toledo
: Systems Engineering, Software Design andSpecification, Implementation, Verification and Validation, and Control and Management.In an effort to provide guidance for all computer related fields, the ACM and the IEEE jointlypublished a broad set of curriculum guidelines, Computing Curriculum 1991,6,7 that could beapplied to any computing program. Computing Curriculum 1991 identified nine subject areasand three processes in computing. The area of interest to SEE was software methodology andengineering, which contained the following five sub-areas: fundamental problem-solvingconcepts, the software development process, software requirements and specifications, softwaredesign and implementation, and verification and validation. Computing Curriculum 1991
before graduation. Page 25.754.2Another argument is that undergraduate SE programs, following the SWEBOK5, or theundergraduate SE curriculum recommended by the ACM and the IEEE Computer Society4,generally do teach software testing. However, we must recognize two important facts: (1) mostuniversities and colleges only offer undergraduate degrees in CS, not SE, and (2) for the majorityof software engineers, if they have a Bachelor’s degree, it is most likely in CS rather than in SE.Besides, although some aspects of software testing may be covered, the actual application oftesting practices is not explored in-depth during the undergraduate
% 3.7% 3.1% Table 2: Fraction of Curricular Content Relative to Program of StudyAs is evident from this chart, the required curricular content computer science and softwareengineering is on the order of just under 40% of the program of study in most of these accreditedprograms. The split between topics in “traditional computer science” areas and those that aremore directly related to software engineering appears to be significantly unbalanced in a fewcases (see institutions 4 and 12), but is mostly fairly unremarkable. The balance that issuggested by the SEEK would indicate that there should be about 1.35 times as many hoursdevoted to software engineering specific topics as there are to computing fundamentals. In
, Rochester Institute of Technology Michael Lutz is a professor of software engineering at the Rochester Institute of Technology, where he founded the first undergraduate software engineering program in the United States in 1996. His profes- sional interests include software engineering education, formal methods, software design, and engineering concurrent software systems. Page 25.33.1 c American Society for Engineering Education, 2012 A Course for Developing Personal Software Engineering CompetenciesAbstractThe strength of a software development team is the sum of the capabilities of each
supported, constructionof bench test systems, and final deployment result. Student involvement and success in theproject will be presented.Program OverviewThe Computer Systems Engineering Technology department at Oregon Institute of Technologyoffers a four year Bachelor of Science degree in Software Engineering Technology. OregonInstitute of Technology is accredited through the Northwest Association of Schools and Colleges(NWASC). The Software Engineering Technology degree is accredited through the AccreditingBoard for Engineering and Technology (ABET).The Software Engineering Technology program currently has approximately 100 students Page
program was doing. This paper will propose an outcomes-basedprocess model for teaching and learning software engineering and define an initial set of maturitylevels. The Maturity Process Teaching Model proposed here incorporates the ideas ofoperational definitions as outcomes, process-improvement, and Capability Maturity Model-basedmaturity levels and applies them to software engineering education. This paper explores theaccreditation process as it relates to software engineering departments. It will discuss proceduresthat are needed to “jumpstart” the self-study and move your program up the CMM scale.Finally, the status of our efforts as well as any problems we experienced will be discussed in aneffort to disseminate this information to our
AC 2011-705: MULTIPLAYER ON-LINE ROLE PLAYING GAME STYLEGRADING IN A PROJECT BASED SOFTWARE ENGINEERING TECH-NOLOGY CAPSTONE COURSEJames N. Long, Oregon Institute of Technology James Long is an associate professor in software engineering technology. Courses and interest are Soft- ware Engineering Project Course, Computer Networks, Operating Systems, Embedded Systems and ap- plications. James is the program director for the Embedded Systems Engineering Technology program.Linda Sue Young, Oregon Institute of Technology Professor Linda S. Young has taught at the Oregon Institute of Technology since 1983. She earned her Ph.D. in Rhetoric and Composition from the University of Washington in 1997, and has a master’s degree
. Cooperative learning isa pedagogy that directly supports this type of teamwork. Through cooperative learning studentsrealize their interdependence, practice face-to-face communication, recognize their individualaccountability to the success of the group, practice interpersonal and small-group skills, andengage in frequent reflective processing of their achievements.We have adapted cooperative learning to teach software architecture in two undergraduatesoftware engineering programs. In traditional cooperative learning, students work on one teamfor an extended period. This helps foster acceptance of individual differences and promotessuccessful teamwork. In our courses we kept students together on the same teams, but we wantedstudents to play multiple