ABSTRACT
The teaching of the development of library units seems to lack the attention it deserves in undergraduate education. References to such topic can be found mainly for the professional programer. CS2 provides a great opportunity to teach an initial set of best practices and patterns for the design library units which provide students with a strong foundation for later use in the development of APIs. We present a carefully selected set of patterns and best practices culled through several years teaching data structures. These patterns and practices are aimed to guide the student in the specification, implementation and testing of library units.
- J. Block. Effective Java. Prentice Hall. 2nd Ed. 2008Google Scholar
- Gamma E., R. Helm, R. Johnson, V. Vlissides. Design Patterns. Addison-Wesley. 1995Google Scholar
- Gelfand N., M. T. Goodrich, R. Tamassia, Teaching Data Structure Design Patterns, ACM SIGCSE '98. Google ScholarDigital Library
- Henning M. Why API design matters. Communications of the ACM. May 2009, vol. 52, no. 5. Google ScholarDigital Library
- Hoffman D. On Criteria for Module Interfaces. IEEE Trans. on Soft. Eng. V16, 5, 1990. Google ScholarDigital Library
- Kuhne, T, Kovac, V. Functional Pattern System for Object-Oriented Design. Kovac Pubs. Hamburg, Germany. 1999Google Scholar
- Liskov B. Program Development in Java: Abstraction, Specification, and Object-Oriented Design. Addison Wesley. 2000. Google ScholarDigital Library
- Martin, R. C. Agile Software Development. Prentice Hall. 2003.Google Scholar
- Meyer B. Object Oriented Software Construction. 2nd Ed. Prentice Hall. 2000. Google ScholarDigital Library
- Naftalin, N., Wadler P. Java Generics and Collections. O'Reilly, 2006. Google ScholarDigital Library
- Niño, J. Hosch F. An Introduction to Programming and Object Oriented Design Using Java. Third Ed. Wiley. 2008. Google ScholarDigital Library
- Niño J. Java From The Trenches: Dealing with Object Orientation and Generics. Journal Of Computer Science in Colleges. Vol 22, No. 5. pgs. 12--22. 2007 Google ScholarDigital Library
- Niño J. Introducing API Design in CS2. Journal Of Computer Science in Colleges. Vol 24, No. 4. pgs. 109--116. 2009 Google ScholarDigital Library
- Parnas, D. Software Aging. Proc. of 16th Int. Conference Software Engineering. 1994. Google ScholarDigital Library
- Riehle Dirk. Fundamental Class Patterns in Java. 8th Conference on Pattern Languages of Programs. September 11--15/2001. Monticello, IL.Google Scholar
- http://drjava.org/Google Scholar
Index Terms
- Library unit development fundamentals
Recommendations
Best managerial practices in agile development
ACM SE '14: Proceedings of the 2014 ACM Southeast Regional ConferenceAgile development has been gaining momentum over the year. It practices are perceived by some to be the best for software development. This work investigates agile best development and managerial practices, specially the benefits for optimizing the ...
Teaching mobile web application development: challenges faced and lessons learned
SIGITE '12: Proceedings of the 13th annual conference on Information technology educationGiven the increasing popularity of smartphones and their accompanying applications, a number of Higher Education (HE) institutions in the UK are offering a mobile applications development module as part of their undergraduate degrees. Each institution ...
Professionalism and Test-Driven Development
A professional software developer ships clean, flexible code that works-on time. Unfortunately, many software developers use high-stress heroics to ship late, buggy, messy, and bloated code. Test-driven development is a discipline that helps developers ...
Comments