$30 off During Our Annual Pro Sale. View Details »

CSC309 Lecture 06

CSC309 Lecture 06

Software Engineering II
Code Review I
(202301)

Javier Gonzalez-Sanchez
PRO

January 22, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSC 309
    Software Engineering II
    Lecture 06:
    Final Project
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  2. jgs
    Your Project

    View Slide

  3. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 4
    Timeline
    Week 02 We are Here
    Sprint Review I
    Week 04
    Sprint Review II
    Week 06
    Sprint Review III
    Week 08
    Final Presentation
    Week 10

    View Slide

  4. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 5
    • Demo (run and showcase new features)
    Github:
    • Source code and individual commit activities
    • Unit Test Cases (when needed)
    Taiga:
    • Backlogs (Product and Sprint)
    • Every Backlog Item has an estimation and priority approved and known
    by ALL team members.
    • Task board (per Sprint) – who did what.
    • Burndown chart
    Astah:
    • Reliable UML class diagram + software architecture
    RSM (and calculate A, I, D):
    • Metrics (Both Code and Structural)
    Core Artifacts | More are to be added later

    View Slide

  5. jgs
    Customer

    View Slide

  6. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 7
    Disclaimer
    This is your Customer
    speaking…

    View Slide

  7. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 8
    Disclaimer
    Are you going to give us a
    Checklist?
    Or some written specifications?
    No, not exactly.

    View Slide

  8. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 9
    Disclaimer
    The professor did not explain
    what he want in the project
    It is very difficult to
    complete the project without
    proper specifications.
    🙁

    View Slide

  9. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 10
    Disclaimer
    The Software Development
    Process starts with the
    Elicitation of Requirements.
    Ask your customer for
    clarifications.
    Document features.
    Validate priorities, etc.

    View Slide

  10. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 11
    An Intelligent Tutoring system
    to coach students in learning Programming
    Specifically, Learning (Flowchart Diagram ßà Coding à Metrics)
    Goal

    View Slide

  11. jgs
    Core Ideas

    View Slide

  12. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 13
    §A coach for seatwork/homework
    §Responsible for planning, organizing, and delivering
    an appropriate range of activities (problems to be
    solved) for students while helping them appropriately.
    What is an Intelligent Tutoring System?

    View Slide

  13. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 14
    §It is not the instructor
    §Do not deliver lectures (or videos).
    §Do not replace taking a class.
    §It is not a tool for multiple-choice quizzes.
    §It is not an eBook
    What is NOT an Intelligent Tutoring System?

    View Slide

  14. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 15
    45°


    30°
    40°

    What is the value of x?
    x = 25
    Answer
    Answer-Based Tutoring

    View Slide

  15. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 16
    45°


    30°
    40°

    What is the value of x?
    x =
    Step-Based Tutoring
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    x=25
    Step
    Step
    Step
    Step
    Step
    Step
    Step
    Answer

    View Slide

  16. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 17
    45°


    30°
    40°

    What is the value of x?
    x =
    Feedback
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    x=25
    y = 250
    40+30+y=180
    A comment on one of the student’s steps
    Oops! Check your
    arithmetic.
    OK

    View Slide

  17. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 18
    45°


    30°
    40°

    What is the value of x?
    x =
    Feedback
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    x=25
    y = 250
    40+30+y=180
    Or a hint sequence
    Oops! Check your
    arithmetic.
    OK

    View Slide

  18. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 19
    45°


    30°
    40°

    What is the value of x?
    x =
    Feedback
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    x=25
    y = 250
    40+30+y=180
    Hints become more specific
    You seem to have
    made a sign error.
    OK

    View Slide

  19. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 20
    45°


    30°
    40°

    What is the value of x?
    x =
    Feedback
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    x=25
    y = 250
    40+30+y=180
    Hints segue from
    commenting on the
    student’s step to
    suggesting a better step.
    Try taking a
    smaller step.
    OK

    View Slide

  20. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 21
    45°


    30°
    40°

    What is the value of x?
    x =
    Feedback
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    x=25
    y = 250
    40+30+y=180
    Hints become more and more
    specific
    Try doing just one
    arithmetic
    operation per
    step.
    OK

    View Slide

  21. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 22
    45°


    30°
    40°

    What is the value of x?
    x =
    Feedback
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    x=25
    y = 250
    40+30+y=180
    A bottom-out hint is the
    last hint, which tells the
    student what to enter.
    Enter
    70+y=180
    and keep going
    from there.
    OK

    View Slide

  22. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 23
    45°


    30°
    40°

    What is the value of x?
    x =
    Ask For Help
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    x=25
    help
    40+30+y=180
    Try doing just one
    arithmetic
    operation per
    step.
    OK
    A step-help request is
    another way to start up a
    hint sequence.

    View Slide

  23. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 24
    45°


    30°
    40°

    What is the value of x?
    x =
    Delayed Feedback
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    y = 250
    x+45+y=180
    x+45+250=180
    x=180-250
    x = 70
    40+30+y=180
    Delayed (as opposed to
    immediate) feedback occurs
    when the solution is
    submitted.

    View Slide

  24. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 25
    45°


    30°
    40°

    What is the value of x?
    x =
    Delayed Feedback
    40+30+y=180
    70+y=180
    y=110
    x+45+y=180
    x+45+110=180
    x=180-155
    y = 250
    x+45+y=180
    x+45+250=180
    x=180-250
    x = 70
    40+30+y=180
    Delayed (as opposed to
    immediate) feedback occurs
    when the solution is
    submitted.
    Oops! Check your
    arithmetic.
    Can an angle
    measure be
    negative?
    OK
    OK

    View Slide

  25. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 26
    §Next-step help
    §Hint sequence
    §Bottom-out hint
    §Immediate Feedback
    §Delayed Feedback
    Concepts to Remember

    View Slide

  26. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 27
    § Forms with boxes to be filled
    § Dialogue
    § Simulation
    § Drawing Diagrams
    User Interface

    View Slide

  27. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 28
    § Equations
    § Typed natural language
    § Actions in a simulation
    § Connecting Boxes
    § Adding Nodes
    § Writing Code
    § Etc.
    Students Steps

    View Slide

  28. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 29
    • Any correct path vs. shortest path to answer
    • Which steps can be skipped?
    • Recognize the student’s plan and suggest its next step.
    • Etc.
    Suggesting Good Steps

    View Slide

  29. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 30
    • Give a hint before the student attempts a step.
    • Immediate vs. delayed feedback?
    • Feedback on request?
    • How long is a hint sequence?
    • When to bottom out?
    • Etc.
    Feedback and Hints

    View Slide

  30. jgs
    Examples

    View Slide

  31. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 32
    Andes – An ITS for Physics
    1. Read a physics
    problem.
    3. Type in
    equations
    2. Draw vectors
    4. Type in the answer

    View Slide

  32. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 33
    Andes – An ITS for Physics
    What should I do next?
    Green means correct
    Red means incorrect
    Dialogue & hints
    What is wrong?

    View Slide

  33. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 34
    SQL·Tutor - An ITS for SQL
    Problem
    Step
    Step
    Step
    The database
    that the
    problem
    refers to
    Submit!
    Feedback

    View Slide

  34. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 35
    Cognitive Algebra - An ITS for Algebra
    Problem
    Step: Fill
    in a cell
    Step: Define
    an axis
    Step: Label
    a column
    Step: Plot a
    point
    Step: Divide
    both sides
    Step: Enter
    an equation

    View Slide

  35. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 36
    AutoTutor - An ITS for Newtonian Physics
    The Problem
    Each tutor turn +
    student turn in the
    dialogue is a step.
    Student input is
    the 2nd half of
    the step.

    View Slide

  36. jgs
    Intelligent Problem Selection

    View Slide

  37. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 38
    1. The Tutor or the Student selects the next problem.
    2. The student does the task and submits an answer.
    • Do step; get feedback or hints; repeat
    3. Repeat
    Task Loop

    View Slide

  38. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 39
    Adapt to the student’s needs
    Assistance provided
    Assistance needed
    Low
    High
    Large
    learning
    gains
    Struggling
    Bored, &
    irritated

    View Slide

  39. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 40
    § Keeping the student in the zone of proximal development
    § Mastery learning: Keep giving similar tasks until the student
    masters them
    § Choosing a task that suits the learner’s style/attributes
    § Etc.
    Adapt to the student’s needs

    View Slide

  40. jgs
    Assessment

    View Slide

  41. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 42
    Assessment of students:
    • What does the student know?
    • How motivated/interested is the student?
    Evaluation of your system
    • Did it produce learning gains in most students?
    • Did it produce motivation gains in most students?
    • What is the time cost?
    • Other costs?
    Assessment vs. Evaluation

    View Slide

  42. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 43
    § Number of correct answers vs. Question difficulty level
    f (competence(student), difficulty(item))
    § A sequence of numbers per knowledge component represents
    its mastery
    f(mastery(KC1), mastery(KC2), mastery(KC3), …)
    Where KCn are the ones applied in a correct solution
    Collect Data about the student.

    View Slide

  43. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 44
    Test item:
    Solve 3+2x=10 for x
    • KC5: Subtract from both sides & simplify
    3+2x=10 à 2x=7
    • KC8: Divide both sides & simplify
    2x=7 à x=3.5
    Single factor model
    • If the answer is correct, increment competence. Else,
    decrement.
    Knowledge component model
    • If the answer is correct, increment mastery of KC5 & KC8
    • If the answer is incorrect, decrement mastery of KC5 & KC8
    • The weakest one is most likely to be the failure, so decrement
    it more
    Example

    View Slide

  44. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 45
    Skill-o-meter - Knowledge component model

    View Slide

  45. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 46
    § Assessment of motivation or interest?
    § Assessment of learning styles?
    § Disabilities?
    § Diagnosis of misconceptions?
    § Bugs in the system?
    More Assessment Data

    View Slide

  46. jgs
    Software architecture

    View Slide

  47. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 48
    Who will be the author of the problems (tasks)?
    Author creates new tasks
    • Author generates all solutions?
    • System generates all solutions?
    Who can be an author?
    • Instructors?
    • Artificial Intelligence?
    Authoring

    View Slide

  48. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 49
    § Platform independence
    § Integration of diverse clients (Web, Java Desktop)
    § Cheating,
    § Privacy
    § Software bugs
    § Content & pedagogy bugs
    Client – Server Architecture

    View Slide

  49. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 50
    Questions

    View Slide

  50. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 51
    Office Hours
    Tuesday and Thursday 3 - 5 pm
    But an appointment required
    Sent me an email – [email protected]

    View Slide

  51. jgs

    View Slide

  52. jgs
    CSC 309
    Software Engineering II
    Lab 06:
    Draft a Proposal
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  53. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 54
    Think about this
    What your final project will be?
    Who will be in your team?

    View Slide

  54. jgs
    Javier Gonzalez-Sanchez | CSC 309 | Winter 2023 | 55
    Let’s Work

    View Slide

  55. jgs
    CSC 309 Software Engineering II
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    Winter 2023
    Copyright. These slides can only be used as study material for the class CSC308 at Cal Poly.
    They cannot be distributed or used for another purpose.

    View Slide