Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Teaching software development skills early in the Curriculum through software engineering

Published: 27 June 2005 Publication History

Abstract

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 course has greatly influenced the types of projects and assignments that are required in the upper level courses. The upper level courses have been able to (1) develop more challenging projects and (2) reduce or eliminate the time spent on teaching development skills.

References

[1]
K. Beck. Extreme Programming explained. Addison Wesley, 2000.
[2]
K. Beck. Test-Driven Development: By Example. Addison-Wesley, 2003.
[3]
B. Boehm. Software Engineering Economics. Prentice Hall, 1981.
[4]
F. Brooks. The Mythical Man-Month. Addison Wesley, 1995.
[5]
W. J. Collins. Data Structures and the Java Collections Framework. McGraw-Hill, 2001.
[6]
E. W. Dijkstra. A Discipline of Programming. Prentice Hall, 1976.
[7]
J. F. Dooley. Software engineering in the liberal arts: Combining theory and practice. SIGCSE bulletin, 35(2), June 2003.
[8]
S. I. Feldman. Make - a program for maintaining programs. Software Practice and Experience, 9, 1979.
[9]
S. Hack. CVS: Concurrent versioning system. Beckman Institute, University of Illinois at Urbana-Champaigne Technical Report, (99-011), 1999.
[10]
E. Harlow. Developing Linux Applications with GTK+ and GDK. Que, 1999.
[11]
W. S. Humphrey. Introduction to the Personal Software Process. Addison-Wesley, 1997.
[12]
W. S. Humphrey. The personal software process. Technical Report CMU/SEI-2000-TR-022, Software Engineering Institute, Carnegie Mellon University, 2000.
[13]
U. Jackson, B. Manaris, and R. McCauley. Strategies for effective integration of software engineering concepts and techniques into the undergraduate computer science curriculum. In Proceedings of the 28th SIGCSE Technical Symposium on Computer Science Educaiton, 1997.
[14]
I. Jacobson. Object-Oriented Software Engineering: A Case Driven Approach. Addison Wesley, 1992.
[15]
I. Jacobson, G. Booch, and J. Rumbaugh. The Unified Software Development Process. Addison Wesley Longmann, 1999.
[16]
R. McCauley and U. Jackson. Teaching software engineering early - experiences and results. In Proceedings of the 30th SIGCSE Technical Symposium on Computer Science Education, 1999.
[17]
S. McConnell. Code Complete: A Practical Handbook of Software Production. Microsoft Press, 1993.
[18]
D. R. Musser, G. J. Derge, and A. Saini. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library. Addison Wesley, 2001.
[19]
D. Norman. The Design of Everyday Things. Doubleday Currency, 1988.
[20]
D. L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12), 1972.
[21]
G. Schneider and J. P. Winters. Applying Use Cases, Second Edition. Addison Wesley, 2001.
[22]
J. Strang. Programming with Curses (A Nutshell Handbook). O'Reilly & Associates, 1986.
[23]
R. Tewari. Software reuse and object-oriented software engineering in the undergraduate curriculum. In Proceedings of the 26th SIGCSE Technical Symposium on Computer Science Education, 1995.
[24]
W. F. Tichy. RCS - a system for version control. Software Practice and Experience, 15(7), 1985.

Cited By

View all
  • (2013)Applying software engineering in CS1Proceedings of the 18th ACM conference on Innovation and technology in computer science education10.1145/2462476.2462480(297-302)Online publication date: 1-Jul-2013
  • (2009)Discovering high-impact success factors in capstone software projectsProceedings of the 10th ACM conference on SIG-information technology education10.1145/1631728.1631803(235-244)Online publication date: 22-Oct-2009
  • (2019)A distance learning approach to teaching eXtreme programmingACM SIGCSE Bulletin10.1145/1597849.138432540:3(199-203)Online publication date: 28-Feb-2019
  • Show More Cited By

Index Terms

  1. Teaching software development skills early in the Curriculum through software engineering

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGCSE Bulletin
    ACM SIGCSE Bulletin  Volume 37, Issue 3
    September 2005
    418 pages
    ISSN:0097-8418
    DOI:10.1145/1151954
    Issue’s Table of Contents
    • cover image ACM Conferences
      ITiCSE '05: Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
      June 2005
      440 pages
      ISBN:1595930248
      DOI:10.1145/1067445
    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: 27 June 2005
    Published in SIGCSE Volume 37, Issue 3

    Check for updates

    Author Tags

    1. software development skills
    2. softwrae engineering curriculum

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 16 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2013)Applying software engineering in CS1Proceedings of the 18th ACM conference on Innovation and technology in computer science education10.1145/2462476.2462480(297-302)Online publication date: 1-Jul-2013
    • (2009)Discovering high-impact success factors in capstone software projectsProceedings of the 10th ACM conference on SIG-information technology education10.1145/1631728.1631803(235-244)Online publication date: 22-Oct-2009
    • (2019)A distance learning approach to teaching eXtreme programmingACM SIGCSE Bulletin10.1145/1597849.138432540:3(199-203)Online publication date: 28-Feb-2019
    • (2018)Curriculum changes to improve software development skills in undergraduatesJournal of Computing Sciences in Colleges10.5555/3205191.320520133:6(86-96)Online publication date: 1-Jun-2018
    • (2016)Scrum and Agile Methods in Software Engineering CoursesProceedings of the 47th ACM Technical Symposium on Computing Science Education10.1145/2839509.2844664(319-320)Online publication date: 17-Feb-2016
    • (2009)Integrating software engineering in computer programming educationProceedings of the 10th ACM conference on SIG-information technology education10.1145/1631728.1631745(50-54)Online publication date: 22-Oct-2009
    • (2008)A distance learning approach to teaching eXtreme programmingProceedings of the 13th annual conference on Innovation and technology in computer science education10.1145/1384271.1384325(199-203)Online publication date: 30-Jun-2008
    • (2008)Software Engineering Practice in Computer Science Courses19th Australian Conference on Software Engineering (aswec 2008)10.1109/ASWEC.2008.4483252(611-616)Online publication date: Mar-2008

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media