212,534 research outputs found

    On the Presence of Green and Sustainable Software Engineering in Higher Education Curricula

    Full text link
    Nowadays, software is pervasive in our everyday lives. Its sustainability and environmental impact have become major factors to be considered in the development of software systems. Millennials-the newer generation of university students-are particularly keen to learn about and contribute to a more sustainable and green society. The need for training on green and sustainable topics in software engineering has been reflected in a number of recent studies. The goal of this paper is to get a first understanding of what is the current state of teaching sustainability in the software engineering community, what are the motivations behind the current state of teaching, and what can be done to improve it. To this end, we report the findings from a targeted survey of 33 academics on the presence of green and sustainable software engineering in higher education. The major findings from the collected data suggest that sustainability is under-represented in the curricula, while the current focus of teaching is on energy efficiency delivered through a fact-based approach. The reasons vary from lack of awareness, teaching material and suitable technologies, to the high effort required to teach sustainability. Finally, we provide recommendations for educators willing to teach sustainability in software engineering that can help to suit millennial students needs.Comment: The paper will be presented at the 1st International Workshop on Software Engineering Curricula for Millennials (SECM2017

    Embedded Systems Courses at RIT

    Get PDF
    A three-course sequence of cross-disciplinary real-time and embedded systems courses has been introduced at RIT ¢. We are teaching these courses in a studio-lab environment teaming computer engineering and software engineering students. The courses introduce students to programming both microcontrollers and more sophisticated targets, use of a commercial real-time operating system and development environment, modeling and performance engineering of these systems, and their interactions with physical systems

    Providing equivalent learning activities with software-based remote access laboratories

    Get PDF
    Laboratory-based learning activities are important components of engineering and surveying education and it is difficult to offering practical activities to distance education students. Remote Access Laboratory (RAL) systems are widely discussed as learning tools to offer students remote access to rigs or hardware. In some disciplines laboratory activities are purely software based and RAL systems can be used to provide access to software. As part of a larger study into the transferability of the remote laboratory concept to non-engineering disciplines this project evaluates the effectiveness of RAL based software activities in supporting student learning is investigated. In the discipline of Surveying and Spatial Science, RAL technology is used to provide Geographic Information System software access to distance students. The key research question discussed in this paper is whether RALbased software activities can address the same learning outcomes as face-to-face practical classes for software activities. Data was collected from students' discussion forums, teaching staff diaries and teaching staff interviews. The project demonstrates that students undertaking learning activities remotely achieve similar learning outcomes than student in practice classes using the same software. Ease of system access and usability are critical and the learning activity needs to be supported by comprehensive learning materials. This research provides a clear case in which the use of RAL technology has provided inclusive educational opportunities more efficiently and these general results are also applicable to experiments that involve physical hardware

    IT Systems Development: An IS Curricula Course that Combines Best Practices of Project Management and Software Engineering

    Get PDF
    Software Engineering in IS Curricula Software engineering course is taught to higher education students majoring in Computer Science (CS), Computer Engineering (CE), and Software Engineering (SE). Software engineering course is also taught in other disciplines, either as a mandatory or as an elective course, such as Information Systems (IS). IS is a broader field than CS and includes parts of CS. IS fie ld could be described as an interdisplinary field that studies the design and use of information systems in a social context. As noted in IS2002 model curricula (Gorgone et al., 2002) , IS as a fie ld of academic study exists under a variety of at least thirteen (13) different curricula, including Information Systems, Management Information Systems, Computer Information Systems, Information Management, Business Information Systems, Informatics, Information Resources Management, Information Technology, Information Technology Systems, Information Technology Resources Management, Accounting Information Systems, Information Science, and Information and Quantitative Science. The author\u27s early experience was that teaching IS students a software engineering course in the same way as CS students was not successful. This is mainly because IS students have significantly less background in programming than CS students. This experience encouraged him to accommodate topics on project management and SE best practices lab using Rational Suite Enterprise (Rational Suite Enterprise, 2008). This new approach was relevant to IS curricula and with accordance with IS2002.10 project management and practice course guidelines. Hilburn, Bagert, Mengel, & Oexmann (2008) proposed that several computing associations including the Association of Computing Machinery (ACM), the IEEE Computer Society (IEEECS), and the Computer Sciences Accreditation Board (CSAB) have provided encouragement, support, and guidance in developing quality curricula that are viable and dynamic. However, most computing programs still devote little time to software life cycle development, software processes, quality issues, team skills, and other areas of software engineering essentials to effective commercial software development. Hence, new graduates know little about what are best practices in software engineering profession (e.g., practices related to use of software processes, team building, front-end development). Therefore, it is the role of faculty members teaching such courses to redesign and implement curricula that focus on practice of software engineering, and other related issues. This paper is organized as follows: Section 2 presents arguments for the alternative approach. Section 3 presents IS2002.10 course specifications. Section 4 presents IS software engineering body of knowledge. Section 5 presents the project component, Section 6 presents a mapping from IS2002.10 course specification onto the IS software engineering course. Section 7 presents evaluation of the proposed approach. Finally, conclusions are presented in Section 8. Why IT Systems Development Course? We have taught the IT Systems Development course to IS students for seven years, and we believe we hit upon an approach that works. Instead of trying to instruct students in theory of various techniques, we teach them what we believe of as software development. From the management side IS students are expected to deal with non-technical challenges arising from project situations, including understand project domain and requirements, how to be a team player, how to schedule work between team members, and how to cope with time pressures and hard deadlines. As indicated by (Weaver, 2004), students often have limited experience in projects management. They do not appreciate the need for planning and take more time than anticipated to complete tasks. We have developed the creation of a set of guidelines for accommodating topics on project management to help students deal with non-technical issues of software development.

    Learning through practice via role-playing: Lessons learnt

    Get PDF
    Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machine. Sound software engineering closely related with socio-technical activity that depends on several human issues which are communication, collaboration, motivation, work environment, team harmony, engagement, training and education. These issues affect everything for students to fully understand software engineering and be prepared for software development careers. Therefore courses offered in the university must also consider the sociological and communication aspects, often called the socio-technical aspects. One popular method is to use role-playing exercises. Role-playing is a less technologically elaborate form of simulation for learning interpersonal skills and is analogous to rehearsal. It is particularly helpful when students are having difficulties to relate lessons learnt in the university to the applicability of the knowledge in the real implementation. This is because many students view software engineering as meaningless bureaucracy and have little interest in the knowledge delivered in the lecture hall. This scenario impedes the expansion of current knowledge and inhibits the possibility of knowledge exploration to solve range of industry problems. Simply lecturing about software engineering will never engage students or convince them that software engineering has value. Given this student bias, the goal of teaching software engineering often becomes convincing students that it has value. To achieve this, students need to experience firsthand the sociological and communication difficulties associated with developing software systems. In this paper, we argue that in teaching software engineering we must cover two essential things; delivery of knowledge and skills required in the software engineering domain in a form of lecture and hands-on practice to experience the value of the knowledge and skills learnt. We report on our experiences gained in deploying role-playing in master degree program. Role-playing is used as pedagogical tool to give students a greater appreciation of the range of issues and problems associated with software engineering in real settings. We believe that the lessons learnt from this exercise will be valuable for those interested in advancing software engineering education and training

    Two-Semester Agile Systems Engineering Design Course: Investigation and Exploration of Immersive Training Technologies

    Get PDF
    The teaching of systems engineering is a daunting task that involves the development of curriculum capable of teaching students the systems engineering process, the design aspects of engineering, and the interdisciplinary knowledge of a variety of fields. Design is widely considered to be the central or the major distinguishing activity of engineering1. Design can be considered as the center of system engineering, in which engineers employ an interdisciplinary approach to design effective solutions to meet social needs. However, systems engineering requires that traditional academic boundaries be crossed and intertwined with other fields of engineering as well as business, socio-political, and other disciplines that clearly interacts with or are directly affected by the system under consideration. Systems engineering requires different design thinking, as it requires in depth knowledge often beyond the traditional engineering classification boundaries. For example, an electrical engineer must also in many cases have knowledge of software engineering, or safety engineering when designing a cell phone circuit

    Gamification For Improving Student Engagement In Software Engineering Subject : A Case Study In UTeM

    Get PDF
    Software engineering Software engineering subject is a very important to every computer science student as it will give an overview about the principles, techniques and process required for development and construction of computer systems now and then. Nowadays the common traditional teaching and learning in software engineering subjects is quite dull and monotonous subject due to the basic studies about software engineering is mostly on the theoretical part. These drawbacks of the traditional approach affect the software engineering student engagements elements such as in participation, performance and emotional. Since they are not interesting and attractive, it is difficult to attract the students to focus on the learning process. In order to improve and enhance student engagement in software engineering class, there is an attractive approach suggested in this research is known as gamification approach. Gamification approach can be applied to invent a more qualified student to the community. The proposed approach can encourage students to learn software engineering more effectively and proactively. In this study, we got feedback from 59 respondents of software engineering subject student from computer science background and the data analysis was done using SPSS software. From the result, it shows that the engagement elements of participation, performance and emotional have significant effects on the adoption of gamification in software engineering class

    A First Course in Software Engineering for Aerospace Engineers

    Get PDF
    Software is a critical component of mission capability in all aerospace systems. This capability is realized directly through the use of onboard software, and enabled through the use of software on ground support systems. Students attending an aerospace engineering program come with a highly diversified background in software development ranging from novice user to expert programmer. A first course in software development has to account for the diversity, and as an outcome provide both a common vocabulary, as well as a common baseline of skills. This paper presents our learning from designing and teaching such a course for aerospace engineering undergraduates

    Increasing Material Coverage in Software Engineering through the Introduction of the Flipped Classroom

    Get PDF
    Software Engineering represents a rapidly changing engineering discipline. As a young discipline, the field has reached the same level of maturity as other engineering disciplines. Furthermore, as a rapidly evolving field, it also is encountering greater change than many other disciplines of engineering. This change leads to a much greater challenge meeting the needs of diverse engineering constituents. More material must be taught in each course and at a faster pace in order to ensure that students are ready for the demands of industry. At the Milwaukee School of Engineering, curriculum changes have resulted in a reduction in lab content and credit for courses. In one course, Operating Systems, the lab component has been removed entirely. However, through prudent course design and the usage of the flipped classroom, the same amount of content was able to be covered in less time. This article will present an analysis of the findings of applying the flipped classroom to teaching operating systems to software engineering students. Included will be analysis of student performance from control groups prior to the curriculum conversion, as well as observations from students on the usage of the flipped classroo

    Guidelines for using empirical studies in software engineering education

    Get PDF
    Software engineering education is under constant pressure to provide students with industry-relevant knowledge and skills. Educators must address issues beyond exercises and theories that can be directly rehearsed in small settings. Industry training has similar requirements of relevance as companies seek to keep their workforce up to date with technological advances. Real-life software development often deals with large, software-intensive systems and is influenced by the complex effects of teamwork and distributed software development, which are hard to demonstrate in an educational environment. A way to experience such effects and to increase the relevance of software engineering education is to apply empirical studies in teaching. In this paper, we show how different types of empirical studies can be used for educational purposes in software engineering. We give examples illustrating how to utilize empirical studies, discuss challenges, and derive an initial guideline that supports teachers to include empirical studies in software engineering courses. Furthermore, we give examples that show how empirical studies contribute to high-quality learning outcomes, to student motivation, and to the awareness of the advantages of applying software engineering principles. Having awareness, experience, and understanding of the actions required, students are more likely to apply such principles under real-life constraints in their working life.Peer reviewe
    • …
    corecore