Abstract

Colleges and universities must expose their students of computer science to object-oriented programming (OOP) even if the majority of the faculty believes that OOP is not the proper programming paradigm for novices. OOP is an important paradigm of thought, and OOP languages are widely used in commercial settings. Ignoring these facts means to ignore the students' needs.In the past, institutions that introduce functional programming first have explained object-oriented programming via closures and method-oriented dispatch. Put differently, in such courses, students learn to implement objects, message passing, and delegation. They do not learn to design object-oriented programs. Although I firmly believe that our students benefit from such knowledge, I will argue that it is inappropriate as an introduction of object-oriented programming.My talk will instead present a novel approach to the first-year programming curriculum. Specifically, I will explain how a functional semester ideally prepares students for the true essence of object-oriented programming according to Alan Kay: the systematic construction of small modules of code and the construction of programs without assignment statements. Experience shows that these courses prepare students better for upper-level courses than a year of plain object-oriented programming. Initial reports from our students' co-op employers appear to confirm the experiences of our upper-level instructors.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.