Abstract
This investigation used two groups of CS1 students. The control group was taught with a more traditional synthesis approach emphasizing language use using bottom-up explanations. The treatment group was taught with a software engineering-oriented analysis approach and emphasized topdown functional decomposition. The results indicate that a software engineering approach can produce significantly better student performance than a more traditional approach.
- 1. Ayen, W., & Grier, S., A New Environment for Teaching Introductory Computer Science. SIGCSE Bulletin, 15, (1), (1983) 258-264. Google Scholar
Digital Library
- 2. Brown, D., Requiring CSI Students to Write Requirements Specifications: A Rationale, Implementation Suggestions, and a Case Study. SIGCSE Bulletin, 20(1), (1988) 13-16. Google Scholar
Digital Library
- 3. Deneen, L. & Pierce, K., Development and Documentation of Computer Programs in Undergraduate Computer Science Courses. SIGCSE Bulletin, 20(1), (1988) 17-21. Google Scholar
Digital Library
- 4. Ford, G., A Software Engineering Approach to First Year Computer Science Courses. SIGCSE Bulletin, 14(1), (1982) 8-12. Google Scholar
Digital Library
- 5. Gabrini, P., Integration of Design and Programming Methodology into Beginning Computer Science Courses. SIGCSE Bulletin, 14(1), (1982) 85-87. Google Scholar
Digital Library
- 6. Henderson, P., Anatomy of an Introductory Computer Science Course. SIGCSE Bulletin, 18(1), (1986) 257-263. Google Scholar
Digital Library
- 7. Henderson, P., Modern Introductory Computer Science. SIGCSE Bulletin, 19(1), (1987) 183-189. Google Scholar
Digital Library
- 8. Kurtz, B. & Adams, J., Using Concept Expansion and Level Integration in an Introductory Computer Science Course. SIGCSE Bulletin, 20(1), (1988) 244-247. Google Scholar
Digital Library
- 9. Maxlack, L., Introducing Subprograms as the First Control Structure in an Introductory Course. SIGCSE Bulletin, 15(1), (1983) 265-270. Google Scholar
Digital Library
- 10. Mayer, R., The Psychology of how Novices Learn Computer Programming. Communications of the ACM, 13(1), (1981) 121-141. Google Scholar
Digital Library
- 11. Pratt, T., Teaching Programming: A New Approach based on Analysis Skills. SIGCSE Bulletin, 20(1), (1988) 249-253. Google Scholar
Digital Library
- 12. Rehmer, K. & Rising, L., Teaching Data Abstraction in a Beginning Pascal Class. SIGCSE Bulletin, 18(1), (1988) 82- 85. Google Scholar
Digital Library
- 13. Riley, D., Teaching Problem Solving in an Introductory Computer Science Class. SIGCSE Bulletin, 13(1), (1981) 244-251. Google Scholar
Digital Library
- 14. Sleeman, D., Computer Programming. Communications of the ACM, 29(9) (1986). Google Scholar
Digital Library
- 15. Soloway, E., Learning to Program = Learning to Construct Mechanism and Explanations. Communications of the ACM, 29(9), (1986) 850-858. Google Scholar
Digital Library
- 16. Texel, P., Ada_Education := Design_Concepts "+" Ada_Constructs;. SIGCSE Bulletin, 14(1), (1982) 201-204. Google Scholar
Digital Library
- 17. Weiss, D., An Enhanced Pseudo-code Notation. SIGCSE Bulletin, 13(4), (1981) 21-24. Google Scholar
Digital Library
- 18. Wirth, N., Program Development by Stepwise Refinement. Communications of the ACM, 14(4), (1971) 221- 227. Google Scholar
Digital Library
Index Terms
Using a software engineering approach to CS1: a comparative study of student performance
Recommendations
Applying software engineering in CS1
ITiCSE '13: Proceedings of the 18th ACM conference on Innovation and technology in computer science educationThis 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 ...
What makes a good software engineer?
TRI-Ada '89: Proceedings of the conference on Tri-Ada '89: Ada technology in context: application, development, and deploymentSince the term “software engineering” was coined some 20+ years ago, [4] a number of definitions for both the practice and the practitioner, a “software engineer,” have been proposed. The definition from a recent report on undergraduate software ...
Software Systems Engineering programmes a capability approach
Discusses undergraduate programmes that prepare graduates for a career building software intensive systems.Presents detailed description of capabilities that graduates should have acquired.Derived from historical discussions of the field.Explains ...






Comments