ABSTRACT
This paper introduces a method for incorporating software engineering concepts into the computer science curriculum earlier by using a structured project in CS1. The project is designed such that it must be completed using phases of a software development cycle. This approach provides the students earlier exposure to software engineering and grounds software engineering practice throughout the curriculum. With a better understanding of and appreciation for the software development process, students are better prepared to handle future academic and professional projects. This paper presents a detailed discussion of the CS1 project and its execution, accompanied by results and feedback from a post-project survey administered to students.
- S. H. Edwards. Improving student performance by evaluating how well students test their own programs. J. Educ. Resour. Comput., 3(3), Sept. 2003. Google ScholarDigital Library
- J. L. Gersting. A software engineering "frosting" on a traditional cs-1 course. SIGCSE Bull., 26(1):233--237, Mar. 1994. Google ScholarDigital Library
- M. H. Goldwasser. A gimmick to integrate software testing throughout the curriculum. SIGCSE Bull., 34(1):271--275, Feb. 2002. Google ScholarDigital Library
- M. Hertz. What do cs1" and cs2" mean?: Investigating differences in the early courses. In Proceedings of the 41st ACM technical symposium on Computer science education, SIGCSE '10, pages 199--203, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- C. W. Liew. Teaching software development skills early in the curriculum through software engineering. SIGCSE Bull., 37(3):133--137, June 2005. Google ScholarDigital Library
- R. McCauley and U. Jackson. Teaching software engineering early: experiences and results. SIGCSE Bull., 31(2):86--91, June 1999. Google ScholarDigital Library
- S. R. Oliver and J. Dalbey. A software development process laboratory for cs1 and cs2. SIGCSE Bull., 26(1):169--173, Mar. 1994. Google ScholarDigital Library
- J. Robergé and C. Suriano. Using laboratories to teach software engineering principles in the introductory computer science curriculum. SIGCSE Bull., 26(1):106--110, Mar. 1994. Google ScholarDigital Library
Index Terms
- Applying software engineering in CS1
Recommendations
Reviewing CS1 Materials through a Collaborative Software Engineering Exercise: An Experience Report
SIGCSE '20: Proceedings of the 51st ACM Technical Symposium on Computer Science EducationMany courses incorporate exercises at the end of the semester to help students review course topics. In computer science courses, review activities are often small coding problems, interactive games, or review lectures. In this paper, we describe our ...
Teaching software development skills early in the Curriculum through software engineering
Software engineering is commonly taught as an upper level course in students in computer science. There are many software development skills that can be taught in a software engineering course that are useful in other courses. The development of this ...
Teaching software development skills early in the Curriculum through software engineering
ITiCSE '05: Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science educationSoftware engineering is commonly taught as an upper level course in students in computer science. There are many software development skills that can be taught in a software engineering course that are useful in other courses. The development of this ...
Comments