Using open-source solutions to teach computing

Download Report

Transcript Using open-source solutions to teach computing

Using Open-Source Solutions to
Teach Computing Skills to
Psychology Students
David Allbritton
DePaul University
http://www.depaul.edu/~dallbrit
Computing for
Behavioral Scientists
• Course for graduate and advanced
undergraduate psychology students
(novice or non-programmers)
• Teaches basic programming and web
development skills applicable to
psychological research
• Implemented with open-source software
Why Teach Programming to
Psychology Students?
• Need for specialized software for
psychological research beyond what is
commercially available
• Gives students more options for doing their
research
• Develop general problem skills and
strategies
Learning Goals
• Develop problem-solving strategies that
could be applied to a variety of computing
tasks
• Develop students’ confidence in their
abilities to learn any new computing skills
that they might need for specific projects
• Apply skills to a project related to
psychological research
Pedagogical Strategy
• Reinforce student efforts with observable
results
• Encourage experimentation
• Encourage finding answers and developing
skills for themselves
• Brief coverage of a wide range of topics to
give a range of tools to choose from
Specific Programming Topics
•
•
•
•
•
•
Unix commands
XHTML
JavaScript (basic programming concepts)
Server-side scripting (Perl, PHP)
Databases (MySQL)
Web database applications
Text and Resources
• Internet & World Wide Web: How to
Program (Dietel, Dietel, and Nieto, 2002)
– Useful reference for numerous topics related to web
development
– JavaScript used to teach basic programming
• Web resources linked from course web site
• Unix “man” pages
• Web search engines to find prototypes
Weekly Lab Sessions
• Computer classroom with networked Windows PC
for each student
• Brief introduction of topic and concepts by
instructor
• Working examples of web pages or programs
provided to students on course web server
• Assignment requiring modification of examples
on course server to accomplish a specific task
Examples of Assignments
• Use Unix commands to produce a word
frequency list for a given text file
• Use XHTML forms to implement a survey
• Use JavaScript and XHTML forms to
implement a simple experiment
• Use server-side scripting and databases to
implement an experiment and store data
Course Implementation with
Open-Source Software
• Course server: Pentium desktop
(http://sheu-hp.psy.depaul.edu)
• RedHat Linux 7.1 (later upgraded to 7.2)
• SSH, ftp, telnet access for students
• Apache 1.3.22 web server
• MySQL 3.23.41 database server
• Perl 5.6
• PHP 4.0.6
Learning Outcomes
• Student comments and evaluations
• Continued use of course server
• Course final projects
Examples of Projects
• XHTML image maps for FACS tutorial
• XHTML forms to collect survey data and deliver
data to researcher via email
• XHTML with Perl CGI to store survey data
• JavaScript statistics teaching demonstration
• PHP scripting with MySQL databases to
– Implement an experiment on consumer decision
making
– Implement an on-line appointment scheduling system
• Web-based collection of ordinal rankings
(Arnott & Allbritton, SCiP 2002)
Advantages of Using
Open-Source Software
•
•
•
•
•
Control for the instructor
Freedom and accessibility for the instructor
Flexibility for the instructor
Freedom and accessibility for the students
Increased learning opportunities for the
students
• Price
Potential Disadvantages
• The instructor is also the system
administrator.
• Training students to use commercial
software could be more immediately
applicable to their work as psychologists,
if the commercial software is more widely used.
Conclusions
• Students developed technical and problemsolving skills that they were then able to
apply to their own work and research.
• Open-source software contributed to the
success of the course both in its
implementation and in its pedagogy.
• For colleges and universities, the opensource philosophy is a “good fit.”