Teaching Developer Skills in the First Software Engineering Course

Author(s): Václav Rajlich
Venue: International Conference on Software Engineering
Date: 2013

Type of Experiement: Survey/Multi-Case Study
Sample Size: 21
Class/Experience Level: Undergraduate Student
Participant Selection: responded to survey
Data Collection Method: Survey


Graduates of software engineering programs are expected to be able to work with other software engineerings when entering the workforce. Many classes teach the fundamentals of technologies and focus less on working in teams. This paper explores the idea of putting an emphasis on working in teams in the first Software Engineering course that a student would take. The computer science department of Wayne State University take the first Software Engineering course and make the students work in groups on a project that reflects a real-world project. The author comes up with "7 deadly sins" not to commit when teaching this class so that the students can focus more on the development of their skills as software engineers:

  1. Technologies that support software development occupy too much of the course and insufficient time is left for the main course objectives.
  2. The course concentrates on the practices that are out of the current mainstream of the code development.
  3. The course emphasizes the advanced practices and roles that the middle students are not ready for.
  4. The survey of software engineering discipline occupies too much of the course and insufficient time is left for the main course objectives.
  5. The course project is excessively demanding and it is an academic equivalent of “death march” project, giving students a wrong impression of software engineering practice. Unfamiliar and difficult domain may be a contributing factor to the project difficulty.
  6. The course project aims at superficially impressing a casual observer, instead of emphasis on sound software engineering practices.
  7. In the course project, students are graded based on the work of others, frequently resulting in unfair grades and undue stress for the best students.

To collect results from this small case-study, the author conducted a survey asking the students about what they learned from the class along with a section for additional comments. The author discovered that focusing more on the project and rather than a lecture got students more excited about software engineering. Students seemed to appreciate working in teams and the software processes more since the professors worked on creating a more seamless environment that didn't violate the "7 deadly sins".