Thursday, April 30, 2015

Computer Science Marathons; Motives and Behind the Scene Thought.

I have developed a series of resources that include websites, online discussion groups, social media initiative that includes constant encouraging images, challenges and responses, notes, learner's challenges (assignments), presentations, mock up questionnaires, blogs and lastly the marathons to lift up the computer science subject at O/A level. I have done all of this to encourage students to opt computer science as a subject at O and A Levels and develop their careers in IT, schools accept this as a credible subject and it's usual overall acceptance. I am happy to announce that marathons 2015 are now being offered online to cater the need of overall worldwide O/A level audience.

The team is organising a series of O/A level Computer Science Marathons. The aim has been to support O/A level students who are committed to be confident, resourceful and are enthusiastic learners of computer science. This is a two-day marathon and broadly speaking, I will be interested in ways to engage students, promote independence and challenge learners. I would like to share few issues that I usually identify, found, together with the ideas that came out of the early years marathons:

Develop positive attitudes towards Computer Science and learn to program by:
  • Use of wide range of online tasks and resources
  • Enthusiastic teacher, with a 'can do' positive attitude
  • Plenty of opportunities for students to experience success
  • Hands-on approaches to learning during and after marathons
  • Use real life examples and explore links with other boards questions repository
  • Offer positive role models
  • Online discussion groups - e.g. older students and sound teachers from varying backgrounds mentoring younger students
  • Motivating wallposts and tweets publicising computer science
  • Share learning with parents (e.g. computer science after hours/extra/evening classes to encourage positive attitudes amongst parents)
  • 'Make it enjoyable': computer science challenges, competitions, puzzles of the month, celebrate achievements (like distributing Tablets among the high achievers)
Develop confident learners who are able to work independently and willing to take risks by:
  • Acknowledge all contributions positively, encourage learning from mistakes, welcome wrong answers to new understanding
  • Use positive language
  • Encourage independent and small group research
  • Value different approaches to solving problems 

Develop good communicators - good at listening, speaking and working purposefully in groups:
  • Plan marathons which focus on group work
  • Set 'online group-worthy' tasks that offer plenty to talk about
  • Set a rule that groups are not 'allowed' to move on until all the students understand
  • Allow time for presentation of findings
  • Set the rule: "Don't ask the teacher - ask at least three other students first"
  • Teacher take a step back and ask students to explain to the class their methods and reasoning
  • Teacher question the answers, rather than answer the questions
  • Ask students to prepare challenges
  • Ask students to make a post for others on a given topic

Develop students who have appropriate strategies when they get stuck by:
  • Offer higher-order, open ended tasks to get students used to being 'stuck'
  • Encourage students to explain their difficulty to the rest of the class or online group
  • Offer easy access to a variety of resources like online discussion groups and website
  • Offer tasks in which students have to identify and correct errors and encourage similar reflection on their own work
  • Create a culture in which 'thinking outside the box' is valued

Develop website, tasks, notes and environment that maintain the complexity whilst making the computer science accessible, by:
  • Gradually increase the complexity of tasks
  • Give plenty of time to engage in and 'solve' problems - the process is more important than the answer
  • Use investigational tasks which can be accessed by everyone but can have different levels of outcome
  • Be positive about any steps students take towards solving the problem, however small
  • Present tasks in different formats (6 formats being developed as of yet to solve pseudo-codes) 

Develop students' ability to make connections by:
  • "Where have we seen this before?"
  • Present problems that can use many areas of computer science and related lecture
  • Present open problems which allow students to ask their own questions and develop the need to learn something new
  • Present problems based on real life and cross curricular contexts

Develop critical learners who value and utilize differences (e.g. different approaches/ routes to solution) by:
  • Encourage group work, peer assessment, rotation feedback, discussion
  • Change the composition of groups regularly
  • Ask key questions; like:
    • What are the strengths and weaknesses of this method?
    • When might you use this method?
  • Encourage contributions from all the students
  • Require students to explain their solution
  • Emphasize method rather than outcome
  • Bring students together for mini-plenaries to share and compare approaches
  • Set problems which can be solved in a variety of ways 
  • encourage no-talkers to participate

O/A Level Computers: Notes/Books, Websites, Blog, Discussion Groups & Fan Pages.
For Computer Science 2210/9608:
For Computing 9691: Google "9691"