Tools and Techniques for 21st Century Problem Solving that

advertisement
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
Download