Tools and Techniques for 21st Century Problem Solving that Challenge Conventional Conceptions of Information Literacy Kenneth Luterbach East Carolina University United States luterbachk@ecu.edu Abstract This examination of computer tools and techniques useful for 21st Century problem solving issues a challenge to conventional wisdom about information literacy. First, the presenter demonstrates the utility and elegance of a tool called a database server and a technique known as querying. By learning one particular Structured Query Language (SQL) command, students will be able to solve problems by running queries to find patterns in data. Second, this session presents a tool called a compiler and a technique known as computer programming, which is helpful for working through problems and correcting misconceptions. Computer programming is also an outlet for self-expression and creativity. Though contrary to conventional wisdom, the presenter argues that all high school students should master SQL and computer programming. Context Existing state curriculum standards for information technology (North Carolina Department of Public Instruction, 2012) and international technology standards (International Society for Technology in Education, 2007) do not include requirements to learn either Structured Query Language (SQL) or a computer programming language. Yet, as the presenter will demonstrate, learning just one SQL command (the select command) enables one to solve practical problems by retrieving database records that fit a particular pattern. For example, by learning the select command, students could discover customer buying patterns, which is what online retailers use to sell customers additional products and services. Conventional wisdom, evident in state and international standards, calls for high school students to learn the interface to a database tool, typically a desktop database program. However, such systems retrieve data only from files stored in the vendor’s proprietary format. Learning the select command enables one to retrieve data from every relational database in the world. Learning three more SQL commands (i.e., insert, update, delete) would move a student closer to employment in the information technology field. In the 1980s many students learned the computer programming language Logo (Papert, 1980), but computer programming is no longer in state and international information technology standards. Perhaps owing to an over fascination with moving a turtle, rather than pursuit of solving relevant problems, interest in teaching children problem solving using Logo waned (Resnick, 2012). With little programming in high school, computer programming came to be regarded by many as exceedingly complex. However, those impressions were formed thirty years ago. Over the past five years more than one million people, many children and teenagers among them, have learned Scratch in order to create simulations and games, for instance (Resnick, 2012). Scratch is a computer programming environment with a unique drag and drop interface. By dragging and dropping icons, which represent statements or blocks of computer code, learners assemble, disassemble, and reassemble the code blocks in order to learn computer programming. That unique user interface is not available to learners of computer programming languages such as Perl, Python, or Octave. In those cases, instructors must provide a learning environment (Miliszewska & Tan, 2007) in which students begin with simple tasks and practice those tasks to the point of mastery before progressing (Keller, 2010; Reigeluth & Stein, 1983). Unlike contemporary conventional wisdom, computer programming should be a fundamental component of information literacy (Prensky, 2008, 2012; Resnick, 2012). All students should learn computer programming in order to engage in creative activity; to improve their problem solving skills; and to express themselves through their programs. Like knowledge of SQL, computer programming skill enhances employment prospects. The proliferation of data worldwide has resulted in a global data deluge (World Economic Forum, 2012) with profound effects on science (Trefil, 2008) and the humanities (Manovich, in press). At the least, high school graduates should be able to use the SQL select command to find patterns in data and be able to write a rudimentary computer program. Students who learn more than the minimum may ultimately enjoy a rewarding career. Finding Patterns in Data using a Database Server and the SQL Select Command In these contemporary times, teaching youth to capitalize on the massive stores of data available today is very important. Those data reside in relational databases. With one tool, a database server, and one technique, querying, students can access relational databases any where in the world in order to engage in a form of 21st Century problem solving. Queries to find patterns in data are executed by submitting the SQL select command to a database server. The free and open source database server MySQL (Community Edition), which runs on both Microsoft Windows and Apple Mac OS, is available at http://www.mysql.com. Using fictitious test score data, the presenter will enter and run select commands to identify records that fit particular patterns. For example, to find the records of all students who scored above 90 on a standardized math test, the presenter will use this command: select studentID from testdata where mathScore > 90. To find the records of all students who scored above 90 on both the standardized math test and reading test, the presenter will use this command: select studentID from testdata where mathScore > 90 and readingScore > 90. The presenter will demonstrate additional examples of the select command, proceeding from simple to complex. Complex examples will find patterns in data from two or more database tables. If requested, the presenter will also provide a simple example of the insert, update, and delete commands. The select command alone is sufficcient to solve problems by finding patterns in data, but with knowledge of the select, insert, update, and delete commands, one can operate virtually any relational database system. Problem Solving Using a Complier and a Computer Programming Language The presenter will provide a brief overview of the drag and drop interface of Scratch, but this part of the session is really dedicated to demonstration of a simple learning environment (i.e., a text editor and a window) in which students can first come to understand basic assignment statements and loops. Then, as demonstrated, a small number of assignment statements and two loops will be combine to create a 12-line data mining program called a classifier. A classifier sorts records of data exhibiting particular patterns into specific categories. For demonstration purposes, the presenter will use the free and open-source Perl compiler, which runs on both Microsoft Windows and Apple Mac OS, available at http://www.perl.org. Computer programs manipulate data stored in variables. An assignment statement is used to set (or assign) a value to a variable. typical assignment statement in Perl includes a variable that becomes equal to the result of the expression to the right of the assignment operator, which in Perl is the equal sign, =. The presenter will demonstrate execution of assignment statements and loops by entering the following code, one statement at a time, into a text editor; saving the file; and running the program. numDucks = 25; print numDucks; numDucks = numDucks - 1; print numDucks; numDoves = 5; totalBirds = numDucks + numDoves; print totalBirds; for (a = 1; a <= 5; a++) { print a; } Additional examples will be provided as necessary, based on audience participation. After explaining the output of each statement and loop, the presenter will describe a procedure for classifying data. That procedure will be implemented in a 12-line program, comprised only of assignment statements and loops. The program will classify any type of data, (e.g., student achievement, teacher effectiveness, housing prices, or biomedical test results). Summary of the Presentation First, the presenter will discuss conceptions of information literacy evident in state and international standards, which exclude SQL and computer programming. Second, the presenter will make the case for inclusion of SQL and computer programming in curricula. As noted above, in this global data deluge, students skilled at problem solving using SQL and computer programming will be able to seek gainful employment. Third, the presenter will demonstrate use of the select SQL command in order to solve problems by finding patterns in data. Finally, the computer programming examples will serve to demonstrate a simple to complex approach to learning computer programming. References International Society for Technology in Education (2007). National educational technology standards – students. Viewed October 16 at http://www.iste.org/docs/pdfs/nets-s-standards.pdf?sfvrsn=2 Keller, J.M. (2010). Motivational design for learning and performance: The ARCS model approach. New York, NY: Springer. Manovich, L. (in press). Trending: The promises and the challenges of big social data. In Matthew K. Gold (ed.) Debates in the Digital Humanities. The University of Minnesota Press. Viewed October 16, 2012 at http://www.manovich.net/DOCS/Manovich_trending_paper.pdf Miliszewska, I & Tan, G (2007). Befriending Computer Programming: A Proposed Approach to Teaching Introductory Programming. Issues in Informing Science and Information Technology, 4, 277-289. Viewed October 16, 2012 at http://www.informingscience.org/proceedings/InSITE2007/IISITv4p277289Mili310.pdf North Carolina Department of Public Instruction, (2012). Information and technology essential standards. Viewed October 16, 2012 at http://www.ncpublicschools.org/docs/acre/standards/new-standards/infotechnology/grades9-12.pdf Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. New York, NY: Basic Books. Prensky, M. (2008). Programming is the new literacy. Edutopia. Viewed October 16 at http://www.edutopia.org/programming Prensky, M (2012). Teaching the right stuff: Not yesterday’s stuff or today’s --- but tomorrow’s! Educational Technology, 52 (3), 64. Viewed October 16, 2012 at http://marcprensky.com/writing/Prensky-TheRightStuff-EdTech-May-Jun2012.pdf Reigeluth, C. M., & Stein, R. (1983). Elaboration theory. In C. M. Reigeluth (Ed.), Instructional-design theories and models: An overview of their current status. Hillsdale NJ: Erlbaum. Resnick, M. (2012). Reviving Papert’s dream. Educational Technology, 52 (4), 42-46. Viewed October 16, 2012 at http://web.media.mit.edu/~mres/papers/educational-technology-2012.pdf Trefil, J. (2008). Science education for everyone: Why and what? Liberal Education, 94 (1), 6-11. World Economic Forum (2012). Big data, big impact: New possibilities for international development. Geneva, Switzerland: Author. Viewed October 16 at http://www3.weforum.org/docs/WEF_TC_MFS_BigDataBigImpact_Briefing_2012 .pdf