온라인 다기관 협업으로 구현하는 소프트웨어 공학 연구 강좌

Reading time: 6 minute
...

📝 Abstract

Covid has made online teaching and learning acceptable and students, faculty, and industry professionals are all comfortable with this mode. This comfort can be leveraged to offer an online multi-institutional research-level course in an area where individual institutions may not have the requisite faculty to teach and/or research students to enroll. If the subject is of interest to industry, online offering also allows industry experts to contribute and participate with ease. Advanced topics in Software Engineering are ideally suited for experimenting with this approach as industry, which is often looking to incorporate advances in software engineering in their practices, is likely to agree to contribute and participate. In this paper we describe an experiment in teaching a course titled “AI in Software Engineering” jointly between two institutions with active industry participation, and share our and student’s experience. We believe this collaborative teaching approach can be used for offering research level courses in any applied area of computer science by institutions who are small and find it difficult to offer research level courses on their own.

💡 Analysis

Covid has made online teaching and learning acceptable and students, faculty, and industry professionals are all comfortable with this mode. This comfort can be leveraged to offer an online multi-institutional research-level course in an area where individual institutions may not have the requisite faculty to teach and/or research students to enroll. If the subject is of interest to industry, online offering also allows industry experts to contribute and participate with ease. Advanced topics in Software Engineering are ideally suited for experimenting with this approach as industry, which is often looking to incorporate advances in software engineering in their practices, is likely to agree to contribute and participate. In this paper we describe an experiment in teaching a course titled “AI in Software Engineering” jointly between two institutions with active industry participation, and share our and student’s experience. We believe this collaborative teaching approach can be used for offering research level courses in any applied area of computer science by institutions who are small and find it difficult to offer research level courses on their own.

📄 Content

Many smaller academic institutions (particularly in India) have modest faculty sizes and small PhD programs. As a result, As a result, they primarily offer core courses or broadly popular electives, struggling to support advanced, research-oriented electives. Consequently, these institutions are generally not able to offer research oriented courses on advanced topics which can help PhD students and Masters students researching those areas. For example, software engineering (SE) research courses are rarely available because only one or two faculty might specialize in SE as most of the SE faculty are still part of broader CS departments, and typical policies discourage running courses with very few enrollments.

In such a situation, a simple approach can be to pool resources, where faculty and students across multiple institutions are part of research-level courses in advanced topics within SE. Historically, inter-institutional courses were rare due to logistical barriers (e.g., travel between campuses), but the widespread adoption of online teaching post COVID-19 lowers these barriers. By leveraging online platforms, faculty from different institutions can co-teach a course, and even a handful of students per campus can together form a viable class. Also, if the topic is of interest to industry, working professionals can enroll online and industry experts can contribute lectures, enriching the course experience.

In this paper, we detail our experiences in teaching a course on “Artificial Intelligence (AI) in Software Engineering (SE)” between two academic institutions located in two different cities in India, with a strong participation from industry. AI for SE has been an important area of research both in academia and industry, and hence well suited for the approach we wanted to try. The area has become extremely active since the advent of LLMs. This course was offered in 2021, before LLMs became popular, hence the contents of the course were different than what they potentially would be today.

Generally, one of the key goals of a research-level course is to expose the students to advanced topics in the subject of interest. Such courses often involve students taking up some topic and writing a report on it and making a presentation to the class based on state of the art on that topic. A researchlevel course may also expect students to engage in some small research project. This course had all these as the objectives. The learning outcomes for the course were: (i) Gaining familiarity on AI methods/techniques being used for addressing different problems in SE, (ii) In-depth understanding of use of AI models in one particular SE issue, (iii) Improving ability of the participants to review research literature and understand the state of the art in an area, and (iv) Improving ability of the participants to do independent research.

In this experience report, we detail the challenges of delivering a multi-institution, research oriented software engineering course with industry involvement and how we addressed them. The paper’s contributions are: (1) an account of a novel multiinstitution, industry-partnered course model in software engineering, (2) identification of key challenges in implementing such a course (with the solutions we employed, and (3) an evaluation of the outcomes.

There is a considerable body of work on software engineering education. Much of it focuses on basic concepts in software engineering and the pedagogy used to teach them.

For example, there are reports on using game design to teach software engineering [12], gamifying software engineering tasks [13], aligning course contents with industry (including startups) [14], using agile methods, and other processes [15] [16]. There is also some work on teaching advanced courses that focus on specific topics like requirements engineering [17], software architecture [18], design [19], quality engineering [20] [21], code comprehension [22], etc., and on teaching courses involving research activities [23].

Courses on global or distributed software engineering education have been taught for many years (from before online teaching became widespread) and there are many reports on different aspects of it (e.g. [25]- [27]). Generally in these courses, the focus of collaboration is among students from different institutions in different countries/institutions with the main purpose of developing experience (and skills) in executing a (globally) distributed software. The instructors need to collaborate among themselves largely for ensuring that the project can be done successfully by students from different universities. The collaborative teaching experiment we describe is quite different in goals as well as in execution. The focus is not on executing distributed projects by students, but on distributed teaching by combining strengths and knowledge of instructors in different institutions to offer a richer course for students of different institutions.

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut