Supporting Creativity and User Interaction in CS 1

advertisement
Supporting Creativity and User
Interaction in CS 1 Homework
Assignments
Tammy VanDeGrift
Associate Professor of Computer Science
ACM SIGCSE 2015
ACM SIGCSE 2015
Outline
Background
• CS 1 Assignment Features
• Motivation
Study
• Context, Participants, HW, Methods, Data
Research Questions, Results and Discussion
ACM SIGCSE 2015
CS 1 HW Options
Lab exercises
Programming to
precise specifications
CS 1 HW
Short-answer
questions
Tracing, debugging
code
ACM SIGCSE 2015
Design Elements and Goals
HW Design Element
Specification includes
required and open-ended
parts
Over half require user tests
Requires written
documentation
Goal
Encourage creativity and
customization
Encourage connection to the
user
Encourage authority and
ownership of process and
product
Elmore, T. 2010. Generation iY: Our Last Chance to Save Their Future. Pet Gardener Publishing.
Homework Asst
Creativity
CS Concepts
1) Fortune Teller
Choose fortune
Variables,
I/O
ACM SIGCSE 2015
2) Madlib
Choose Madlib and where
to place operations
I/O, Strings
Design graphics layout
I/O, graphics, selection
Study
(Homework
Assignments)
4) Golf
Design graphics layout;
Graphics, selection, iteration
3) Greeting Card
wind and speed
5) Wheel of Fortune
Choose puzzles; option spin
wheel
Random numbers, selection,
iteration, arrays, methods
6) Library
Choose classes to design
UML, class design, methods,
instance variables
7) Game Player
Choose game player to
model
Classes, instance variables,
methods, constructors
8) Image
Transformation
Choose image filters
Arrays of objects, interfaces, loops
9) Inheritance
Choose assignment
Inheritance, class relationships
10) Palindromes
Choose property for search
Recursion, file I/O, exceptions
For HW and starter code, visit: https://sites.up.edu/sigcse2015/
ACM SIGCSE 2015
A Greeting Card Program
Your program will create a Java applet that displays a graphical birthday card. If
you would rather create a card for a different occasion (Valentine’s Day,
Anniversary, Christmas, Halloween, Thank you, Sympathy, etc), you may do so.
Specification (7 points functionality)
Getting input (1 pt for the dialog windows). Put these in the init method in your
code.
The user of your program should be greeted with a dialog window
message, such as "Welcome to the birthday card program."
In an input dialog window, the user should be asked for the name to whom
the birthday card should be addressed. Trim the input.
In an input dialog window, the user should be asked for the name from
whom the birthday card is being sent. Trim the input.
In an input dialog window, the user should be asked for the age of the
birthday person. Trim the input. You do not need to validate that this is a
proper number for this assignment.
In an input dialog window, the user should be given the option of drawing
1, 2, or 3 items of your choosing. In the starter file, you will see how one or two
trees are drawn. (In your greeting card drawing, you might draw one, two, or
three flowers, candles, balloons, clouds, etc.).
ETC.
ACM SIGCSE 2015
ACM SIGCSE 2015
Study (Context)
Participants:
• 44 students gave consent
Institution:
13, 30%
Male
31, 70%
Course:
2 sections of CS 1
Spring 2012
Java
Assumes no prior experience
1
1 1
2
1
Female
CS
1
EE
2
Math
19
4
General Engr
Biology
ME
Sociology
4
Psychology
8
Economics
Education
ACM SIGCSE 2015
Study (Research Questions)
1. Does allowing students to exercise creative
freedom motivate students to learn and
complete homework?
2. Does asking students to share their programs
with non-programmers engage their learning?
ACM SIGCSE 2015
Study (Methods and Data)
• End-of-semester paper survey
▫ Overall feedback about HW
▫ User Tests
▫ Open-ended aspects of HW
• Open-ended questions: used content analysis
• Aggregated numbers for quantitative questions
ACM SIGCSE 2015
Results: Q1) Does allowing students to exercise
creative freedom motivate students to learn and
complete homework?
What did you like best about the HW?
ACM SIGCSE 2015
Results: Q1) Does allowing students to exercise
creative freedom motivate students to learn and
complete homework? (continued)
Creativity
• The homework
assignments were
challenging, yet, at
the same time
allowed us to be
creative. Also,
allowed us to
implement the
knowledge we, as
students, have
learned in class to
create the program.
Matched Material in
Course
• I liked that they
were well guided.
The pseudocode
really helped. I also
liked that they go
with what we are
learning in class
and also build upon
all of the skills we've
gained. The ability
to be creative with
the assignments is
very nice as well.
Skill Development
• I liked the part in
that it enhanced
your
programming
skills and show you
what the field is like.
• The opportunity to
apply the code
and create programs
with practical
applications.
ACM SIGCSE 2015
Results: Q1) Does allowing students to exercise
creative freedom motivate students to learn and
complete homework? (continued)
Question
Result
Did you enjoy the open-ended parts of the
assignments?
41 / 44 said yes
Did you complete additional optional
enrichment?
27 / 44 said yes
Did you write programs that were not part of
the course?
15 / 44 said yes
Favorite?
HW 8, HW 4, HW 9
Least favorite?
HW 6 (no coding)
Completion rates
505 / 510
assignments
submitted
ACM SIGCSE 2015
Results: Q1) Does allowing students to exercise
creative freedom motivate students to learn and
complete homework? (continued)
What factors motivated you to complete HW?
Was capable in completing them
Career
77% had motivation
other than grades to
complete HW
Fun; satisfying
Practice programming skills; Improve skills
Learn concepts
Interested in how computers work; Interest in
material
Impact to Final Grade; Get Good Grade
0
5
10
15
20
25
30
35
ACM SIGCSE 2015
Results: Q1) Does allowing students to exercise
creative freedom motivate students to learn and
complete homework? (continued)
What factors motivated you to
complete HW? (sample answers)
I wanted to get a chance
to show what I have
learned and put my
skills to the test.
Obviously, I did them
for earning the grade as
well.
I really like coding and
solving problems so I really
enjoyed the HW
grades, I want to get better
at CS, fun, I could show my
friends later, very
satisfying feeling after
completing the HW
I found that I really
enjoyed solving the
problems set for me.
I liked the time I
spent programming.
ACM SIGCSE 2015
Results: Q2) Does asking students to share their
programs with non-programmers engage their
learning?
Average
number of
different people
per student: 3.4
With whom did you share your programs?
Other
Professor
53% of users
showed an
interest in
computer
science
Siblings
Parents
Friends
0
10
20
30
40
50
ACM SIGCSE 2015
Results: Q2) Does asking students to share their
programs with non-programmers engage their
learning? (continued)
What concepts did you explain in the user
tests? (free response)
ACM SIGCSE 2015
Results: Q2) Does asking students to share their
programs with non-programmers engage their
learning? (continued)
Question
Result
Did the required user test impact
when you started HW assignments?
Yes = 9, No = 1, Did not matter = 34
Did having a user run the program
impact your effort?
Yes = 17, No = 27
What surprised you when sharing
programs with users?
Catch bugs (6)
Users tried invalid data (4)
Interested in how code worked (4)
Gave improvements (4)
Enjoyed it (4)
Helped with usability (2)
User did not read directions (1)
Easy to impress user (1)
ACM SIGCSE 2015
Discussion
Bias: 44 of 51 students gave
consent, instructor did not look
at surveys until after grades were
submitted
Creativity/Ownership: Over 38%
stated in open-ended question
that creativity/open-ended was
one of the features they liked
about the HW
Challenges: does not lend itself
to automated grading, may be
difficult for students to code to
precise specification later in
curriculum
Benefits: students learn about
ambiguity, students learn about
defining requirements, students
want to complete HW
ACM SIGCSE 2015
Questions?
• We acknowledge the students who participated in this study.
• I want to thank Dr. Karen Eifler (School of Education, University of
Portland) for fruitful discussions about this study.
For the HW assignments, visit:
https://sites.up.edu/sigcse2015/
Download