design-process-non-majors.ppt: uploaded 23 February 2005 at 9:23 am

advertisement
Design Process for a NonMajors Computing Course
Mark Guzdial & Andrea Forte
College of Computing/GVU
Georgia Institute of Technology
With thanks for support to NSF CCLI and CISE EI, College of
Computing/GVU
Story




Aiming for computing for all:
Addressing low success rates and
student/faculty disinterest
Definition of success: Improved success,
long-term impact
Our design process: Objectives, context,
feedback, infrastructure, then course.
Follow-up study
Aiming for Ubiquitous Computing
Education

All Georgia Tech undergrads are required to take a
course in computing.



For first three years of requirement, only one course
met the requirement.



A statement about the importance of computing.
One that Alan Perlis would agree with!
Low success rates.
Student and faculty dissatisfaction
Enter: CS1315 Introduction to Media Computation


Meets requirement.
Create especially for Architecture, Management, and
Liberal Arts students.
Definition of Success for a Non-Majors
Computing Course
Students should succeed at the course at a
higher rate than in the CS-majors course.
1.


If we’re designing for them, then they should succeed at
it.
If they don’t, our design is flawed.
The students should have a sense that the
course impacted them, beyond the single term.
2.


For most students, it will be their only course in
computing.
If no lasting impact, then we’ve lost our sole opportunity to
influence these students.
A Design Process for a Non-Majors
Computing Course
Set objectives
Choose a context
Set up a feedback process
Define infrastructure
1.
2.
3.
4.

5.
Pick your language
Define the course
Set objectives

Where are your students coming from?



Where are your students going?
Where do they want to end up?



For us: No previous programming experience.
Implication: Can’t talk about the abstractions until they get
some experience.
They will not be software developers, but they will be tool
modifiers.
Implication: Software engineering issues matter less here.
Goal: Improve issues raised in literature.

Relevance, creativity, social experience.
Choosing a Context

Without a context, a computing course is a bad
mathematics class.



We chose Communications as a context relevant to
Architecture, Management, and Liberal Arts.
Our course context is Media Computation: Using the
computer for communications, not calculations.



Abstract, irrelevant, unlikely to transfer.
Created synergies to address other issues.
For example, if creating media artifacts, there is something
to share to help create a social context.
Other contexts viable: Web programming,
visualization of data, etc.
Set up feedback process

Students



On-line surveys
Pizza lunch forum
Faculty


Panel of faculty from across campus.
Roles:



Feedback on ideas.
Suggesting issues, answering questions.
Creating local expertise for approval process!
Define an Infrastructure


Key issue: Picking a language.
Key insight: Non-CS faculty may know as
little about computing as their students!


Yet, they own the curriculum, and they are
responsible for what their students take.
Several languages were considered:
Scheme, Java, Squeak, Python.
(Our Perception) Non-CS Faculty
Decision Process for Language

Is it appropriate for beginners or novices who are
not computing majors?


Is it easy to learn?


Google “java” then “python” and see how often the phrase
“easy to learn” appears.
Might it help with learning other languages later?


Use at MIT, or in upper-division CS courses is a negative.
Visit a bookstore.
Who uses it that I know?


Python: Nextel, Industrial Light & Magic, Google—WIN!
Couldn’t vet Squeak
Building and offering the course

Most of Computer Science
at the end of the course.


Swap CS content for
context content.


Wait for them to have
questions and experience.
Nyquist Theorem vs.
efficiency.
Heavy use of CoWeb.


For sharing and creating a
social context.
Over time: “mine can’t be
beat.”
Considering our definition of success
 “I just wish I had more time
to play around with that
and make neat effects. But
JES [course development
environment] will be on my
computer forever, so…
that’s the nice thing about
this class is that you could
go as deep into the
homework as you wanted.
So, I’d turn it in and then
me and my roommate
would do more after to see
what we could do with it.”
Enrollment
Success
Rate
Georgia Tech’s CS 1
2000 - 2002
930
71.2%
Spring 2003
120
90.0%
Fall 2003
303
86.5%
Spring 2004
395
86.9%
Summer 2004
120
73.3%
Fall 2004
366
80.3%
(average)
Media Computation
Following-up Survey:
Did it have a lasting impact?


In Spring 2004, conducted an email survey
with students from Spring 2003 (n=120) and
Fall 2003 (n=303) students.
59 responses


11 (19%) had written a Python program on their
own since the class had ended.
27% had edited media that they hadn’t previously.
“Did the class change how you interact
with computers?”


20% said no.
80% said yes, but it was also more about
changing how they thought about computers.


“Definitely makes me think of what is going on behind
the scenes of such programs like Photoshop and
Illustrator.”
“I feel more comfortable around computers and
like I could learn and understand other computer
programming languages more easily.”
Impact doesn’t mean becoming a
computer scientist

“Other than making me a little more aware about
what I can make the computer do, it hasn't
changed the way I particular interact with
technology. Yet I am uninterested in this field.
However, I now have a MUCH better
understanding of the people who are interested
in this field, how they view things, and how to
interact with them more easily. For this, I
appreciate the CS class greatly.”
Conclusion


By our definition, the course has been
successful.
We believe that our process can be followed
by others to create other successful nonmajors courses.
Download