Revitalizing the CS Curriculum David Klappholz (Stevens) Steven Condly (UCF) Allen Johnson (HTU) Ken Modesit (IPFW) Vicki Almstrum (UT Austin) Cherry Owen (UTPB) **************************** Intelligence and Expertise Interactions with Implications for Training, Education, and Transfer Software Development • • • • • • • Requirements Engineering High-Level Design Low-Level Design Implementation Testing Deployment Maintenance & Enhancement Taught in CS Programs • • • • • • • Requirements Engineering (sometimes) High-Level Design (sometimes) Low-Level Design (always) Implementation (always) Testing (just a bit, if at all) Deployment (sometimes) Maintenance & Enhancement (never?) When/Where? • Requirements Engineering (usually in an RPRCC, if there is one. Almost never if there isn’t one) • High-Level Design (SE course; OOA&D course; often not required) • Low-Level Design (core CS courses) • Implementation (core CS courses) • Testing (a tiny bit in CS1/CS2; SE course – often not required; often in an RPRCC, if there is one) • Deployment (usually in an RPRCC, if there is one. Almost never if there isn’t one) • Maintenance & Enhancement (never?) Can Be Offshored? • • • • • • • Requirements Engineering (*) High-Level Design (**) Low-Level Design (**********) Implementation (**********) Testing (*****) Deployment (*) Maintenance & Enhancement (?) Gender of Those With Greatest Interest & (Probably) Greatest Innate Ability, Especially if Project is Socially Relevant? • • • • • • • Requirements Engineering (F) High-Level Design (M/F) Low-Level Design (M) Implementation (M) Testing (M/F?) Deployment (F?) Maintenance & Enhancement (nobody?) And Yet We: • Worry about recruiting CS majors in the face of offshoring • Wonder why the software development failure rate is as high as it is (Chaos Reports) • Why almost no young women are entering CS majors • Spend millions of dollars on interventions to get young women excited about programming (Alice, TeachScheme, IBM and Microsoft summer camps for girls) Possible Solution: RPRCC-Centric CS Curricula RPRCCs: Real Projects for Real Clients Courses • Senior-Level Capstone Course • Sophomore/Junior-Level Web Programming Course – Students love it – No technical content need be sacrificed • Sophomore/Junior-Level DBMS Course – Students love it – No technical content need be sacrificed • Freshman-Level Web Site Design Course – Programming need not be a pre-requisite – No programming need be taught – GUI design, some web-page development tool, and, possibly some HCI are taught – Students in a later course do the implementation, etc. – Choose at least some of the projects for social relevance, to attract young women • High School: precisely the same as freshman-level college course RPRCC-Centric Curriculum • RPRCCs at all levels • No reduction in technical courses or in technical content of any existing courses – including RPRCC-ified courses • Benefits: next slide Benefits – Recruitment and retention of young women & members of under-represented minorities – All students learn more non-offshorable skills – Each important software development topic and skill is taught informally in earlier RPRCCs and then covered in more detail or more formally in one or more later RPRCCs (continued on next slide) Benefits • In early RPRCC teach relatively informal requirements engineering and requirements documentation techniques, with more formal specification techniques taught in later RPRCCs • Teach simple cost and effort estimation/scheduling in early courses… • Introduce large-project skills in capstone course or as part of a separate late-curriculum SE course. Students learn skills needed for large projects after they already understand the need for small-project SE skills and are better prepared intellectually to understand when and why large-project skills are needed. Benefits • Introduce large-project skills in capstone course or as part of a separate late-curriculum SE course. Students learn skills needed for large projects after they already understand the need for small-project SE skills and are better prepared intellectually to understand when and why large-project skills are needed. • There are skills that can only be learned through repeated use – e.g., choosing a development process at a proper point between light-weight (or agile) and heavier weight • Repetitive, incremental approach to teaching RPRCC skills help students better learn concepts that are easy to explain but difficult to perform, such as risk management Benefits Real Projects for Real Clients Requires (Learning) Real Testing Intelligence and Expertise Interactions with Implications for Training, Education, and Transfer Intelligence • Capacity for learning, reasoning, understanding, and similar forms of mental activity; aptitude in grasping truths, relationships, facts, meanings, etc. • The ability to comprehend; to understand and profit from experience • Represented by symbol g Facts About Intelligence • Most studied phenomenon in psychology • Can be reliably measured with a highly gloaded test (e.g., Ravens PM and APM) • Resultant “score” (IQ) single most valid predictor of success in life (grades, amount of schooling, income, job prestige, likelihood of incarceration, resilience) Facts About Intelligence • Is essentially a genetic phenomenon, though is affected by environment • Attempts to raise collective IQ scores substantially and persistently have failed • Illegal to measure in schools (except for special education / gifted enrollment) • Mostly illegal to measure in the workplace Expertise • Skill or knowledge in a particular area • Skillfulness by virtue of possessing special knowledge • Anyone can become an expert in any domain if you practice smart and hard enough How Intelligence Influences Expertise • Has a predisposing effect on student readiness – High IQ students more likely to enter class better prepared • Affects the rate at which information is acquired, processed, stored, retrieved, and utilized • Assists in adaptation / adjustment in application of skills • Contributes to originality / creativity Transfer • The application of knowledge learned in one setting or for one purpose to another setting or purpose. • Initial transfer is explained in terms of overlap of declarative components • Sustained transfer, in terms of procedural (skill) components • The best way to get information about the conceptual understanding required for transfer in a problem domain is to perform a cognitive task analysis Transfer • Near transfer examples – Racquetball to tennis – Authentic training session to work setting (e.g., airplane simulator) • Far transfer examples – Discrete mathematics to programming • Proof by induction to proving loop correct – Software development risk management to retirement investment risk management – Cooking with a wok to driving – Riemannian Geometry to General Relativity Factors Crucial to Strategy Transfer • User’s conscious evaluation of strategy effectiveness • Degree to which learner understands the conditions under which the strategy applies • Details of how to apply the strategy • Attribution of success to effort and strategy use • Screening out distracting thoughts • Amount of relevant declarative knowledge possessed by strategy user Transfer • Intelligence moderates degree of spontaneous (uncued) transfer and distance of transfer • Trainers want trainees to acquire new knowledge and to use that knowledge at work • So, teach work-specific (i.e., domainspecific) knowledge Bibliography • • • • • • • • • • • Ericsson, K. A., & Charness, N. (1994). Expert performance: Its structure and acquisition. American Psychologist, 49(8), 725-747. Ericsson, K. A., Charness, N., Feltovich, P. J., & Hoffman, R. R. (Eds.). (2006). The Cambridge Handbook of Expertise and Expert Performance. New York: Cambridge University Press. Gick, M. L., & Holyoak, K. J. (1983). Schema induction and analogical transfer. Cognitive Psychology, 15(1), 1-38. Gottfredson, L. S. (1996). Societal consequences of the g factor in employment. Journal of Vocational Behavior, 29(3), 379-410. Gottfredson, L. S. (1997). Why g matters: The complexity of everyday life. Intelligence, 24(1), 79-132. Haskell, R. E. (2001). Transfer of learning: Cognition, instruction, and reasoning. San Diego: Academic Press. Jensen, A. R. (1998). The g factor: The science of mental ability. Westport, CT: Praeger. Johnson-Laird, P. N. (2005). Mental models and thought. In K. J. Holyoak & R. G. Morrison (eds.), The Cambridge Handbook of thinking and reasoning (pp. 185-208), New York: Cambridge University Press. Neisser, U., Boodoo, G., Bouchard, T. J., Boykin, A. W., Brody, N., Ceci, S. J., Halpern, D. F., Loehlin, J. C., Perloff, R., Sternberg, R. J., & Urbina, S. (1996). Intelligence: Knowns and unknowns. American Psychologist, 51(2), 77-101. Ross, P. E. (2006). The expert mind. Scientific American, 295(2), 64-71. van Merrienboer, J. G. G. (1997). Training complex cognitive skills: A four-component instructional design model for technical training. Englewood Cliffs, NJ: Educational Technology Publications.