skip to main content
10.1145/2462476.2462480acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Applying software engineering in CS1

Published:01 July 2013Publication History

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.

References

  1. S. H. Edwards. Improving student performance by evaluating how well students test their own programs. J. Educ. Resour. Comput., 3(3), Sept. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. L. Gersting. A software engineering "frosting" on a traditional cs-1 course. SIGCSE Bull., 26(1):233--237, Mar. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. H. Goldwasser. A gimmick to integrate software testing throughout the curriculum. SIGCSE Bull., 34(1):271--275, Feb. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. W. Liew. Teaching software development skills early in the curriculum through software engineering. SIGCSE Bull., 37(3):133--137, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. McCauley and U. Jackson. Teaching software engineering early: experiences and results. SIGCSE Bull., 31(2):86--91, June 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. R. Oliver and J. Dalbey. A software development process laboratory for cs1 and cs2. SIGCSE Bull., 26(1):169--173, Mar. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Applying software engineering in CS1

            Recommendations

            Reviews

            Vladan Jovanovic

            This paper presents experiences with an approach aimed at providing an early introduction to software engineering in a first-year computer science (CS) course, using a software development project. The authors provided most of the specifications and high-level design work, and organized multiple teams into a project that involved coordinated work, testing, and evaluation, as well as realistic code maintenance and integration with the code of other team members. The results are assessed by students in an opinion survey and more objectively by instructors using direct observations. In both cases, some problems and successes are noted. Specific work organization, the selected problem of library management, the technical approach used (C++ and functional decomposition), and the minimal use of software tools are highlighted as somewhat limiting the potential for the transfer of results (or generalization of conclusions). Nevertheless, because a professional software engineering orientation in introductory programming courses is an important direction, even the limited results from this initial experiment are of interest to educators in CS and related areas. Online Computing Reviews Service

            Access critical reviews of Computing literature here

            Become a reviewer for Computing Reviews.

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              ITiCSE '13: Proceedings of the 18th ACM conference on Innovation and technology in computer science education
              July 2013
              384 pages
              ISBN:9781450320788
              DOI:10.1145/2462476

              Copyright © 2013 ACM

              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]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 July 2013

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              ITiCSE '13 Paper Acceptance Rate51of161submissions,32%Overall Acceptance Rate552of1,613submissions,34%

              Upcoming Conference

              ITiCSE 2024

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader