Upload
rodger-goodwin
View
215
Download
1
Tags:
Embed Size (px)
Citation preview
NOVEL CURRICULA AND TOOLS FOR JAVA
IN CS1 COURSES
Glenn D. BlankComputer Science & Engineering Department
Lehigh University, Bethlehem, PA, USA
With support from the National Science Foundation (Grants No. EIA-0087977 and 0624553)
and the Pennsylvania Infrastructure Technology Alliance
Outline A “design-first” approach to the first CS
course Elaboration of “objects-first” approach Multimedia introducing classes, methods &
attributes Eclipse, LehighUML and DrJava tools
Intelligent Tutoring System (ITS) support Evaluation results Widening the pipeline of women and
minorities from middle school to college
Who’s on first?From syntax to objects to design
Ongoing debate about how to introduce object-oriented concepts to novices
Syntax-driven approach (traditional): Typically starts with “Hello, World” then arithmetic
Objects-first approach Starts by manipulating classes, objects and methods But objects-first textbooks still tend to emphasize coding
and syntax rather than “object think” Design-first approach:
First learn how to solve a problem Novices need to see the big picture:
Software development is more than just coding It’s understanding a customer’s problem
and designing a solution
So, what is “design-first”? Students learn object-oriented concepts
early and apply them from the start Given a problem description, students
learn how to design a UML class diagram within first two weeks of a CS1 course
Using modern software development tools Eclipse with DrJava & LehighUML
LehighUML plug-in
DrJava plugin
Eclipse IDE
Four easy lessons
1. “Big picture of software development” Compare building a house to constructing software Discussion and small group work with handout (an hour)
2. Objects and classes Multimedia lesson (preferably in lab, 90 minutes)
3. From problem description to class diagram Step by step procedure based on OO design principles
4. Design a class, with ITS help Lab exercise, takes about 90 minutes
Objects and classes: multimedia lesson Implemented in Flash with graphics, animation & sound Core concepts of classes, methods and attributes Eclipse IDE
set up for novices
LehighUML and DrJava
Manipulateconstructorsand methodsfor shapes
Create amethod thatdraws ascene
Demo the multimedia
Plug in a head set for sound Start Microsoft Internet Explorer http://cimel.cse.lehigh.edu login: evb209 password: beit*8 The Universal Computer – breadth-first intro
to Computer Science (with a textbook: see www.cse.lehigh.edu/~glennb/um)
Design First with Java: Objects and Classes
From problem description to class diagram (in eight steps)1. Read the problem description at least twice. Ask questions about anything you don’t understand or needs more explanation. (The students receive a problem description and ask questions.)
2. Put an ‘S’ next to each subject, a ‘V’ next to each verb and an ‘O’ next to each object.
The ATM verifies whether the customer's card number and his her PIN are correct. S V O Oher PIN (a number) are correct. If it is, then the customer can check the account balance, O S V O deposit cash, and withdraw cash. Checking the balance simply displays the account balance. V O V O S O V ODepositing asks the customer to enter the amount, then updates the account balance. S V O O V O Withdraw cash asks the customer for the amount to withdraw; if the account has enough cash, S O V O O V S V Othe account balance is updated. The ATM prints the customer’s account balance on a receipt. O V S V O O
Analyze subjects and objects
The ATM verifies whether the customer's card number and PIN are correct. S V O O OIf it is, then the customer can check the account balance, deposit cash, and withdraw cash. S V O V O V O Checking the balance simply displays the account balance. S O V ODepositing asks the customer to enter the amount, then updates the account balance. S V O V O V O Withdraw cash asks the customer for the amount to withdraw; if the account has enough cash, S O V O O V S V Othe account balance is updated. The ATM prints the customer’s account balance on a receipt. O V S V O O
3. Analyze each subject and object as follows: Does it represent a person performing an action? Then is an actor, ‘R’. Is it also a verb (such as ‘deposit’)? Then it may be a method, ‘M’. Does a subject take a simple value, such as ‘color’ (string) or ‘money’ (number)?
Then it is probably an attribute, ‘A’. Which remaining unmarked noun occurs most frequently? Make it ‘C’ for class. In Eclipse, draw a class for your first class.
R
R
M
M
A A
A
A
A
A A
A
A A
A A
A A
A
C
C
R
M
R
Analyze methods and attributes
4. If a verb has a non-actor object it’s a method, M5. Distinguish attributes, A, and parameters, P: If it doesn’t distinguish instances of a class or store information
about objects, it’s probably a parameter, not an attribute Add attributes to a class in the UML class diagram Add methods in the class diagram While adding methods, include the parameters See the return type of your methods:
“get” methods take the type of the attribute returned “set” methods take “void” return type compute methods take the type of the computed value Methods that answer true/false questions take boolean type
Constructor(s)
Any more classes?
6. If any remaining classes has no attributes, it’s probably an attribute of another class
7. Otherwise, add another class to the diagram and go back to step 4 (analyze its methods and attributes)
8. Draw association links between the classes
Check your design to make sure it makes sense!
Eclipse setup for novices Eclipse
Open source, so it’s free! Widely used in academia and industry Students learn one IDE; learn features as needed Good error messages and syntax support Caveat: it’s complicated for novices to set up and learn! Multimedia explains how to set it up and get started using it
DrJava plug-in (www.drjava.org) Interprets Java expressions from compiled code Supports test-driven programming
LehighUML plug-in Students enter class diagram Generates code stubs for class automatically Instead of syntax, students focus on design
Eclipse for novices demo
Eclipse: incremental compiler, debugger, plugins DrJava interprets any Java expression from byte-
compiled code Supports test-driven development of methods
LehighUML creates UML class diagrams With or without intelligent tutoring support Right click on class diagram > Properties for details
Check it out: Login as cscc1, cscc2, … cscc15 Login connects to a server which provides
intelligent tutoring system support
Lab exercise: Design a movie ticket vending machine
The movie ticket machine displays the movie title, displays the show time (e.g. “2006-11-16 7:00pm”), and displays the price of a ticket (e.g. 8.50). A customer enters money (e.g. 20.50) into the machine. The machine displays the customer’s balance (e.g. 20.50). The customer enters the number of tickets (e.g. 1) into the machine. The machine prints the tickets, and returns the customer’s balance (e.g. 12.00). Print tickets also tracks the number of available seats in the theater so it can tell the customer when the available seats are sold out.
Expert Evaluator – Sally Moritz
Interprets each step of a student’s solution Matches student step with pieces of expert solutions Applies concepts in Curriculum Information Network Produces info packets for rest of ITS
Allows variations from expert solutions Matches synonyms and abbreviations An attribute in expert solution can also be defined as a class
(e.g. class “Time” with TicketMachine’s attribute showTime) “Unknown” elements (can’t be matched to anything in
problem description or solution) are the most problematic Pedagogical advisor encourages student to use terms related
to the problem description
Expert Solution Generator
Generates multiple possible “expert” solutions Analyzes natural language problem description Algorithm similar to what we now teach novices Uses MontyLingua NL parser to tag parts of speech
Student Model – Fang Wei
Challenges: OO design requires understanding
of concepts (not just procedural rules) E.g., class, method, attribute, data type, etc. Concepts depend on prerequisites E.g., attribute vs. parameter attribute, parameter
Student works in an open-ended environment LehighUML plug-in provides some scaffolding Students learn how to apply concepts in design
Limited time for updating the Student Model EE+SM+PA must respond in real student time Bayesian networks can take exponential time
actor
actor_object
object
object_class
class
class_attribute
attribute
attribute_constructor
constructor
doubleint
numeric datatype
datatype
string
datatype_variable
variable
variable_parameter
parameter
variable_returntype
returntype
pass in only
class_method
method
method_constructor
class_constructor
object_constructor
method_parameter
variable_attribute
object_attribute
object_method
double_int
int_string
double_string
method_returntype
datatype_returntype
attribute_method
attribute_parameter
actor_method
A is prerequisite of B A B
Curriculum Information Network of concepts
Two kinds of concepts (KU)
Unique concept, such as attribute or parameter Relationship concept, such as attribute_parameter Relationships emerge because of student
confusions between concepts E.g., student defines movieTitle as a parameter
when he has already defined movieTitle as an attribute
Two kinds of concepts (KU)
Unique concept, such as attribute or parameter Relationship concept, such as attribute_parameter Relationships emerge because of student
confusions between concepts E.g., student defines movieTitle as a parameter
when he has already defined movieTitle as an attribute
Prerequisite relationships
Prerequisite is relationship between concepts or knowledge units:
The concepts a learner needs to understand before understanding a concept
E.g., one needs to under int and double in order to understand numeric_datatype
Relationship concepts are prerequisites of unique concepts and vice versa
E.g., class_constructor -> constructor Understanding constructor doesn’t imply
understanding of class, just how to define a constructor for a class
……
au
ku
d-prereq(ku)1 d-prereq(ku)2d-prereq(ku)N
Atomic Bayesian Network (ABN)
A directed graph composed of one edge(ku,au)(concept or knowledge unit impliesaction unit or step in student solution)
multiple edges(direct-prerequisite(ku),ku)
Noisy-andgeneralizeslogical-and Students must understand all direct
prerequisites of the concept ku in order to understand ku
Since unique concepts (attribute, parameter) and relationship concepts(how to distinguish between attribute and parameter) are not transitive,ABN only needs to consider direct-prerequisites
Three-level architecture
• CM recognizes a student’s cognitive strategies (e.g., hacking vs. analogy)
• HM tracks history of student’s conceptual knowledge
•PDM simulates student’s conceptual knowledge
Evaluation using 240 simulated students:
• Problem Domain Layer is 94% accurate• where accuracy means that given probabilities of a simulated student’s understanding of relevant concepts, SM correctly predicts
student’s solution step• Adding Historical Model increases accuracy to 98.5%
Atomic Dynamic Bayesian Networks
ADBNs extend ABNs to account for knowledge states over successive time slices Each time slice is an ABN connected to next ABN
Evaluated of student model 71 college and high school students in CS1 courses
Compared diagnosed knowledge state for each student with the ones reflected from posttest. Average correct diagnostic rate is 81.8% Improves to 89.5% by adding multimedia observations Average response time after a student enters the solution
step is 0.63 seconds, comfortably real time for the students
Pedagogical Advisor with Learning StylesShahida Parvez
What is an individual learning style?The way a learner perceives and interacts with an environment.Some people like information in the form of pictures / images,
while others like it in written form. Some like to work alone while others like to work in groups. Some prefer concept and theory while others like facts
and concrete experience.
Visual Learner
Auditory Active Learner Learner
Felder-Silverman learning style survey
http://designfirstui.cse.lehigh.edu:8080/servlets-examples/servlet/LearningStyle
Survey has been validated 44 questions determine learning styles along
8 dimensions
Evaluation 49 CS1 students completed four lesson introduction
to object-oriented design After multimedia, students took a multiple choice test on
object-oriented concepts Out of 31 questions, mean of 5.5 errors Confirms previous pre-test/post-test results demonstrating
effectiveness of multimedia (Blank et all 2003, 2005) All students completed TicketMachine design
Average graded score of 96.9/100 (1 point per error) Out of 31 questions, mean of 2.3 errors Lab exercise with ITS help had a significant effect
Using paired-samples t test, the T value is 10.2111, p<.001
Standalone DrJava and LehighUML
Eclipse is popular for large-scale software development, but has a steep learning curve
DrJava (BlueJ, etc.) more suitable for novices? DrJava.exe (from www.drjava.org) New: standalone version of LehighUML
Widening the pipeline
The pipeline for women and minorities entering computer science (CS) and information technology (IT) is shrinking, at a time when the projected demand for IT professionals is growing Camp, 1997, 1999, Cohoon, 2002
“We must take direct action to attract and retain more women to computing at all points in the pipeline (i.e., K-12, undergraduate, graduate, faculty and industry).” Camp 1999
LV (Lehigh Valley) STEMwww.lehigh.edu/stem An NSF-sponsored GK-12 project Faculty and Graduate Fellows lead outreach teams Work with K-12 teachers to develop new curricula
Martian landscape with remotely controlled robot “rovers” created in the basement of an Allentown middle school (now a NASA Explorer school)
Flash introduced in a Bethlehem middle school Design-first curriculum in an Allentown high school
NSF program manager has indicated likely recommendation for a continuing GK-12 project New project also feature smaller Outreach supplements
for grads or undergrads to implement curricula developed by Graduate Fellow teams
Launch-IT (NSF ITEST) www.lehigh.edu/launchit
Build on success of LV STEM and S.T.A.R. Academies Promote academic achievement for at-risk middle & high school
students in the Lehigh Valley 98% of S.T.A.R. students go to college (now in 18th year) Saturdays (once a month) and summer (three weeks) Corporate partners, regional colleges & schools, and parents
Focus on Information Technology (IT) Connect & widen pipeline laid that STEM laid in schools Self-directed multimedia, intelligent tutoring, and one-on-one
mentoring by college undergraduate and graduate students Three teams led by IT faculty and Graduate Fellows
6th and 7th graders: science, math and IT ‘missions’ using remotely controlled robots in a simulated Martian landscape
8th and 9th graders: create web-based juke box or iPod™ as an interactive, animated web site using Flash™
10th through 12th graders: learn Java “design first” with goal of getting AP Java college credit