Wednesday, December 7, 2011

E-Learning is an approach to teaching -1

eLearning, I suppose, is an  approach to teaching as opposed to being a  tool of teaching. Of course, eLearning involves the use of a number of technological tools. However, eLearning, as an approach, primarily, to encourage students to construct their own knowledge in collaboration with other learners as well as experts in that subject matter. eLearning, therefore, is about collaborative construction of knowledge.

The use of technology in education, on the other hand, has a significant history. Initially, computers were applied in behaviourist modes in accordance with Skinner’s work (Ravenscroft 2001), which emphasized the teacher’s control over what is learned and how it is to be learned.

However, the emphasis, more recently, is on the co-construction of knowledge in collaboration with peers and/or  others which provide students with opportunities to develop their own understandings. Skinner’s behaviourism, Piaget’s cognitive constructivism and Vygotsky’s social constructivism can all be facilitated through eLearning. Tools and technologies are only a part of the whole issue. eLearning primarily is an approach to teaching.

Thursday, October 6, 2011

Process & Procedures

'A process is a systematic series of actions directed towards the achievement of a goal'(Joseph Juran). Processes are one of the 'Three P's' of quality in business, People, Products and Processes, where products are what is done, and processes are about how it is done. Thus people use processes to produce products. The word 'products' here includes the end goal of all actions, which is often an intangible service rather than a more tangible product. Thus statements about quality often talk about 'products or services' rather than plain 'products'. A way of contrasting quality in product and process activities is by viewing production of quality products as doing the right thing and quality processes are about doing the thing right, as in the diagram below.
Reference:
Consumerism and Product Quality", Quality Progress (New York, New York: American Society for Quality Control), July, 1970

Thursday, September 29, 2011

Thinking Software Quality

Some Definitions:
  1. "Software Quality is the fitness for use of the software product" [1]
  2. Kitchenham states quality is "Hard to define, impossible to measure, easy to recognize" [2].
  3. Gilles states, "Quality is generally transparent when present, but easily recognized in its absence" [3].
While quality in theory can be defined, in practice and use, an absolute definition is elusive. This is part of the knowledge that needs to be captured - how to apply these abstract SQA concepts to real projects. Here are some lessons:
  1. Project Managers and Software Developers need to understand what "Software Quality Assurance" is and how their project can benefit by its application. 
  2. Software Quality Assurance implementation is a balancing activity that must be tailored as project appropriate. 
  3. Software Quality Assurance must evaluate the process as well as the products. 
  4. There must be a Software Assurance Plan.
  5. Software Quality Assurance must span the entire Software Development Life Cycle.
  6. Requirements, the birthplace of successful projects.
  7. Software Quality Assurance does NOT Equal Testing.
  8. Metrics are a necessity.
  9. Safety and Reliability are critical aspects of SQA.
  10. Independent Verification and Validation (IV&V) is an important tool within SQA.
  11. Hardware Does NOT Equal Software!
  12. Risk Management is NOT Optional.

References
[1] Schulmeyer, G. Gordon and McManus, James I., Handbook of Software Quality Assurance, 3rd Edition, Prentice Hall PRT, 1998
[2] Kitchenham, Barbara, Pfleeger, Shari Lawrence, "Software Quality: The Elusive Target", IEEE Software, Vol 13, No 1 (January 1996) 12-21
[3] Gillies, Alan C., Software Quality, Theory and Management, International Thomson Computer Press, 1997

Thursday, September 22, 2011

Excel 2010

The new features in Excel 2010—sparklines, slicers, PowerPivot— are really cool. There are some great posts out there. Follow the hyperlinks and enjoy those new features

Sunday, September 11, 2011

10 things that successful teachers do intuitively

Schools can do plenty to keep students engaged in learning. Students who are deeply engaged in learning are not simply spending 'time on task', but are intellectually involved with curriculum topics and mentally involved in 'minds-on learning.' Making that happen, not surprisingly, starts with the teacher. Here are the 10 things that successful teachers do intuitively -

  1. keep students highly engaged throughout an entire lesson and 
  2. encourage students to contribute their ideas and insights as a way of enhancing their own and other students' learning
  3. represent curriculum content appropriately; 
  4. expect students to help define topics and determine how they can be studied; 
  5. link content to students' prior knowledge and experiences; 
  6. ensure that students are mentally engaged in all activities and assignments; 
  7. allow students to initiate and adapt learning activities and projects; 
  8. form instructional groups that work to achieve learning goals; 
  9. choose suitable instructional materials for lessons and encourages students to select resources that will help them learn; 
  10. teach highly coherent, well-planned, well-paced lessons that include time for student reflection.

Wednesday, August 17, 2011

The Convergence of 'Math' & 'Art'

The hardest thing to do is to try and teach something that everyone already knows. Everyone knows how to listen, how to read, how to think, and how to tell anecdotes about the events in their lives. Young people do these things almost everyday. Yet the challenge is that the level of any of these skills, possessed by the average individual, may not be adequate for certain special situations. Examples: Psychotherapists must be expert listeners and lawyers expert readers; research scientists must scour their thinking for errors and journalists report stories that transcend normal story-telling.

There is another dimension to the complexity of learning: our world is increasingly being  indexed, and measured, and this massive quantity of information and data has a story to tell. But it is a foreign language to the human brain, columns and rows of data. Math courses taught us to manage numbers that come in the dozens. But when they are counted in exabytes, then our young people need new ways to interpret the data, new ways to help them tell their story. The answer: Computationl thinking - the new convergence of 'math' & 'art'

Wednesday, July 20, 2011

Exploratory Testing

Exploratory software testing is a powerful approach. ET can promote Computational thinking. I’ve tried various definitions of exploratory testing. The one that has emerged out of my discussions with my colleagues is this: Exploratory testing is simultaneous learning, test design, and test execution. In other words, exploratory testing is any testing to the extent that the tester actively controls the design of the tests as those tests are performed and uses information gained while testing to design new and better tests.

What kinds of specifics affect ET? Here are some of them:
  • the mission of the test project
  • the mission of this particular test session
  • the role of the tester
  • the tester (skills, talents, and preferences)
  • available tools and facilities
  • available time
  • available test data and materials
  • available help from other people
  • accountability requirements
  • what the tester’s clients care about
  • the current testing strategy
  • the status of other testing efforts on the same product
  • the product, itself
  • its user interface
  • its behavior
  • its present state of execution
  • its defects
  • its testability
  • its purpose
  • what the tester knows about the product
  • what just happened in the previous test
  • known problems with it
  • past problems with it
  • strengths and weaknesses
  • risk areas and magnitude of perceived risk
  • recent changes to it
  • direct observations of it
  • rumors about it
  • the nature of its users and user behavior
  • how it’s supposed to work
  • how it’s put together
  • how it’s similar to or different from other products
  • what the tester would like to know about the product

Monday, July 4, 2011

Professional Learning Community - a Model

Today’s educators, including Private Tertiary Education providers, are on a compelling quest to find ways to hold higher expectations for students, improve instructional practices, and increase student learning and achievement outcomes.  Forming a professional learning community (PLC) is one of the most powerful ways to improve student performance as presented by Professor Bernard Oliver yesterday in our CRIE Conference at AIS, St Helens.

‘Professional learning communities are educators committed to working collaboratively in ongoing processes of collective inquiry and action research to achieve better results for the students they serve...they operate under assumption that the key t improved learning for students is continuous job embedded learning for educators’ (DuFour, Eacker & Many, 2006)

What makes a true PLC is the way that educators respond to the needs of their particular Institute. I was thinking as I was listening to Professor Oliver that the concept of PLC is akin to the pair-work (teacher & Moderator) we do every Semester as part of developing courses at both GDIT & BIT levels.

This teaching/moderation we perform is often simplified to a periodic meeting over some documents (Course-outline or Assignments or Examinations); but this moderation can more accurately be understood as a process and therefore a Personal Learning Community. DuFour, DuFour, Eaker, and Many (2006) describe three important elements of a successful PLC: focus on learning, collaborative culture, and results-oriented thinking. 

DuFour, DuFour, Eaker, and Many (2006) write about the uniqueness of developing collaborative culture. A moderation pair is more than a teacher sharing data—it is a responsible individuals working together to achieve common goals for their course and for the Institute. Instead of sharing data, they respond to data, which requires a sense of mutual accountability and changing classroom practices.
  
References 
  1. DuFour, R., DuFour R., & Eaker, R. (2006). Professional learning communities at work plan book. Bloomington, IN: Solution Tree. 
  2. DuFour, R., DuFour R., Eaker, R., & Many, T. (2006). Learning by doing: A handbook for professional learning communities at work. Bloomington IN: Solution Tree. 
  3. DuFour, R., Eaker, R., & National Center for Education and Innovation. (1999). Professional learning communities at work: Best practices for enhancing student achievement [motion picture]. Bloomington, IN: Solution Tree.

Wednesday, June 29, 2011

Personalisation of Learning

Campbell(2007), exploring the taxonomy of personalisation of public health care,  discusses 5 levels of personalisation
  1. providing more customer friendly services
  2. giving people more say in how they use the services
  3. giving users more say in how money is spent on the services
  4. allowing users to become co-designers and co-producers of the services, and
  5. allowing self organisation of services by individuals, with support provided by professionals.
If we translate the above into an education context, we will
  1. provide learners with more student centred opportunities
  2. give learners more choice in what they learn, how and when and where they learn it
  3. give learners more say on how resources are used
  4. allow learners design and produce their own content
  5. allow learners to self organise their own learning with the support of professionals.
Is it feasible to allow the learner to choose and construct their own learning environment , and personalise it for themselves? The third component is already in place - Web 2.0 tools are available for all learners to choose and use to support their own self organised learning. It's the first two that are the problem if we are ever to get to the point where learning becomes deeply personal for all.
Reference:
Campbell, R. J. et al (2007) Personalised Learning: Ambiguities in Theory and Practice. British Journal of Educational Studies, 55 (2), 135-154.

Tuesday, June 28, 2011

Personal Learning

The term “personalized learning” has often been misunderstood. What does that mean for schools and students? Personalized learning is difficult to define because by its very nature, it looks different for every learner.  It may be best to start with what it isn’t.  Personalized learning does not mean that each child should have a unique program.   The big idea of personalized learning put simply is  that students take a much more active role in their learning, that they become far more engaged in their learning and that learning is a shared endeavor between students, families, schools, and communities.
It, therefore, is really about the things that make learning meaningful and powerful for students.  There are no programs or prescribed steps to achieving personalized learning, rather, personalized learning happens when students are fully engaged in their learning, when they have ownership in their learning, when they can talk with confidence about their learning, when they see the relevance of their learning and when they know where they are going with their learning.  The challenge for schools, however, is to develop the practices and create the networks that will increase these kinds of learning experiences for all kids.
I would like to invite readers to share examples of when you or your child felt particularly engaged and fully connected to new learning and what were the circumstances and what was your involvement as a parent? For my friend’s primary aged child, they cited the relationship with the classroom teacher to be the most significant influence on her level of connectedness and engagement with school and her learning.   It is the same for my children, it was the same for me when I was in school and I would suspect the same holds true for most children.
Again, I invite your comments or other examples of personalized learning experiences.

Reference
  1. Campbell, R. J. et al (2007) Personalised Learning: Ambiguities in Theory and Practice. British Journal of Educational Studies, 55 (2), 135-154.
  2. Personal Learning Plans: http://www.highlandschools-virtualib.org.uk/ltt/whole_learner/plp.htm

Assessments & Grades


Assessment is a hot topic in schools today and for good reason.  When it is done well, there can be high impact on learning and when it is not done well, learning can be negatively impacted.  When I was in school back in the late 70′s and 80′s, I had a fairly limited understanding of what testing in school was all about.   Basically, you memorized stuff, wrote a test and it counted on your report card.   In schools, our understanding of, and use of assessment has changed dramatically over the years but as far as grading goes, our practices haven’t changed all that much.  As parents, we seem to still have a need to see the A, B or C on the report card as a reflection of how well a child has learned.  This, in my view is largely due to the fact that the practice is deeply rooted in tradition but may not necessarily be the best way to report on learning, in fact, it may even interfere with learning.
I have a great deal of concern about the different categories of assessment, and the differences between assessment and grading practices.  In my view assessment has to do with the kind of information we collect about learning, how we collect it, how we use it and how students are involved in the process.  Grading is about how we translate the assessment information for the purposes of report cards.  I would love to hear what you think.

Friday, June 10, 2011

Biggs’ three levels of teaching

Most often our teaching is too general, too sweeping. The vast majority of what passes for teaching has a number of really significant flaws. It’s based more on what the teacher is familiar with  than on any idea of what might be effective. Of course, we can always find some good practice amongst academic staff, but sadly it is a small percentage. The vast majority of learning and teaching is demonstrably less than effective.
The following is an attempt to draw on Biggs’ (2001) three levels of teaching to formulate three levels of improving teaching and, as a result, improve learning.

Biggs' Three Levels of Teaching
1.     What the student is. 
This is the horrible “blame the student” approach to teaching. I’ll keep doing what I do. If the students can’t learn then it is because they are bad students. It’s not my fault. Nothing I can do.
2.     What the teacher does.
This is the horrible “look at me and all the neato, innovative teaching that I’m doing”. I’m doing lots of good and difficult things in my teaching. Are the students learning?
3.     What the student does. 
Obviously this is the good level. The focus is on teaching and leads to learning.
Biggs (2001) uses a quote from Tyler (1949) to illustrate that this is not a new idea that learning takes place through the active behavior of the student: it is what he does that he learns, not what the teacher does. Flowing from these levels is the type of teaching that can occur at level 3. It is based on the simple steps of:
  • Clearly specifying detailed learning objectives for students.
  • Arrange teaching and learning activities that encourage/require students to carry out tasks that provide the student with exposure, practice and feedback on the learning objectives.
  • Design a grading/marking system that requires the student to demonstrate how well they achieve the stated learning objectives.
Performing these 3 simple steps well results in the situation that Biggs (2001) describes: In such a teaching, where all components support each other, students are “trapped” into engaging in the appropriate learning activities, or as Cowan (1998) puts it, teaching is “the purposeful creation of situations from which motivated learners should not be able to escape without learning or developing” (p. 112). A lack of alignment somewhere in the system allows students to escape with inadequate learning.
Souns simple, doesn’t it? So why don’t more teachers use it?

References

  1. Biggs, J. (2001). “The Reflective Institution: Assuring and Enhancing the Quality of Teaching and Learning.” Higher Education 41(3): 221-238.
  2. Kreber, C. and H. Castleden (2009). “Reflection on teaching and epistemological structure: reflective and critically reflective processes in ‘pure/soft’ and ‘pure/hard’ fields.” Higher Education 57(4): 509-531.

Tuesday, May 31, 2011

The Importance of Comprehension for Software Quality

The complete, accurate and concise documenting of requirements is of vital, perhaps paramount importance (Glass 1998) within software quality because errors made in this phase are often considered the most difficult to solve and most costly to fix (Bray 2002). Hence, the potential benefits of successful comprehension (Graesser et al. 1994) promise improvements in software quality, stakeholder satisfaction and development costs. However, comprehension is ‘a complex interaction of basic cognitive processes’ (Fletcher et al. 1996) which can be regarded as ‘one of the most complex and uniquely human of cognitive activities’ (Van Den Broek et al. 1996) and which are vital for developing computational thinking.

 
One area that offers a valid means of investigating comprehension is that of Discourse Process. Bamberg and Moissinac (2003) define discourse as ‘broadly taken to mean the use of language beyond that of a single sentence’. Discourse Process analyses the way in which sequences of sentences combine to produce coherent sections of language, and thus extends the traditional linguistic study of the construction of individual sentences (Crystal 1997; Graesser et al. 1997).

 
Requirements techniques aim to communicate sets of concepts and meanings which have been constructed, often within sizeable documents, to various stakeholders in a system. Moreover, they typically capture the interaction between an actor and the system in order to accomplish the actor’s goal across a number of statements (Cockburn 2001; Kulak and Guiney 2000). Therefore, discourse process is particularly relevant for the understanding, and improvement, of requirements.

 
References
  1. Bray, I. K. (2002). An introduction to requirements engineering. Harlow: Addison-Wesley.
  2. Cockburn, A. (2001). Writing effective use cases. London: Addison-Wesley.
  3. Crystal, D. (1997). The Cambridge encyclopaedia of language. Cambridge: Cambridge University Press.
  4. Fletcher, C. R., Van Den Broek, P., & Arthur, E. J. (1996). A model of narrative comprehension and recall. In B. K. Britton & A. C. Graesser (Eds.), Models of understanding text (pp. 141–163). Mahwah, NJ: Lawrence Erlbaum Associates.
  5. Glass, R. (1998). Software runaways. Harlow: Prentice Hall.
  6. Graesser, A. C., Singer, M., & Trabasso, T. (1994). Constructing inferences during narrative text comprehension. Psychological Review, 101(3), 371–395.
  7. Kulak, D., & Guiney, E. (2000). Use cases: Requirements in context. London: ACM Press.
  8. Van Den Broek, P., Risden, K., Fletcher, C. R., & Thurlow, R. (1996). A ‘‘landscape’’ view of reading: Fluctuating patterns of activation and the construction of a stable memory representation. In B. K. Britton & A. C. Graesser (Eds.), Models of understanding text (pp. 165–187). Mahwah, NJ:

Sunday, May 29, 2011

Teaching Software Architectures

The traditional way to begin talking about something is to outline the history, broad principles, and the like. When someone does that at a conference, I get sleepy most of the times. My mind starts wandering with a low-priority background process that polls the speaker until he or she gives an example. The examples wake me up because it is with examples that I can see what is going on. With principles it is too easy to make generalizations, too hard to figure out how to apply things. An example helps make things clear.
So is with teaching and more so teaching IT. I wasted a Semester of sitting dumb in a class of Software Architecture where my teacher only talked about different architectures / models. I never figured out how architecting works in programming until I worked out the carefully crafted examples. Only ‘doing’– ‘not sitting in a class listening’ - that has finally given me a sense of the process of architectures and afterwards, the lecture slides.
Again what I mean by ‘carefully crafted’ examples? If I pick a large program, describing its architectural design can become too complicated for any student to work through. (I tried and even a slightly complicated example runs to more than a hundred pages.) However, if I pick a program that is small enough to be comprehensible, architecture does not look like it is worthwhile. Thus I favour a classic mix of describing techniques that are useful for real-world scenarios. 

Tuesday, May 24, 2011

Teaching Programming

Programming has been described by many authors as the new Latin of the school syllabus, a kind of mental whetstone for developing minds. As such, it was assumed that students would develop their general problem-solving skills through learning programming. However, reports from teachers of programming and results from some empirical studies now suggest that the teaching of programming has created significant difficulties even for university students, and has failed to catalyze the development of higher order thinking skills.

What has gone wrong? It is wise for teachers of IT to review  some of the challenges of both teaching and learning programming. The programmer's objective, for beginners and expert alike, is first to specify a detailed plan that can be carried out. That is, the programmer has to decompose the initial task. This is not trivial: Many people are quite unable to say how they perform certain tasks. For instance, many students in introductory programming classes are unable to explain how they are able to select the smallest of a series of integers. 
Next, the programmer must map this plan into the constructs of the target programming language. There are two points to be made about this mapping process.
1.      First, for the process to be "clean," the programmer needs to have a very clear idea of the abstract plan and of the constructs available in the programming language. One study of beginner programmers showed that many beginners had very fuzzy notions about a programming language—substantial misunderstandings had occurred with regard to virtually every construct in the language.
2.      Second, task decomposition and program coding are not as neatly decoupled as we might think. A simple example: If arrays are not available in the target programming language, then a plan that assumes this capability would be badly flawed. A thorough knowledge of the facilities provided by the programming language is needed even at the stage of formulating the task plan. 
Debugging a program is similarly complex and demands a variety of skills, including an ability to coordinate information derived from sources such as error messages, the program plan, the program specification, and the actual code.

There are some resources to help:
1.    John Anderson and Edward Skwarecki's "The Automated Tutoring of Introductory Computer Programming" demonstrates that intelligent computer-assisted instruction (ICAI) technology can be a more effective way of teaching introductory programming courses—for certain populations.
2.    Elliot Soloway's "Learning to Program = Learning to Construct Mechanisms and Explanations" challenges conventional wisdom by taking a fresh look at assumptions about the art of programming.
3.    Soloway advocates a more explicit approach to the teaching of problem-solving skills, which is based on the actual skills experienced programmers use in addressing real tasks.
4.    "Boxer: A Reconstructible Computational Medium," by Andrea A. diSessa and Harold Abelson, proposes a radically new kind of computational medium—one that would be highly tailorable, and able to accommodate a wide range of users, from a seven-year-old to an experienced nonprofessional.

Recent experiments have suggested that the domain knowledge of experienced programmers is organized in a radically different way from the domain knowledge of beginner programmers; analogous results have also been reported for chess and music. In all cases, experts use larger chunks of knowledge. An important instructional question is how to bring beginners up to the expert's level of domain knowledge. Aside from teaching details of the syntax and semantics of a particular programming language, it is necessary to explicitly and concurrently explain why and how programs work, the goal of any given program, what plan segments are, strategies for decomposing tasks, rules that well-formed programs adhere to, and design strategies. If followed, this approach would produce several radically different types of programming courses.