Towards an object-oriented curriculum
TOOLS '93 Proceedings of the eleventh international conference on Technology of object-oriented languages and systems
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Teaching the Nintendo generation to program
Communications of the ACM - Supporting community and building social capital
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
Informatics in education
Automatic extraction of notions from course material
Proceedings of the 39th SIGCSE technical symposium on Computer science education
Another approach for resisting student resistance to formal methods
ACM SIGCSE Bulletin
Teaching the unifying mathematics of software design
Proceedings of the 14th Western Canadian Conference on Computing Education
Object-Oriented Modeling of Object-Oriented Concepts
ISSEP '10 Proceedings of the 4th International Conference on Informatics in Secondary Schools - Evolution and Perspectives: Teaching Fundamentals Concepts of Informatics
WiiLab: bringing together the Nintendo Wiimote and MATLAB
FIE'09 Proceedings of the 39th IEEE international conference on Frontiers in education conference
A programming remediation plan
Journal of Computing Sciences in Colleges
An open-ended environment for teaching Java in context
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Debating the OO debate: where is the problem?
Koli Calling '07 Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88
Hi-index | 0.00 |
Teaching introductory programming today presents considerable challenges, which traditional techniques do not properly address. Students start with a wide variety of backgrounds and prior computing experience; to retain their attention it is useful to provide graphical interfaces at the level set by video games; and with the ever-increasing presence of computing in society the stakes are higher, requiring a computing curriculum to introduce students early to the issues of large systems. We address these challenges through an "outside-in" approach, or "inverted curriculum", which emphasizes the reuse of existing components in an example domain involving graphics and multimedia, a gentle introduction to formal reasoning thanks to Design by Contract techniques, and an object-oriented method throughout. The new course has now been taught twice, with considerable gathering of student data and feedback; we report on this experience and its continuation.