Python – I have survived!

At the beginning of February I enrolled in the University of Canterbury’s first year paper – COCS121, Introduction to Programming (using Python). I decided to take the plunge as in our Year 12 Digital Technology class we are going to be teaching Python in Term 3 and I have never done any programming whatsoever!!

python logo

I decided I needed a course where I would have deadlines that had to be met. If I had just used an online resource like codeacademy, it would have been too easy to not to do it. Also, I like to interact with others and with the UC course we would have a tutor and tutorials plus able to use forums to talk with other students.

Uc Banner

Tim Bell and his Computer Science department at UC are working hard to support digital technologies teachers and they offered this course as an online option for teachers. (UC also paid the cost of the paper!) Twelve started at the beginning of the year and five of us made it to the final (written) exam.

It was really full on and hard work. I had thought it would be maybe 5 hours extra work a week but for me it was probably more like 10 to 15. With having no background in programming I had to find the time to watch all the lectures, do all the labs and complete all the assignments.

I think the only reason I was able to finish the course was all the support I got. From my partner (lifesaver!), from Jack Morgan our online tutor and from Tim Harford – my DT colleague at school and I also connected in with the UC Computer Chicks Club. We had online tutorials two times a week with Jack, who was great, patient and really good at helping me solve problems. Tim was fab, he sat with me most Tuesday mornings before school so I could bounce ideas and questions off him and talk about what was working and what wasn’t in the programs I was writing. I know I would not have been able to finish this course if I didn’t have all of this help.

Positives out of this (besides completing the course and getting a good grade) are that besides the stress I really enjoyed it. It was exciting and interesting being a student again, it has made me think about my teaching and the students in my class. It has made me think about having extrinsic motivations –  deadlines, grades etc – credits. However, it would be interesting if I was a student in an environment where learning was the final goal – not completing a course. In such an environment I may have made a program that I wanted to, rather then ones about words and word counts!

Even though I did enjoy the whole course and was really excited when I got things to work, I think it would have been better if the assessments were interesting. Or perhaps does there need to be a set formula when teaching the basics of programming? And when teaching such a large group? Something to think about and explore, particularly when we are just about to start teaching Y12 students at an all girls’ school.

Another thing that would have been good would have been working collaboratively. However, again with the set up of a first year uni paper, perahps this would be too hard, as assessments are individual so how can you be collaborative? Perhaps this is something that occurs later on in a university setting. I would like to think about how we could make programming collaborative in NCEA but again have the hurdle of assessments needs to be jumped over. Is anyway out there doing collaborative programming with NCEA assessments?

I have now ticked off part of one of my goals – Goal 3: learn Python so can teach effectively and engage students in this learning area – I have done the learning bit! I hope I can do the next part! Who else uses Python in NCEA for the programming / planning standards? How do you go about teaching it?

Now that I have had the time to process and reflect on the course (and get over illness following the course!) I can see that taking on this learning was a mammoth task while teaching full time! I recently joined a group on Google+ called Code Club for Teachers and was looking at the Code.org activities that people were completing and posted a question “How do you all find the time?”. I had a think about this yesterday and decided that I used up all my spare time (and energy) for the whole year in the first half of this year completing COCS 121! So, I’m going to take a breather for the rest of the year and not run head first into doing extra things – even if they look like lots of fun and could be useful!

So, what do you think about the questions I have formulated in this post – does there need to be set formula when teaching the basics of programming? Does it make it easier when teaching a large group? Can we introduce collaborative work in NCEA with programming? Are you getting students to work collaboratively? Are you teaching Python? How are you teaching it? Or are you are teaching another programming language? If so, what language and how is it going?

Advertisements

Goal 3 – learning Python

python logo

So, after getting through enrolling at UC I have managed to get onto Learn2 (UC Moodle site) and into COCS121. So far so good. Have bought the recommended text book (Practical Programming) and loaded on iPad. Have got link to the interactive text book (How to Think Like a Computer Scientist), which looks pretty cool.

Have started catching up on the lectures that I missed due to not being enrolled. Am finding it quite interesting and not stressful so far!

There are 10 other teachers from around the country enrolled in the course, all doing it by distance and the set up for us is pretty good. I am going to have to allow probably at least 5 hours a week to it to keep on top of everything. Which will mean a very very busy first half of the year.

Quite excited about it though. Oh and if it wasn’t enough am of to the Rails Girls Wellington 2 day workshop in a couple of weekends. (@RailsGirlsWgtn)

Goal 3: learn Python so can teach effectively and engage students in this learning area.

Footnote: a small thing but see real life application for me, writing program to convert metres to feet, as I am mad on surfing!
Was going to link to text file but Google Drive having a hissy fit, so this is what I wrote:

def m2ft():
metre = float (input (“Wave height in metres: “)) return metre * 3.2808
print(“Wave height in feet is “, round (m2ft(),2))

So then how do sites like this – metric-conversions.org – make it come up with feet and inches?? Rather than decimal points. Something I will hopefully learn.

Just thought of another use – in PE students run the Cooper 12 minute run and we then get them to calculate what there time would be over 4kms. Would be cool to have little program to do that quickly (I am sure I could find one on web but cool doing myself!). Even better would be getting the students to make it themselves – cross curricula!

My Goals for 2014

Goal 1: integration of student BYOD devices into learning activities in Year 9 Health with student choice of what, when and how to support their own learning.
This has started well and isn’t too stressful as only have one health lesson a week! And nearly every student has their own device and we have enough laptops in PE to be able to cover those that don’t or might forget. The one issue that I have come across so far is students on tablets, particularly iPads and them not working so well with Google Apps.

Goal 2: to work closely with HFT to consolidate the Level 2 Digital Technology programme with the aim to increase student numbers at L2 and strive to be given a L1 DT course in 2015.
Working well with new assistant HOD so far!

Goal 3: learn Python so can teach effectively and engage students in this learning area.
Starting this soon by doing the Canterbury University COCS121 paper! Will be a busy semester!