Computer Programming: First-day handout 2015-2016 presentation

Letter to parents and students

Teacher Introduction

Hello! My name is Justin Robertson, and I am ISM’s teacher of IB Computer Science and Computer Programming. I graduated from the University of London with a Master’s degree in Computer Science and worked as a software developer for ten years before getting my teaching diploma in Information and Communications Technology in 2004. My last position was as Director of IT at the British International School of Istanbul, and prior to that I was Director of IT at The Hall School in London.

In this brief letter I’ve tried to provide a flavour of what to expect from the computer programming course this year, but if you have any questions, at any time, please drop me an email at robertsonj@ismanila.org.

What is computer programming?

Computer programming, formally, is the process of developing a sequence of instructions using a limited instruction set that when executed perform a specific task on a computer. It is much more about problem-solving than anything else and it does not require any great proficiency in the use of computers. Logic, creativity and a passion for finding elegant solutions to problems are the key characteristics of a computer programmer.

Are students required to have done any programming before?

No. The computer programming course at ISM is a pre-requisite for entry to the Higher Level IB Computer Science course but does not itself have any special admission requirements. The course caters to a huge range of prior experience, from total beginner to competent programmer. I don’t generally expect the less experienced students to “catch up” with the more experienced (everyone has to make progress after all), but it is quite possible for newcomers to be among the most advanced programmers by the end of the year.

How is computer programming graded?

In this course  it is not possible to grade all students by the same attainment criteria in this class because of the enormous disparity in prior experience; if I did, some students would always get high grades and other students would always get low grades. Instead, I encourage students to challenge themselves and to make a reasonable effort in every lesson. Self-assessment and peer-assessment is an important part of the course and evidence of sustained effort will generate high grades, whatever the difficulty level of the work. There is no written exam in this course, for the reasons already mentioned, and tests and quizzes will be infrequent. Almost all graded work will be project-based. Students will set their own targets against which assessment of progress and effort will be made.

What is your teaching style?

Learning is an active process that requires effort and participation on behalf of the learner. I will provide instruction and exercises at a variety of levels, the most basic being aimed at the newcomer and the most difficult aimed to stretch the most advanced students in the class. I will also provide a range of exercises in between these extremes and group students on the basis of their experience. The class atmosphere will be one of collegiality and constructive feedback to allow students to build in their strengths and eliminate their weaknesses in a supportive environment. Project work will give students the chance to put their learning into practice, from simple procedures right up to games programming and full-blown business application development.

What will be expected of students?

This class may be very different from any that students have taken before. They may have been used to receiving group instruction, doing the same exercises or problem sets as each other, and comparing their results with those of their classmates to see if they are doing well or not. However, this model cannot be applied in a class which starts out with such a large disparity in ability. If new students compare themselves with experienced programmers, they will become despondent. If experienced students compare themselves with newcomers, they will become complacent. Accordingly I expect students in this class to be self-starters, getting down to work quickly, and having a proactive attitude to their learning.

The key expectations are that students:

  • Be proactive in their learning
  • Help each other
  • Reflect on their personal strengths and weaknesses
  • Make a reasonable effort in every lesson

What equipment do students need?

None. Every class takes place in a computer lab, so no laptops are required, and all computers in the labs have the requisite software installed. All the software used on the course is free to download and links will be provided on the course blog. Work will be saved on the school file server, which is accessible from home.

When are tutorials?

Like all teachers, I will be available in my room (1057) from 2:30-2:50pm on Tuesday, Thursday and Friday for advice or discussion.

What is the course blog for?

Course notes to support topics will be posted regularly, along with links to useful and interesting resources. Having a regular look at the blog posts is a good way to find out what the content of the course is, and where we are at any time.

Is there homework?

I generally don’t set programming homework although it is expected that students will do some work in their own time before a quiz or to finish off late projects. If students want to do more work out of the classroom, I have a number of resources available in which they can find tasks and exercises, and I am more than happy to discuss this work during tutorial time. Assessment dates will be posted on the blog and on the student schedule Google Calendar.

I hope that provides a useful overview of the course and answers a few basic questions. If you have any other queries, please do not hesitate to contact me at robertsonj@ismanila.org.

Regards,

Justin Robertson
Computer Science
International School Manila

Leave a comment