====== Week 5: Classes, Packages, and Advanced Topics ====== ===== Objectives ===== * Techniques for taking students the next step in object-oriented design and programming. (And further discussion about OOP first vs. procedural first.) ===== Readings for Class Discussion ===== Required Readings * Burton, et al (2003). [[http://dx.doi.org/10.1145/782941.782993|Teaching Programming in the OOP Era]] * Holland, et al (1997). [[http://dx.doi.org/10.1145/268084.268132|Avoiding Object Misconceptions]] * Lieberman, et al (2011). [[http://dx.doi.org/10.1145/1921607.1921611|Difficulties in Learning Inheritance and Polymorphism]] Optional Readings * [[http://dx.doi.org/10.1145/216922.216928|The top 10 reasons why OOP can't be taught in CS1]] * [[http://dx.doi.org/10.1145/1709424.1709458|An Evaluation of Object Oriented Example Programs in Introductory Programming Textbooks]] ===== Topics ===== * Discuss misconceptions surrounding object-oriented programming. * Examples of problems students have when learning inheritance and polymorphism. ===== Lab ====== * AP CS: Fundamental Data Types