154,565 research outputs found

    The Power of Metaphors in Directing ISD Teaching

    Get PDF
    Metaphors have a tremendous power to guide our actions. In Information Systems Development (ISD) certain metaphors like Software Engineering has guided our thinking concerning how we practice ISD and also how we teach ISD. The argument of this paper is that if we, as ISD teachers, expand our metaphors of ISD we will be able to think more creatively about how we can teach ISD

    Walking Through the Method Zoo: Does Higher Education Really Meet Software Industry Demands?

    Get PDF
    Software engineering educators are continually challenged by rapidly evolving concepts, technologies, and industry demands. Due to the omnipresence of software in a digitalized society, higher education institutions (HEIs) have to educate the students such that they learn how to learn, and that they are equipped with a profound basic knowledge and with latest knowledge about modern software and system development. Since industry demands change constantly, HEIs are challenged in meeting such current and future demands in a timely manner. This paper analyzes the current state of practice in software engineering education. Specifically, we want to compare contemporary education with industrial practice to understand if frameworks, methods and practices for software and system development taught at HEIs reflect industrial practice. For this, we conducted an online survey and collected information about 67 software engineering courses. Our findings show that development approaches taught at HEIs quite closely reflect industrial practice. We also found that the choice of what process to teach is sometimes driven by the wish to make a course successful. Especially when this happens for project courses, it could be beneficial to put more emphasis on building learning sequences with other courses

    If You’re Not Modeling, You’re Just Programming: Modeling Throughout an Undergraduate Software Engineering Program

    Get PDF
    Modeling is a hallmark of the practice of engineering. Through centuries, engineers have used models ranging from informal “back of the envelope” scribbles to formal, verifiable mathematical models. Whether circuit models in electrical engineering, heat-transfer models in mechanical engineering, or queuing theory models in industrial engineering, modeling makes it possible to perform rigorous analysis that is the cornerstone of modern engineering. By considering software development as fundamentally an engineering endeavor, RIT’s software engineering program strives to instill a culture of engineering practice by exposing our students to both formal and informal modeling of software systems throughout the entire curriculum. This paper describes how we have placed modeling in most aspects of our curriculum. The paper also details the specific pedagogy that we use in several courses to teach our students how to create, analyze and implement models of software systems

    Applying project-based learning to teach software analytics and best practices in data science

    Get PDF
    Due to recent industry needs, synergies between data science and software engineering are starting to be present in data science and engineering academic programs. Two synergies are: applying data science to manage the quality of the software (software analytics) and applying software engineering best practices in data science projects to ensure quality attributes such as maintainability and reproducibility. The lack of these synergies on academic programs have been argued to be an educational problem. Hence, it becomes necessary to explore how to teach software analytics and software engineering best practices in data science programs. In this context, we provide hands-on for conducting laboratories applying project-based learning in order to teach software analytics and software engineering best practices to data science students. We aim at improving the software engineering skills of data science students in order to produce software of higher quality by software analytics. We focus in two skills: following a process and software engineering best practices. We apply project-based learning as main teaching methodology to reach the intended outcomes. This teaching experience shows the introduction of project-based learning in a laboratory, where students applied data science and best software engineering practices to analyze and detect improvements in software quality. We carried out a case study in two academic semesters with 63 data science bachelor students. The students found the synergies of the project positive for their learning. In the project, they highlighted both utility of using a CRISP-DM data mining process and best software engineering practices like a software project structure convention applied to a data science project.This paper was partly funded by a teaching innovation project of ICE@UPC-BarcelonaTech (entitled ‘‘Audiovisual and digital material for data engineering, a teaching innovation project with open science’’), and the ‘‘Beatriz Galindo’’ Spanish Program BEA-GAL18/00064.Peer ReviewedPostprint (published version

    Teaching Software Engineering with Free Open Source Software Development: An Experience Report

    Get PDF
    We report on the design and delivery of a senior Software Engineering course within the limits of a Computer Science program. The course is structured around a collaboration with a large, active Free Open Source Software project. We show how this structure allows us to (a) incorporate principles of Project Based Learning and of Service Learning, reaping the benefits of these pedagogies, (b) effectively, using a hands-on approach, teach a number of essential topics in Software Engineering, (c) provide the students with a capstone project experience, given the lack of one in our curriculum, and (d) use the project as a powerful motivating factor for the students. We outline the experiences of the course instructor, of the teaching assistants team, and of the students of the course. We also describe the experience of the lead developers of this open source project, and report on the benefits and costs (time commitment) to the project

    Recent Trends in Software Testing Education: A Systematic Literature Review

    Get PDF
    Testing is a critical aspect of software development. Far too often software is released with critical faults. However, testing is often considered tedious and boring. Unfortunately, many graduates might join the work force without having had any education in software testing, which exacerbates the problem even further. Therefore, teaching software testing as part of a university degree in software engineering and is very important. But it is an open challenge how to teach software testing in an effective way that can successfully motivate students. In this paper, we have carried out a systematic literature review on the topic of teaching software testing. We analysed and reviewed 30 papers that were published between 2013 and 2017. The review points out to a few different trends, like the use of gamification to make the teaching of software testing less tedious

    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.
    • 

    corecore