Teaching Advanced Software Development Online: Some Challenges and Solutions

41

Transcript of Teaching Advanced Software Development Online: Some Challenges and Solutions

AGENDA

• A bit about me

• CIT’s current online education offerings

• CIT’s new eLearning centre

• My online teaching

• Some challenges encountered and some of the

solutions implemented

MY BACKGROUND

• Full-time Lecturer (Computing) in Cork Institute of

Technology for past 2 years

• 15+ years in industry (mostly) in software

development

• PhD Researcher at University College, Cork

• Teaching online for 1.5 years and counting

• Plus tutored an Open University module a few years

ago

CIT ONLINE COURSES

• CIT provides access for online learners who would

otherwise find attendance difficult – e.g. live in remote

areas or have family commitments

• Many current online students funded by HEA or schemes

such as Springboard

• In particular Higher Diplomas (Cloud infrastructure and

Cloud software development) for unemployed graduates

• Also those in employment doing BSc 4th year or Masters in

Cloud who are employer or self-funded

• Other areas of online teaching include Civil Engineering

CIT ONLINE COURSES

• CIT has students located all over Ireland on the Higher

Diplomas, as far away as Monaghan, for example

• The MSc in Cloud has international students from as

far away as USA, Egypt and Russia, to name a few

• MSc in Cloud considered first Masters in Cloud in the

world with much publicity (e.g. Forbes) and awards

(Engineers Ireland Excellence)

• See more here: http://cloud.cit.ie/

CIT’S NEW ELEARNING CENTRE

• New eLearning centre in CIT has facilities for day

schools and seminars, as well as “ePods” – online

lecturing rooms containing dual monitors and high-

resolution graphics tablets

• Just opened (nice new smell!)– I have only delivered 1

lecture thus far from the facility

CIT ONLINE COURSES

• “ePod”

CIT ONLINE COURSES

• Blended learning facilitated on some courses

CIT ONLINE COURSES

• Synchronous lectures delivered using Adobe Connect

with recordings made available also

• mLearning – e.g. watch lecture recordings on phone

CIT ONLINE COURSES

• Asynchronous labs/tutorials supported using

Blackboard LMS (forums, wikis, etc) and other virtual

labs (vApps – an entire network in a virtual machine)

MY ONLINE TEACHING

• My Area Online: Software Development Frameworks and Software Development Methodologies and Practices

• Case study: 15-credit module, “Cloud Application Frameworks”

• Second semester of 1-year Higher Diploma in Cloud and Mobile Software Development

• Students arrive with basic object-oriented programming, Java and PHP, from semester 1

OVERALL CHALLENGE

• Bring around 25 mature unemployed students, almost

all of whom never programmed until 3 months before,

to an employable state

• Virtually all online

• Minimal face-to-face time

• Complex methodologies and tools

• Just 12 weeks to accomplish

CHALLENGE

A SUPPORTABLE

DEVELOPMENT ENVIRONMENT

CHALLENGE – DEVELOPMENT ENVIRONMENT

• BYOD? (Bring Your Own Device)

• Do we support students on their own laptops or PCs,

e.g. giving them a CD with installation instructions,

similar to Open University?

• What if an “environmental” issue is present on the

student device, perhaps an incompatibility between

software or a missing dependency? Do we offer

support?

CHALLENGE – DEVELOPMENT ENVIRONMENT

• BYOD can be difficult with remote students

• The more complex the course

/ module, the more issues

will pop up as the number

of moving parts increases

• Let’s look at one support issue

I encountered where the

student used his own laptop…

CHALLENGE – DEVELOPMENT ENVIRONMENT

Hi Larkin,

I'm back with my troubles. I done what you asked and used a

new work space, but to of no avail. I also done the following:

1. removed the tutorial, from spring source and the work space.

2. Deleted Spring source and downloaded it again. (About 3

time)

3. Still failing to run,

4. Reloaded Java JDK

5. Still won't work

6. Don't what I done next but I deleted or corrupt something in

the Java folder, Spring source wouldn'nt even open.

7. Removed all Java and Spring source + workspace(s)

8. downloaded everything again.

9. Still failing but seems to be pointing at the mvc servlet.xml for :

continued…

CHALLENGE – DEVELOPMENT ENVIRONMENT

"No grammar constraints (DTD or XML Schema) referenced in the document"

SEVERE: Error deploying configuration descriptor

C:\Users\Robert\Documents\Spring\vfabric-tc-server-developer-

2.9.3.RELEASE\base-instance\conf\Catalina\localhost\tutorial.xml

I have attached the full fail, but in the tutorial.xml it is the top line that generates

the error, when I mouse over it shows:

"No grammar constraints (DTD or XML Schema) referenced in the document"

Not sure what to do next, I could I met you in CIT Tuesday morning? The longer

this goes on the further i'm failing behind.

Regards,

###########

CHALLENGE – DEVELOPMENT ENVIRONMENT

• End result was a visit by the student to my office with

his laptop

• 5 minutes to fix in person (issue with his Java

environment), but probably an hour of back and forth

on email

• Lesson: Don’t support student devices for anything

other than the most standard software packages

SOLUTION – VIRTUAL ENVIRONMENT

• CIT has an excellent relationship with EMC and VMWare

• They provide infrastructure and software that provides “virtual desktops” or vDesktops

• vDesktop is a stable virtual PC environment with all required software and settings pre-installed for the entire semester

• Official CIT support provided for vDesktop

• None or unofficial support for students’ own desktops

SOLUTION – VIRTUAL ENVIRONMENT

• Students can access their desktops from just about

any device – PC, Laptop, Tablet, Smartphone

SOLUTION – VIRTUAL ENVIRONMENT

• Each student vDesktop for a course is the same

• Can be supported by CIT technical support staff

• CIT currently has about 250 vDesktops all running at a

fraction of the cost of 250 Lab PCs, available 24x7

CHALLENGE

STIMULATING AND MONITORING

ONLINE ACTIVITY

CHALLENGE – ONLINE ACTIVITY

• You set some weekly lab exercises, give them a couple

of projects to work on and you start wondering…

• Are the students actually doing the work?

• Are they keeping up with the work?

• Is what they are doing correct?

• Are they engaged with the material?

SOLUTION – REFLECTIVE JOURNALS

• I get my students to keep a private weekly reflective journal in Blackboard worth 10% overall with: • Notes about their independent research and learning – how

they went beyond what was delivered in lectures and tutorials • Comments about their work and how they think they are

progressing • Issues encountered and how they were resolved, if at all • Excerpts from their tutorial / exercise work (code or diagrams) • References to their activities on the forums – help sought /

received, help given, etc. • Further thoughts on the directed discussion in the forums • Their feelings / opinions about things – what they enjoyed,

hated, etc.

SOLUTION – REFLECTIVE JOURNALS

• Reflective journals also become an invaluable

resource for continuous improvement

• Students have an avenue to express what was useful

or enjoyable and what was less so

• Students have also mentioned that journals help

organise their thoughts and keep on top of things

• Not just seen as easy marks, because there is a rubric

that specifies the level required for each entry

JOURNAL ENTRY EXAMPLE

This week I again watched all lectures, attempted lab

work and did some further reading.

In terms of labs work while I understood the underlying

concepts, I did encounter a number of problems with

eclipse which mainly related to managing my

workspaces and interchanging between each. For the

first Laravel tutorial I encountered some difficulty with

the Filecontroller class but with the use of the forums I

found that the solution was simpler than I thought and

that I was overcomplicating things. For the Spring labs

I didn’t really have any problems and I am now

starting week two work.

Etc…..

SOLUTION – DIRECTED DISCUSSION

• Weekly directed discussion in forums

• Pick a stimulating topic – try to link to student

experience if possible, particularly for mature learners

• Integrate with reflective journals and any other

“community engagement” marks to offer incentive

• Revisit discussions where the “before and after

learning / practice” situation is interesting

CHALLENGE

PEER SUPPORT

CHALLENGE – PEER SUPPORT

• In a traditional lab environment, students mingle and

help each other out during scheduled or unscheduled

lab time

• It’s not practical to offer direct support online

• Email support should be kept to a minimum or

lecturer risks being overloaded

• How do we get remote students to help each other

out?

• How do we get strong students to help weak ones?

CHALLENGE – PEER SUPPORT

• How do you ensure that remote students have a sense

of community, of belonging to an institution?

• What if discussion and collaboration is integral to the

teaching experience?

• How can ideas be shared if students are spatially and

(often) temporally dispersed?

SOLUTION – FORUMS & PEER SOLUTIONS

• Discussion forums can be set up to allow students

offer each other support

• Need to set some initial rules (e.g. single post per

issue) and offer motivation / incentive

• Bribery helps: e.g. those who help others will get the

best reference when looking for a job

• Integrate peer support into reflective journals and any

“community engagement” marks available - incentive

SOLUTION – FORUMS & PEER SOLUTIONS

SOLUTION – FORUMS & PEER SOLUTIONS

• Peer solutions: allow students post solutions to a

discussion forum, discuss, offer alternative solutions

• Intervene only where students are off track

• Integrate with reflective journals and any “community

engagement” marks for added incentive

SIDENOTE: LEARNING ANALYTICS

• The aforementioned tools (LMS, forums, journals, etc) contain a treasure trove of data not just for continuous improvement of courses / modules

• Also “educational datasets offer unused opportunities for the evaluation of learning theories, learner feedback and support, early warning systems, learning technology, and the development of future learning applications.” (Greller & Draschler 2012)*

• E.g. analyse social network graphs as a predictor of performance by a student

*Translating Learning into Numbers: A

Generic Framework for Learning Analytics

http://www.ifets.info/journals/15_3/4.pdf

CHALLENGE

FACILITATING GROUP PROJECTS

CHALLENGE – GROUP PROJECTS

• Students are remote, so how to get them to collaborate on larger group projects?

• How can a group of students have visibility into what the others are working on and the code that is used to build the software system?

• A classic issue would be 2 students accidentally working on the same requirement, or assuming that someone else is working on a requirement

• Another issue would be where students are working with incorrect versions of the code leading to integration problems later

SOLUTION – CLOUD-BASED AGILE PROJECT

MANAGEMENT AND DEVELOPMENT TOOLS • Modern software development companies increasingly turning to

Scrum for agile project management (based on discussions with past students)

• Cloud-based Scrum project management software allows students to build a queue of requirements (product backlog) and “pull” them (stories) from the queue to work on them

• All activity is logged for review (by lecturer), such as tasks being worked on, estimated time, time spent, issues encountered, etc

• Cloud-based solutions include Atlassian’s JIRA Agile and IBM’s Rational Team Concert – Atlassian classroom licence is free for JIRA Agile and other tools; IBM RTC has perpetual free usage up to 10 team members

SOLUTION – CLOUD-BASED AGILE PROJECT

MANAGEMENT AND DEVELOPMENT TOOLS

• Students are encouraged to have quick daily (virtual)

meetings

• Conference tools used by student groups include

Google Hangout (some report performance issues)

and Skype

• Added benefit is students can testify to having worked

as a distributed team, something becoming more

common in a global environment

SOLUTION – CLOUD-BASED AGILE PROJECT

MANAGEMENT AND DEVELOPMENT TOOLS IBM Rational Team Concert

CONCLUSION

• Thank you! I hope you found the presentation useful

• Contact me at:

• @larkin_research

• ie.linkedin.com/in/larkincunningham/

[email protected]