23
MOTIVATING AND ORIENTING NOVICE STUDENTS TO VALUE INTRODUCTORY SOFTWARE ENGINEERING Daniel Port, Chris Rachal, Jia Liu University of Hawaii x 2, USA; Nanjing University, China

Motivating and Orienting Novice Students to Value Introductory Software Engineering

  • Upload
    hasad

  • View
    36

  • Download
    2

Embed Size (px)

DESCRIPTION

Motivating and Orienting Novice Students to Value Introductory Software Engineering. Daniel Port, Chris Rachal , Jia Liu University of Hawaii x 2, USA; Nanjing University, China. Our Novice Students Were Poorly Oriented and Motivated to Study SWE. - PowerPoint PPT Presentation

Citation preview

Page 1: Motivating and Orienting Novice Students to Value Introductory Software Engineering

MOTIVATING AND ORIENTING NOVICE STUDENTS TO VALUE INTRODUCTORY SOFTWARE ENGINEERING

Daniel Port, Chris Rachal, Jia LiuUniversity of Hawaii x 2, USA; Nanjing University, China

Page 2: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Our Novice Students Were Poorly Oriented and Motivated to Study SWE

“Why do we need to do so much

documentation?” “All this process stuff just gets in

the way of programming ”

“I’ve been successful

without all this.”

“Did not really have

motivation to learn

besides get a good

grade”

“The instructor was enthusiastic about content but sometimes the content wasn’t interesting to me and other

students”

“I did not find any of the new material to be interesting. I thought UML was not useful at all.”

Page 3: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Palpable Consequences…I learned a lot in this course The instructor

stimulated me to think about the subject matter

• poor class performance • Negative perception of course from students• negative perception from employers of student preparation

for jobs• students not pursuing or poor success with software

engineering careers

US

Seriously?!?

After course survey:# type / total responses

Page 4: Motivating and Orienting Novice Students to Value Introductory Software Engineering

But We Know Software Engineering is Important For Our Students!

… I thought I would spend most of my time programing, but it’s

all about requirements, documentation, and project

management just like you said. I wish I paid more attention in

ITM353.”

Page 5: Motivating and Orienting Novice Students to Value Introductory Software Engineering

We Tried … We knew there was a problem, but were not

sure exactly what is was. We tried the usual prescriptions:

Real-client projects Adopting agile methods New textbooks purporting modern, innovative

learning approaches Infusing software engineering concepts into pre-

requisite courses (Introductory Programming) Active Learning / engagement / in-class activities

Page 6: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Some Improvement!

spring 2005 spring 2006 Fall 2007 spring 20083.4

3.6

3.8

4

4.2

4.4

4.6

campuscollegeyour deptyour class

Infusion into ITM352

I learned a lot in this course

spring 2005 spring 2006 Fall 2007 spring 20084.1

4.15

4.2

4.25

4.3

4.35

4.4

4.45

4.5

4.55

campuscollegeyour deptyour class

Infusion into ITM352

The instructor stimulated me to think about the subject matter

• New textbook

• Real-projects

• Infusion

Page 7: Motivating and Orienting Novice Students to Value Introductory Software Engineering

But … With real-projects students did tend to appreciate

SWE but only after “being burned” or “after the fact” Not always a positive experience frustration,

discouragement, resentment Poor application of material 1st time around, retention

A survey after the course was over found students had: little understanding of the relevance and utility of the

course material low motivation and interest in the course lack of confidence and enthusiasm in pursuing software

engineering jobs after graduation

Also quality of work did not

improve substantially

Page 8: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Lack of Motivation and Orientation Primary problem is that novice students tend to lack

motivation and are poorly prepared (oriented) to appreciate the study and practice of software engineering.

From the start of the course need to foster: Intrinsic motivation (self-fulfillment, enjoyment, satisfaction) Extrinsic motivation (perceptions of current and future

success)

BIG FAT CLUE: The more experienced the student, the more motivated and

oriented they tended to be from from from the start

DUH?!?But Why?

Page 9: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Educational Psychologists Say …

Students should be given an opportunity to explore for themselves the how the course material can help achieve future goals. This is the future time perspective (FTP)

Students should acquire an understanding of the instrumental value of present behavior (IVPB) for future goals.

Barbra Grosses book “Tools for Teaching” suggests: Give frequent, early, positive feedback that supports

students' beliefs that they can do well. (FPF) Ensure opportunities for students' success by assigning

tasks that are neither too easy nor too difficult. (EZ) Help students find personal meaning and value in the

material. (PMV) Create an atmosphere that is open and positive. (OPA) Help students feel that they are valued members of a

learning community. (LC)

Page 10: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Four Engagements Developed four “early awareness engagements”

specifically to implement suggestions Done before topics that have been difficult to

motivate (e.g. SDLC, project roles) Practical, quickly and easily implemented within

any kind of course, high-impact, low-effort

Page 11: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Engagement 1: Interview a Professional

ASSIGNMENT 1Your task is to interview an “MIS professional” about SAD (Systems Analysis and Design) topics. The main question to answer is:

“What should a successful MIS person know about SAD?”  1) You will work with up to two partners, as assigned. Your team will choose an MIS professional to interview, or you may request to interview an MIS professional you know personally. You will contact the MIS professional assigned to your team as soon as possible and set up an interview time. You may interview by phone, but in person interview is recommended if possible. http://itm-vm.shidler.hawaii.edu/itm353/ass

t1.html

Page 12: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Sign-up Example

Page 13: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Example ResultsTopic MIS Pro

PriorityYour

InterestMIS Pro Priority

Your Interest

MIS Pro Priority

Your Interest

MIS Pro Priority

Your Interest

MIS Pro Priority

Your Interest

MIS Pro Priority

Your Interest

Chris,Lauren Henry, Matt Chris, Erick Perry, Vaughn Adam, Chad Yexi, Mike MIS Pro std Yours4.       Systems Analysis 1 1 1 1 1 1 2 2  2  2 1 1 1.20 0.45 1.203.       Project Management 1 1 2 2 1 1 1 1  1  1 3 2 1.43 0.79 1.4011.   Systems Design 1 1 1 1 2 1 3 2  2  1 1 2 1.43 0.79 1.405.       Fact-Finding Techniques for Requirements Discovery 2 2 1 1 1 2 2 3  2  3 2 1 1.43 0.49 1.801.       Information System Building Blocks 2 2 1 2 1 2 3 3  2  3 2 2 1.57 0.79 2.206.       Modeling System Requirements with Use Cases 2 2 1 2 1 2 3 3  1  1 2 3 1.57 0.79 2.4016.   User Interface Design 2 3 2 1 2 2 3 2  1  1 1 2 1.71 0.76 2.009.       Object-Oriented Analysis and Modeling Using the UML 2 2 1 2 1 2 3 3  2  3 1 1 1.71 0.76 2.0019.   Systems Operations and Support 1 1 1 1 2 3 1 3  1  1 3 2 1.71 0.79 2.008.       Process Modeling 2 2 1 2 1 1 3 3  2  2 3 2 1.71 0.82 2.0012.   Application Architecture and Modeling 1 1 2 1 2 3 3 3  1  2 2 3 1.71 0.76 2.2015.   Input Design and Prototyping 1 3 2 1 2 2 3 2  2  2 3 2 1.86 0.69 2.002.       Information Systems Development 2 2 2 2 1 2 3 2  2  3 1 2 1.86 0.69 2.0013.   Database Design 1 1 2 2 2 3 3 2  2  2 3 2 1.86 0.90 2.0010.   Feasibility Analysis and the System Proposal 2 2 1 1 1 1 3 3  2  2 3 2 2.00 0.82 1.8018.   Systems Construction and Implementation 2 3 1 1 2 2 3 3  2  2 2 1 2.00 0.76 2.007.       Data Modeling and Analysis 2 2 1 2 1 1 3 2  2  2 3 3 2.00 0.82 2.0017.   Object-Oriented Design and Modeling Using the UML 2 3 2 2 2 2 3 3  2  3 1 1 2.00 0.76 2.2014.   Output Design and Prototyping 2 3 2 1 2 2 3 2  2  1 2 3 2.14 0.38 2.20

Page 14: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Other Should we have some programming exercises throughout the

course so you can keep up your hard-won programming skills? In the past I have received post-course feedback expressing frustration that there was no programming for nearly the entire semester and some students "forgot" how to program. Then at the end of the course, their team project required them to do some programming and they had to re-learn PHP.

Yes: No: Other ideas: IT Application Security

Should the class have a real-client team project? In the past this has been very useful for putting a lot of the abstract material and concepts into actual practice. Yes: No: Other ideas:

Page 15: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Other Guest speakers on special topics - how many? what topics? who?

Yes: No: Other ideas:

We have access to a number of industry popular tools such as MSProject and Visio. They are complicated and take time to learn. Should we have some training in their use or just make them available? Yes: No: Other ideas:

Student teaching. I have found that when you have to prepare a class, you learn a lot and appreciate the material more. Should we have teams of students prepare and present course topics (with my help of course)? Yes: No: Other ideas:

Page 16: Motivating and Orienting Novice Students to Value Introductory Software Engineering

ITM353 Fall 2008 Topics

■ = light/no focus ■ = heavy focus

X guest speakers (ITS, HA, ???, ???)

Student team teaching (max 3 people)

Class long team project (optional real-client)

Small programming assignments related to topics

1.       Information System Building Blocks

2.       Information Systems Development

3.       Project Management

4.       Systems Analysis

5.       Fact-Finding Techniques for Requirements Discovery

6.       Modeling System Requirements with Use Cases

7.       Data Modeling and Analysis

8.       Process Modeling

9.       Object-Oriented Analysis and Modeling Using the UML

10.   Feasibility Analysis and the System Proposal

11.   Systems Design

12.   Application Architecture and Modeling

13.   Database Design

14.   Output Design and Prototyping

15.   Input Design and Prototyping

16.   User Interface Design

17.   Object-Oriented Design and Modeling Using the UML

18.   Systems Construction and Implementation

19.   Systems Operations and Support

Page 17: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Engagement 2: Subject Matter and Real-World Job Skills

Page 18: Motivating and Orienting Novice Students to Value Introductory Software Engineering

(back to the) Future Value Exercise is linked to a discussion of project planning and roles

and planning for their semester-long projects. In these projects the students had to adopt various project roles

(project leader, infrastructure analyst, business analyst, etc.) and this exercise convinced them that such positions really did exist in the world, and helped them understand the kinds of skills that they would need to

undertake such a position. In 10 minutes the students would collectively gather dozens of

job descriptions, which were later viewed using this same PHP script.

As a group we would then review the collected job descriptions to reinforce the kinds of duties, skills, and knowledge that employers associating with each position.

Students are excited to see the list of potential jobs they might be eligible for in the future pile onto the screen during class!

Page 19: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Engagement 3: Live Throughs

Any student that can provide a feasible and convincing recommendation for implementing the system within the next 30 minutes (recall that they were expected to review the case study long before class) will immediately be awarded an A+ and is excused from any further work in the course.

REAL

Page 20: Motivating and Orienting Novice Students to Value Introductory Software Engineering

The Questions Not Asked …

• Have not given automatic A+ yet• Leads to very productive

discussions and insights into SWE

Page 21: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Productive Discussions!

Page 22: Motivating and Orienting Novice Students to Value Introductory Software Engineering

Engagement 4: Making A Sandwich and the SDLC

Page 23: Motivating and Orienting Novice Students to Value Introductory Software Engineering

So?

#9 the instructor stimulated me to think about the subject matter

spring

2005

spring

2006

Fall 20

07

spring

2008

Fall 20

08

spring

2009

65%75%85%95%

% Class Days Attended

spring 2005

spring 2006

Fall 2007

spring 2008

Fall 2008

spring 2009

3.5

3.7

3.9

4.1

4.3

4.5

4.7

4.9

campuscollegeyour deptyour class

Infusion into ITM352

Early Awareness

#7 I learned a lot in this course

spring 2005

spring 2006

Fall 2007

spring 2008

Fall 2008

spring 2009

3.4

3.6

3.8

4

4.2

4.4

4.6

campuscollegeyour deptyour class

Early AwarenessInfusion into ITM352

spring 2005

spring 2006

Fall 2007

spring 2008

Fall 2008

spring 2009

4.1

4.2

4.3

4.4

4.5

4.6

4.7

4.8

4.9 campuscollegeyour deptyour class

Early Awareness

Infusion into ITM352

#14 The Instructor Sets High Standards

WoW!

Oh, by the way, I now enjoy teaching this class.

Thank you for listening and I’m happy to share the details of the four engagements.