TitleIntroductory programming meets the real world: Using real problems and data in CS1
Publication TypeConference Paper
Year of Publication2014
AuthorsAnderson R, Ernst MD, Ordóñez R, Pham P, Wolfman SA
Conference NameSIGCSE: Proceedings of the 45th ACM Technical Symposium on Computer Science Education
Date or Month PublishedMarch
Conference LocationAtlanta, GA, USA
AbstractToo many students in introductory programming classes fail to understand the significance and utility of the concepts being taught. Their low motivation impacts their learning. One contributing factor is pedagogy that emphasizes computing for its own sake and assignments that are abstract, such as computing the factorial function. \par Many educators have improved on such traditional approaches by teaching concepts in contexts that students find more relevant, such as games, robots, and media. Now, it is time to take the next step. \par In this special session, participants will develop and discuss ways to teach introductory programming by means of real-world data analysis problems from science, engineering, business, and the humanities. Students can be motivated to learn programming in order to analyze DNA, predict the outcome of elections, detect fraudulent data, suggest friends in a social network, determine the authorship of texts, and more (see Section 3.4 for more examples). The approach is more than just a collection of ``nifty assignments'': rather, it affects the choice of topics and pedagogy, all of which together lead to greater student satisfaction. \par The approach has been successfully used at 4 colleges and universities. The classes were effective for both CS and non-CS majors. Neither the computing material nor the problems need to be ``dumbed down''. At the end of the term students were amazed and delighted at the real data analysis that they could perform. They were excited about applying computation in their work and about learning more. \par The special session contains a mix of activities, including comparative analysis of introductory classes; group discussion of curriculum design; a mini-panel discussing how the approach has worked in practice; and brainstorming about example assignments and curriculum revision.
Downloadshttps://homes.cs.washington.edu/~mernst/teaching/data-programming/ Data Programming class at UW https://homes.cs.washington.edu/~mernst/pubs/data-programming-sigcse2014... PDF
Citation KeyAndersonEOPW2014