skip to main content
10.1145/1384271.1384396acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
poster

Four roles of instructor in software engineering projects

Published: 30 June 2008 Publication History

Abstract

As a practice-oriented discipline, Software Engineering (SE) is most effectively taught by using a variety of hands-on experiences. Team-based projects where students can practice their technical and soft skills are a key feature of many software engineering courses aimed to prepare students for the realities of industrial software development.
Current research indicates that projects offered in SE courses should have a close connection to the real world, be large scale and complex. On the one hand, students should be able to relate to the requirements and understand them without spending much time acquiring domain knowledge. On the other hand, students should be exposed to changing and evolving requirements, which is one of the main challenges of real-world software projects. Software projects should be large enough and have enough features to engage all members of the student team while enabling them to practice some degree of specialization and experience the advantages and challenges of teamwork. Software projects should be rich enough to allow students practice all previously acquired SE concepts, bring together knowledge from other specialized CS disciplines, and apply a number of modern tools and technologies.
One of the most effective ways to learn SE is to expose students to an environment that resembles an industrial setting as much as possible. As a part of an academic program, SE courses can achieve this objective by offering students a balanced combination of three components: teamwork involving up-to-date technology grounded in a solid theoretical foundation. Instructors in SE courses are uniquely positioned to help maintain this balance by simultaneously playing four roles described below.
As a customer who contracts a student team to implement a particular project, the instructor may provide a verbal or written description of the project. It is the students? responsibility to conduct the requirements elicitation interviews and to prepare formal requirements specification for subsequent validation with the customer and possible adjustment. The instructor may act as a customer during the acceptance testing throughout the project to make sure that the team is on the right track at every iteration of the project. The instructor acting as a customer can also act as a proxy if the project has been offered by an industrial partner, or some other department or organization on campus.
As an architect initially specifying the overall structure of the solution, the instructor can help students choose the right software architecture. This is a very important choice that has to be made early because it impacts the overall flow of the project. Later architectural changes can be extremely costly and can significantly jeopardize meeting the deadlines. Most likely, students do not have experience in making such architectural decisions and, therefore, it is crucial for the instructor to provide some guidance in this important process.
As a team manager concerned with risk management, the instructor needs to pay attention that the team efforts are not jeopardized due to a potential lack of students? soft skills and that these skills are built up as the project progresses. Although it is the students? responsibility to create all artifacts emerging from the project, the instructor can help the team adhere to the schedule by providing feedback based on the inspection of all produced artifacts. In this respect, the roles of the team manager and the customer may somewhat overlap because the same person will be providing feedback to the team from the technical point of view (artifact inspection), as well as from the customer point of view (verification of product implementation at each iteration).
In addition to the traditional role of giving lectures, the instructor needs to be a mentor offering guidance to each team and individual students addressing their specific needs and answering questions unique to their projects and the responsibilities in the context of the project. Furthermore, the instructor is uniquely positioned to advise individual students on how to resolve potential conflicts within a team. Such an advice given at the right time could make a difference between completing the project on time and allowing interpersonal tensions completely ruin any chance of collaboration between the team members.

Cited By

View all
  • (2016)Uncovering difficulties in learning for the intermediate programmer2016 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2016.7757446(1-8)Online publication date: Oct-2016
  • (2016)Splat! er, shmup? A postmortem on a capstone production experience2016 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2016.7757399(1-9)Online publication date: Oct-2016
  • (2018)Are Our Students Prepared? The Impact of Capstone Design Pedagogical Approaches on Student Skill Development During Industry-Sponsored FieldworkINFORMS Transactions on Education10.1287/ited.2018.019818:3(183-193)Online publication date: 1-May-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '08: Proceedings of the 13th annual conference on Innovation and technology in computer science education
June 2008
394 pages
ISBN:9781605580784
DOI:10.1145/1384271
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 June 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. role of instructor
  2. software engineering project

Qualifiers

  • Poster

Conference

ITiCSE '08
Sponsor:

Acceptance Rates

ITiCSE '08 Paper Acceptance Rate 60 of 150 submissions, 40%;
Overall Acceptance Rate 552 of 1,613 submissions, 34%

Upcoming Conference

ITiCSE '25
Innovation and Technology in Computer Science Education
June 27 - July 2, 2025
Nijmegen , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 27 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Uncovering difficulties in learning for the intermediate programmer2016 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2016.7757446(1-8)Online publication date: Oct-2016
  • (2016)Splat! er, shmup? A postmortem on a capstone production experience2016 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2016.7757399(1-9)Online publication date: Oct-2016
  • (2018)Are Our Students Prepared? The Impact of Capstone Design Pedagogical Approaches on Student Skill Development During Industry-Sponsored FieldworkINFORMS Transactions on Education10.1287/ited.2018.019818:3(183-193)Online publication date: 1-May-2018
  • (2012)Collaboration across the curriculumProceedings of the 43rd ACM technical symposium on Computer Science Education10.1145/2157136.2157220(277-282)Online publication date: 29-Feb-2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media