Teaching Advanced Software Development Online: Some Challenges and Solutions
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
• 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 – 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 – 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
• 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
• 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 – 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
CONCLUSION
• Thank you! I hope you found the presentation useful
• Contact me at:
• @larkin_research
• ie.linkedin.com/in/larkincunningham/