Tag: Education

  • School is Not Life

    School is Not Life

    Math Cards Icon
    Credit: flickr / Sagolla

    The biggest difference I see between the education system here and in the UK is grading, and that creates some interesting differences in perspective.

    In Canada, marks in the 90’s are commonplace. I actually got a 99 on one of my assignments – I was dying to know what caused the loss of a point, but I think it was just symbolic. I got straight A’s for my grad courses, I think 2xA+, 2xA, A-. I never got grades like that in my undergrad – in fact I graduated with a B average – a “2:1” for those who understand the British system. An A was 70, and they were few and far between. I was explaining this to a Canadian the other day, and he asked “what’s an A+?” I replied, “there is no concept of an A+”.

    I find Canadian students much more confident, and much less aware of the gaps in their knowledge. At Edinburgh, when every assignment came back with at least 25% (usually more) of possible improvements, you become very aware of what a small part of that subset of your field it is that you have understood. If things come back with less than 10% of possible improvements, it’s much easier to think you’re there. Canadians seem much more entrepreneurial as well – perhaps because of this increased confidence.

    Interestingly, grades seem to matter more but be worth less. High school has no standardized testing, so varies depending on the school. In fact someone told me, “if you need certain grades, for example for a scholarship, then you can work with your teacher to make sure you get them” – extra credit assignments, or they can “remark” an assignment and give a higher grade. I was completely horrified by this. But, it explains that attitude of some students I’ve encountered who seem to think they deserve certain grades – not because of their hard work, but because that’s the grades they usually get.

    I don’t really buy, “I get A’s therefore I’m good at X” – it seems more, “I get A’s because I’m good at school”. But – school is not life. Life does not give you grades, and you can be sure – in the real world, with all it’s tradeoff’s and constraints, and chaos… if it did give you a grade, it wouldn’t be an A, not every time. I don’t think, even often.

    Do you want to get A’s at life? The more feedback you get as to how you can improve, the better you can do next time – relative to the bar you set yourself, not some arbitrary standard.

    At the time, during my undergrad, it felt like I was working hard for no recognition. But – since I got that recognition, I realize that it is meaningless. Whether you grade me an A or a D, doesn’t really matter – I have so much more to learn, because it’s infinite, that anything over 0.01% seems vastly overstated.

    Edinburgh gave me a B. But – they also gave me the recognition of how little I know and how much more I have to learn. Places to improve on. That’s a gift. I will take that over the A+’s and the lack of feedback, any day.

  • Books to Read Before You Graduate: Design Patterns

    Books to Read Before You Graduate: Design Patterns

    Design Patterns: Elements of Reusable Object-Oriented Software – I had to read and study this for a class, and then we played Design Pattern Poker, where we “played” the design patterns we had in order to solve a problem.

    Seemed like nonsense at first, but then I read the book. And saw solutions that I’d been applying – and solutions that I should have applied, but didn’t.

    It’s nice to solve problems from scratch and feel that sense of “aha”, but the Patterns give us a shared language to talk solutions – that CompSci students should know. Also, it’s all very well solving a contrived university assignment, but in the real world – problems are bigger, and have more dependencies. The more we expose ourselves to lessons learned in real life, as opposed to the ivory tower, the better. We don’t always get that insight from professors, unfortunately.

    After a chat with someone today about design, and realizing how much I’d learned from this – I’m officially adding it to my “books I’m glad I read before I interviewed @ Google” list.

  • Experimenting with a Visual, Activity-Based Curriculum

    Experimenting with a Visual, Activity-Based Curriculum

    When I left Ottawa, I had to find the new me to run my Processing Workshop. His name is Ali and he’s awesome. He’s had the idea to write up the ideas into a paper, so we’re working on that at the moment, but it occurred to me that I didn’t write much about it here.

    I will definitely post more as this project progresses, but for now I’m going to write up some of the design decisions that I think make this different. Comments welcome – it’ll help us write a better paper – or decide it’s not worth the effort!

    web

    Entirely Visual

    This started when I was teaching programming in the US. Kids taking the other courses were taking home video games, even 3D ones, and so my little programmers weren’t overly excited by the idea of taking home a text-based hangman – and, well, who can blame them?

    So we came to an agreement – we designed something together and I coded the GUI and each of them coded their own back-end. I developed more such frameworks the following summer and eventually got asked to develop the curriculum for all of the US.

    There, I introduced early concepts using Processing (a language and editor for teaching and artists – makes it really easy to create visual applets) as a library within Eclipse. Some students would code their final projects in Processing, but they had the option of a (Swing) framework. I negotiated my contract such that whilst they owned what I wrote, I licensed them the code I wrote (and retained the IP).

    The latest curriculum is designed for one day workshops. Eclipse is an extremely complex and powerful program and has a steep learning curve. The Processing editor is very simple and easy to use and removes some of the syntax necessary to create an applet, so we use that instead.

    Every exercise has a visual outcome. Students can compare what they have produced to the one in the instructions. This provides visual honesty that is lacking in text-based programming applications. By working visually, we turn the program from a “black-box” where the student often does not understand the relationship between the input and output… into a colourful one.

    Activity-Based

    I remember learning to program, and I noticed this pattern:

    1. Introduce concept
    2. Provide contrived example.

    I’ve taught like this too. But – why? That’s not how I code. That looks more like:

    1. Evaluate problem.
    2. Apply solution, that I know/look up/invent (for more complex problem).

    Contrived examples are 1) boring, and 2) patronizing. Instead, we present things that the student might want to do, for example – repeat things, or sometimes do one thing, sometimes do another, and provide code with an explanation.

    For a one-day workshop, we cannot expect the students to memorize concepts and it seems unreasonable to expect them to be interested in doing so. Our focus is on showing them how we can solve problems using code and why that is fun.

    Open Source

    Everything about our workshop is Open Sourced. The content is licensed under a Creative Commons Attribution-NonCommercial license. Similarly, the Processing library is licensed under the LGPL. So students and teachers can distribute their code without concern, but more importantly – students and their teachers can download the software at home or at school free of charge, and continue to explore the modules in their own time.

    TAs

    A low ratio of students to TAs (4 students to each TA) was a key part of the strategy for the workshop. Being stuck, and having to wait, is extremely frustrating to a student. Also, more one-on-one help from a TA makes it possible for students to tackle more challenging projects.

    I was extremely picky about TAs and interviewed them with technical questions, not just experience questions. I was looking for fast problem solving, and good clear communication of their solution (and in general).

    With the short time available for the workshop it was really important that the TAs could fix problems quickly. The key was to keep students moving through the content and feeling like they were progressing – the number one purpose of the workshop was to inspire them to take computer science, rather than to memorize concepts.

    Communication was really important – firstly, because a more effective communicator will teach students concepts faster. Secondly, to break the stereotype of CompSci students as socially inept and not fun to hang out with. I was really looking for people who I felt would be good role models for the students. This included not restricting TAing to graduate students, who often code infrequently anyway. For the first workshop, I hired 4 graduate students and two talented undergraduate students as TAs. They were all fantastic. Our second workshop was organized with less notice, but rather than compromise on the quality of TAs we had a slightly higher ratio (5-6 students per TA). Ideally, we will go with the lower ratio but this ratio was workable.

    Self-Directed

    Related to the low ratio of students to TAs, was the self-directed nature of the workshop. Because the curriculum is available online, there is no need to share printed copies, or wait for the instructor to explain things. Whilst the first couple of modules were necessary to give students familiarity with Processing, students with prior programming experience could quickly skip ahead to more advanced examples. Where possible the modules were written to be stand-alone, so no specific path was necessary. Having a good selection of modules meant that students didn’t have to work on the same “final” thing as their friends, if they didn’t want to.

    Inclusive of Interests and Levels

    Processing is designed as a tool for artists, and there are several modules involving creating fractals and showing students how to create patterns. Creating games is often used to engage kids and teenagers in wanting to learn to code, but by allowing this alternative, artistic track, we hope to broaden the reach of our workshop. But, if they want, there’s a framework for a simplified game of Pacman. We plan to add more games, such as BrickBreaker, over the next few months (subject to funding).

    Some students come with prior programming knowledge, and others do not. We will sometimes run a workshop for multiple schools simultaneously, and we don’t know what background knowledge the students have. This is in addition to the usual issues of different abilities! We have a mix of modules of varying challenges; for example, the most tricky parts of the fractals and patterns is the math, so students less comfortable writing code can work on those. An open-ended attitude means that there is always additional challenges, for example – animation! Students with prior knowledge of programming will often define their own challenge, or even look elsewhere on the internet and explore the 3D capabilities of Processing.

    Overall

    Honestly, I think computer science tends to be really appallingly taught. I don’t pretend to know how we should do it, but we need to do better. It’s great if people want to use, or critique what I’ve created, but the big thing is – I think it’s important that we have a conversation about how to make CS more engaging, whilst still teaching the skills that students need. They need to be able to code, not just write Java with the help of Eclipse.

    You can find the workshop here

  • On Leadership

    photo Follow the Leader
    Credit: flickr / *clairity*

    They call Extreme Blue a leadership development program. I didn’t get it at first, but by the end I did. I also started to see why I had been picked out as someone “showing leadership” – though I have so far to go there.

    It’s around that time of year when I re-read 7 Habits (Amazon) and try and internalize it. It’s become more clear to me over the past few months that this book is key to good leadership, and so this year the take-aways I get from it will be different, for sure.

    I’m not sure I see myself as a leader – more as an active participant in various communities and the debates that surround them. However having read The Leader Who Had No Title (Amazon), that is one view of what leadership is – whatever position you’re in, whatever title you have, you just work to be the best you can be.

    Leadership and Self-Deception: Getting out of the Box (Amazon) is another book on leadership – one that I found completely changed the way I look at everything. It’s funny, because in a talk based on that one of my friends was irritated because it seemed like we were being given life advice – but having read the book, it’s true that it is life advice – because (I think) this view of leadership is all about being a nice, humble, respectful, and – crucially – taking ownership of the mistakes you make instead of assigning blame.

    This book shows us a world in which we are all, inside our boxes, desperately trying to justify the actions we take that are less than honorable, less than kind. If you don’t want to be such a person, you can choose to live outside your box. You can see others as humans – with their own motivations, fears, and justifications, rather than as obnoxious objects trying to take you down.

    Recently, I did something really hard. I offered to step down from a position I love and that I’m hugely passionate about. If I wanted to live in a box I could complain that this is not my fault – the situation is the actions of someone else. I have the emails that have been sent, I could forward them to everyone. I have some idea of what her justifications are, but it doesn’t matter – I can’t change them, it’s pointless to address them.

    It is difficult not to do this. After the latest trick for about an hour I was just – in shock, repeating, “why would someone do that?”.

    But – what little I have learned about leadership tells me that this is not the way to do that. All I can do is be honest, open, humble – and try to be kind. Accept that I’ve been in the box towards this person and try and be outside it.

    This is a horrible, difficult situation to be in. I try and see those as opportunities to grow, and learn. I don’t like what I’m learning about power struggles, but learning not to respond in kind? That is probably a good one.

  • Inspiring Educators

    sunflowers
    Credit: flickr / marcomagrini

    I’ve had a post in mind for a while now, about how I accidentally mis-branded myself as an educator, why that was a problem, and how I managed to turn it into a selling point.

    And then I watched the video embedded below. And it made me re-evaluate the value that I place on being an educator, and question why I don’t want to inspire the way that guy clearly does. Is it because of the lack of value society places upon educators? We pay them badly, and disparage with the expression “those that can’t, teach”. However, teachers unionize and resist attempts at making them improve and be accountable – enforcing every bad opinion (I read a great article I think in the NYT about this recently, but I can’t find it).

    If you check out Ken Robinson’s Ted Talk, perhaps the biggest reason not to be an educator is that you’re entering a fundamentally broken system. I remember school. I was good at it, but I didn’t enjoy it.

    But this guy… is passionate, inspirational, making a difference. So perhaps the next time you encounter an educator, instead of wondering what they couldn’t do, you might be meeting one of the – in my experience very few – who really, genuinely, believe they can.

  • The Future

    Future Or Bust!
    Credit: flickr / Vermin Inc

    The other day, I blogged about how technology education had to better prepare students for the future, but I didn’t come up with many ideas for how. Ultimately, it’s hard to prepare for the unknown and I evade predictions about the details. It’s really hard to educate for the future, if you don’t know what it will be like. However I think there are some things that we do know – mostly because they’ve already started happening.

    But what can we say about the future?

    • Being able to find stuff will be more important than knowing stuff.
    • Not being comfortable with technology will be a huge disadvantage.
    • Need to be adaptable due to the fast changing nature of life and work.
    • Everything will be customizable.
    • We will need to be smart about our privacy.
    • Context and location awareness will become more prevalent (you can already see this with your todo list on Remember the Milk)
    • Interactivity will take on new meaning – check out this iPhone book, and the future of shopping.
    • Connectivity will be ubiquitous.
    • Never lose touch with friends because of services like Facebook.

    I think informatics education makes students better prepared for the future. Informatics is becoming increasingly prevalent – especially in biology, geography (GIS) and physics. So I think we’ll see a rise in joint degrees, and a good grounding in technology will be as necessary as basic math.

    Now to convince everybody else…

  • Mini-Generation Gaps

    Mini-Generation Gaps

    One Laptop Per Child
    Credit: Wikimedia

    When I gave the Holiday Science lecture, one of the things that I touched on briefly was how my childhood was unrecognizable compared to the childhood of children 10 years my junior.

    This article – The Children of Cyberspace – from the New York Times elaborates on that further. From the article:

    “Researchers are exploring this notion too. They theorize that the ever-accelerating pace of technological change may be minting a series of mini-generation gaps, with each group of children uniquely influenced by the tech tools available in their formative stages of development.”

    Lately, I’ve been thinking more about this and how technology education needs to prepare people for the future – both in terms of how we encourage children to take an interest in informatics (Computer Science) and what they’re taught when they get here. I’m starting to work out the details for a presentation, which I’m thinking about calling “Preparing for a Revolution”.

    What do you think? Any suggestions?

  • Holiday Science Lecture Presentation: Art, Life and Programming

    Here’s the slidedeck! Because I’m presenting in French I’ve kept text to a minimum:

    Posts with detailed notes about what I’ll be covering and the videos (which won’t work from Slideshare – boo!):

    Part 1: Introduction

    Part 2: Art

    Part 3: Life

    Part 4: Programming