147,371 research outputs found

    Academic Programs Adequate For The Software Profession?

    Get PDF
    According to the Bureau of Labor Statistics, close to 1.8 million people, or 77% of all computer professionals, were working in the design, development, deployment, maintenance, and management of software in 2006.  The ACM model curriculum for the BS in computer science proposes that about 42% of the core body of knowledge be dedicated to software engineering, including programming.  An examination of the curriculum of a typical computer science department shows that, excluding programming courses, no courses specific to software engineering are required for the BS, although several are available as elective courses.  Academics typically resist the demands of the industry, in part because some of them are for specific software tools, design methods, or programming languages whose use does not last.  Under market pressure, more required software engineering courses may slowly be included in the curriculum.  The usual solution is for businesses to offer their software professionals needed courses in software engineering

    Controlling Curriculum Redesign with a Process Improvement Model

    Get PDF
    A portion of the curriculum for a Management Information Systems degree was redesigned to enhance the experiential learning of students by focusing it on a three-semester community-based system development project. The entire curriculum was then redesigned to have a project-centric focus with each course in the curriculum contributing to the success of students’ learning experiences. Implementation of this new design involved an evolutional enhancement from an existing traditional curriculum with modifications proceeding in stages over a four-year period. Early on, it was recognized that the curriculum redesign was progressing through a series of stages similar to that encountered in software engineering processes. As a result, the general guidelines and framework developed for continuous improvement in software engineering: the Capability Maturity Model were adopted and modified for guiding the curriculum redesign. This paper presents a description of the authors’ experiences in implementing a curriculum redesign from one based on a traditional course-based design to a project-centric design using the Capability Maturity Model as a process improvement tool. Our successful experience with using this tool suggests a need for the development of a specialized process improvement tool for future use on similar curriculum redesign

    A Prototype Curriculum For The Study Of Software Management

    Get PDF
    The discipline of Software Management, which is a new and potentially meaningful direction for information technology (IT) education, is presented for the first time in this article.  Software Management is a curriculum model, which specifically addresses the productivity and quality issues that have arisen in IT.  It is distinguished from the traditional disciplines of Computer Science, Software Engineering and Information Science by its body of knowledge, which focuses explicitly on building strategic governance infrastructures rather than technical artifacts.  This article presents curricular recommendations for each traditional discipline and uses these to illustrate Software Management’s unique role and value.  It also presents a conceptual framework and justification, which will assist educators in curriculum development and design issues

    Towards an abitlity model for software engineering apprenticeship

    No full text
    International audienceDespite recent efforts to improve the effectiveness of software engineering education, most approaches do not equip students with non-technical skills and fail to be practice-oriented. Brest University provides the software engineering by immersion paradigm as an alternative to other education systems. Shifting to the constructivism paradigm as far as possible, this education system is entirely based on a 7-month project, performed by a 6-students team within a virtual company and tutored by an experienced software engineer. The ISO/IEC 12207 standard is a reference framework of software engineering processes. This standard provides the basis of our reference decomposition into processes/activities/tasks and apprenticeship scenes. Issued from professional didactics, the analysis of activity distinguishes two kind of activity: productive and constructive. The former is work-oriented while the latter helps the actor to improve his/her own practice. Hence, constructive activity is apprenticeship and personal development. Analysing apprenticeship scenes provides an ability model of our immersion system. The model is defined in terms of its constituent competencies areas, each of which is further defined in terms of its constituent competencies families; a family corresponding to an activity of the reference decomposition. Each family is associated with a set of cohesive abilities. The ability model establishes a structure that directly supports the personal and team construction process of the knowledge and skills required to practice engineering of a software project. Each student periodically fills this structure while auto-analysing the tasks performed and him/her achievement level with the abilities defined in the model. This periodic inventory is supported by eCompas, a tool intended to manage development, assessment and value-added of competencies over the course of a curriculum or a professional career

    A Model Driven Architecture Framework for Robot Design and Automatic Code Generation

    Get PDF
    International audienceThis work presents a research and development experiment in software engineering at the IMT Mines Ales, France. The goal is to define a framework allowing a system controller to be graphically designed and its java code to be automatically generated. This framework is expected to be a support for students following the system engineering curriculum, and who have to program LEGO Mindstorms EV3 robots although they have not already been trained to concurrent Java programming. The experimental methodology focuses on learning and implementing the following paradigms: model driven design, software architecture for event driven systems and reactive system programming using JAVA threads. We present the design framework defined during this experiment, and the feedback of students who have been involved in setting up the state of the art and developing the framework

    Evaluating pedagogical practices supporting collaborative learning for model-based system development courses

    Get PDF
    Model-based software development (MBSD) has been widely used in industry for its effectiveness of code generation, code reuse and system evolution. At different stages of the software lifecycle, models -- as opposed to actual code -- are used as abstractions to present software development artifacts. In a university software engineering curriculum, compared to other concrete and tangible courses, e.g., game and app development, these levels of abstraction are often difficult for students to understand, and further, to see models' usefulness in practice. This paper presents an evaluation of pedagogical practices supporting collaborative learning for MBSD courses from experiences of teaching them at University of Oslo. The focus is to answer two research questions: 1) What are the challenges and possibilities when using a collaborative learning approach for teaching modelling and architecture? 2) What are the challenges and benefits of having a holistic approach to MBSD courses in light of the requirements of academia and the needs of industry? The term “holistic” is understood 1) as an approach that involves human factors (users), technology and processes, 2) as an approach to teaching MBSD courses where modelling for Enterprise Architecture is taught together with System Architecture and Model-Driven Language Engineering. Empirical data was collected through interviews, questionnaires, and document analysis. The paper’s research results show that three different course perspectives (Modeling for Enterprise Architecture with Business Architecture, System Architecture and Model Driven Language Engineering) are essential parts of teaching modeling courses, and an industry field study shows that industry sees the potential of having junior architects to provide support to a team and solving basic architectural problems

    Development of a concurrent engineering tutorial as part of the “ESA_Lab@” initiative

    Get PDF
    As part of the “ESA_Lab@" initiative, a Concurrent Engineering facility has been constructed at the Mechanical Engineering department of Technical University Darmstadt. Concurrent Engineering is a well-proven concept for designing complex space systems and missions in the pre-phase 0/A mission phase. The Concurrent Engineering methodology and processes are enabled by a multidisciplinary team and specific infrastructure in terms of both hardware and software, which generate an effective and time efficient design management system. The university’s “Concurrent Engineering Lab” provides an environment for both researchers and students to explore and apply the Concurrent Engineering approach in areas such as (model-based) systems engineering, Industry 4.0/ Space 4.0, and space traffic management. Furthermore, collaboration with the European Space Operations Centre – also located in Darmstadt – regarding the application of Concurrent Engineering for Ground Segment & Operations has been started. The first addition to the university’s curriculum centered around the Concurrent Engineering Lab will be a “Concurrent Engineering Tutorial”, an opportunity to introduce the Concurrent Engineering methods and tools via hands-on experience to students of the newly established master’s degree program “Aerospace Engineering”. “Tutorials” are elective block courses of the degree program which offer practical learning experiences in many different fields, awarding 4 credit points upon successful completion. Building on the lectures "Fundamentals of Space Systems" and "Space Systems and Space Operations", the week-long “Concurrent Engineering Tutorial” will challenge students to use their acquired knowledge to develop a preliminary design for a predefined CubeSat mission. This Tutorial will not only provide a closer understanding of the individual subsystems of the space segment of a mission, the Concurrent Engineering process and the relevant software “COMET” by RHEA Group but will also create a synergy with a student association of the university, as one of their projects is the development of a CubeSat. This paper describes the background and approach to the development of the Tutorial, in particular the structure of the re-usable model architecture in “COMET”, which was specifically derived and implemented for this purpose and validated via a pilot stud

    A blueprint for success: a model for developing engineering education in the UK

    Get PDF
    This paper details the emergence and development of the ‘Centre for Engineering and Design Education’ (CEDE) at Loughborough University, UK, and provides a blueprint for success. With ample evidence that such a Centre can prove to be a highly effective support mechanism for discipline-specific academics and can develop and maintain valuable national and international networks and collaborations along with considerable esteem for the host university. The CEDE is unique in the UK and has achieved considerable success and recognition within the local engineering education community and beyond for the past 16 years. Here we discuss the historical background of the Centre’s development, the context in which it operates, and its effective management and operation strategy. The success it has enjoyed is described through examples, with much evidence of the generation of a significant amount of external funding; the development of high quality learning spaces; learning technology systems, open source software and improvements in curriculum design; a strong record of research and publication on the pedagogy of engineering; strong links with industry and employers; and a wealth of connections and know-how built up over the years. This paper provides the institutions with a model blueprint for success in developing engineering education

    A Pattern Language for Designing Application-Level Communication Protocols and the Improvement of Computer Science Education through Cloud Computing

    Get PDF
    Networking protocols have been developed throughout time following layered architectures such as the Open Systems Interconnection model and the Internet model. These protocols are grouped in the Internet protocol suite. Most developers do not deal with low-level protocols, instead they design application-level protocols on top of the low-level protocol. Although each application-level protocol is different, there is commonality among them and developers can apply lessons learned from one protocol to the design of new ones. Design patterns can help by gathering and sharing proven and reusable solution to common, reoccurring design problems. The Application-level Communication Protocols Design Patterns language captures this knowledge about application-level protocol design, so developers can create better, more fitting protocols base on these common and well proven solutions. Another aspect of contemporary development technics is the need of distribution of software artifacts. Most of the development companies have started using Cloud Computing services to overcome this need; either public or private clouds are widely used. Future developers need to manage this technology infrastructure, software, and platform as services. These two aspects, communication protocols design and cloud computing represent an opportunity to contribute to the software development community and to the software engineering education curriculum. The Application-level Communication Protocols Design Patterns language aims to help solve communication software design. The use of cloud computing in programming assignments targets on a positive influence on improving the Analysis to Reuse skills of students of computer science careers
    • 

    corecore