Human factors and typography for more readable programs
Human factors and typography for more readable programs
A refactoring tool for Smalltalk
Theory and Practice of Object Systems - Special issue object-oriented software evolution and re-engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Improving computer program readability to aid modification
Communications of the ACM
Case study: extreme programming in a university environment
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Structured Systems Analysis: Tools and Techniques
Structured Systems Analysis: Tools and Techniques
What we can learn from extreme programming
Journal of Computing Sciences in Colleges
Adapting Extreme Programming For A Core Software Engineering Course
CSEET '02 Proceedings of the 15th Conference on Software Engineering Education and Training
Using Extreme Programming in a capstone project
ACE '04 Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30
Object-Oriented Thought Process, The (2nd Edition)
Object-Oriented Thought Process, The (2nd Edition)
Teaching students to build well formed object-oriented methods through refactoring
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Hi-index | 0.00 |
Refactoring is the process of transforming the internal structure of existing code while keeping the integrity of the code's functional requirements. Refactoring is proven to increase program maintainability, flexibility, and understandability and is recognized as a best practice in the software development community. However, with the exception of courses or lectures on extreme programming, refactoring is overlooked in the computer science curriculum. This paper helps demystify refactoring by introducing an incremental approach for teaching refactoring on the college level. Through this hands-on approach, refactoring can become an integral component in the computer science curriculum and an innovative means of reinforcing software engineering principles and good development practices. The approach and three introductory lessons are presented in this paper.