1 / 40

NOVEL CURRICULA  AND TOOLS FOR JAVA IN CS1 COURSES

NOVEL CURRICULA  AND TOOLS FOR JAVA IN CS1 COURSES. Glenn D. Blank Computer Science & Engineering Department Lehigh University, Bethlehem, PA, USA.

baxter-day
Download Presentation

NOVEL CURRICULA  AND TOOLS FOR JAVA IN CS1 COURSES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NOVEL CURRICULA  AND TOOLS FOR JAVA IN CS1 COURSES Glenn D. Blank Computer 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

  2. 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

  3. 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

  4. 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 Eclipse IDE DrJava plugin

  5. Four easy lessons • “Big picture of software development” • Compare building a house to constructing software • Discussion and small group work with handout (an hour) • Objects and classes • Multimedia lesson (preferably in lab, 90 minutes) • From problem description to class diagram • Step by step procedure based on OO design principles • Design a class, with ITS help • Lab exercise, takes about 90 minutes

  6. 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

  7. 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

  8. 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 ATMverifies 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 depositcash, and withdrawcash. Checking the balance simply displays the account balance. V O V O S O V O Depositingasks the customer to enter the amount, then updates the account balance. S V O O V O Withdrawcashasks the customer for the amount to withdraw; if the accounthas enough cash, S O V O O V S V O the account balance is updated. The ATMprints the customer’s account balance on a receipt. O V S V O O

  9. 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 O Depositing 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 O the 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. C A R A A A R A M A A A A A M R A R A A M A A C

  10. Analyze methods and attributes 4. If a verb has a non-actor object it’s a method, M 5. 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)

  11. 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!

  12. 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

  13. 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

  14. 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.

  15. DesignFirst-ITS architecture

  16. 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

  17. Feedback when student enters an unknown class

  18. Expert Solution Generator Suggested solution Teacher’s problem description

  19. 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

  20. 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

  21. actor double_int actor_object numeric datatype variable_attribute object object_class object_constructor class_method object_attribute class_attribute variable_parameter variable_returntype method_parameter datatype variable attribute_constructor method_constructor pass in only constructor attribute_method int Curriculum Information Network of concepts double int_string actor_method string double_string datatype_returntype object_method datatype_variable class class_constructor method attribute returntype parameter method_returntype A B A is prerequisite of B attribute_parameter

  22. 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

  23. 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

  24. 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

  25. Atomic Bayesian Network (ABN) …… d-prereq(ku)N d-prereq(ku)1 d-prereq(ku)2 multiple edges (direct-prerequisite(ku),ku) Noisy-and generalizes logical-and Students must understand all direct prerequisites of the concept kuin order to understand ku ku composed of one edge(ku,au) (concept or knowledge unit implies action unit or step in student solution) A directed graph au 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

  26. 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%

  27. 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

  28. 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 ActiveLearnerLearner

  29. Pedagogical Advisor architecture

  30. 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

  31. Feedback for a visual / global / sensing / reflective learner

  32. Feedback for a verbal / global / sensing / reflective learner

  33. Feedback for a visual / sequential / intuitive

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. Thank you! glennblank@gmail.com www.cse.lehigh.edu/~glennb designfirst.cse.lehigh.edu Questions?

More Related