Johanna Eriksson – Freelance Web Developer

Java, PHP, Python, MySQL, AJAX, JQuery, HTML, XML, CSS

Teaching

Today I’m spending half the day at KTH, after having had a group discussion session with my PBL students. Personally, I like the programming sessions much better, it’s more fun to help students solve problems themselves than to question them to see if they’ve done their homework.

I’ve been programming for ten years and I used to help teaching programming for years when I was a student, so I tend to underestimate the amount of preparation needed for me. I always do the programming assignments beforehand as they’re new to me, but reading up on what the students are actually learning is something I’ve overlooked.

I’m programming a quite advanced Python application at the moment, so it’s easy for me to believe that I know all about Python. But for that application, I focus on system architecture, performance, subprocesses, queues, error handling, using external applications and logging and that’s not really what’s taught in this course.

Python syntax and datatypes is something I google when I need to, but after the slightly embarrassing realization that I didn’t know the answer of one of the homework questions today, I’ve decided to read the course literature. It’s probably good to know the difference between a tuple and a list anyway, even if getting away with being clueless is easy being a PBL teacher.

How to question students without having a clue about the answer:
Me: “What is a tuple?” (pointing at a student)
Student: “Bla bla bla”
Me: “Mmmhmm… Is everyone satisfied with this answer or does anyone want to add something?”
Another student: “I think a tuple is more like bla bla bla.”
A third student: “Yes, that’s what I answered too, look here in the book bla bla bla.”
Me: “Those are all good points! Can we now agree on that a tuple is bla bla bla?”

Naturally I would never use this method. Never. ;-)

1 comment

It’s all Python!

Right now, it’s all about Python.

This week I started teaching again, entry level programming with problem based learning for KTH engineering students. I have my own group of 12 students who’ll (hopefully) be kick-ass programmers in a couple of months! … or at least know the basics of programming. :-)

A few years ago KTH switched from Java to Python in these courses, a very good decision if you ask me. No more “and please ignore that strange main-stuff, we’ll get to that later, for now just copy it”.

Python is clean and the students can get straight to actually writing code that does things. Very pedagogic:

Java Hello World:
public class Hello {
   public static void main(String[] args) {
      System.out.println("Hello World!");
   }
}

Python Hello World:
print "Hello World!"

But even if Python is great for teaching and I really want to have an intense and loving relationship with the language, some aspects of it are new to me, and don’t seem all that good. Yesterday I was working on my current project and I wanted to create a similar object to one already existing, with the same methods, but with its own implementations. To me, coming from the Java-verse, this screams interface. But Python doesn’t have interfaces.

I know that Python is a dynamically typed language and that I can send whatever object I want to a function and just assume it has the method I want to use, but what if someone fucks up?

I’m the only developer in this project at the moment and I think I can trust myself, but how do people in larger projects solve this? What’s the good way of coding what would have been an interface in another language in Python?

2 Comments

Not Having an Office

Being a freelance developer means often not having a job to physically go to. I love to be able to work from home, but unfortunately I don’t think it’s good to spend every day all by yourself. It’s hard to believe that anyone would stay sane for a longer period of time during these circumstances.

I don’t really want to go insane, so my plan is to spend not more than half of the estimated 40-hour-weeks at home. One afternoon a week I’ll be at Il Caffè, The Place To Be for freelancers here in Stockholm. When possible, I also plan to spend one day a week at my customers’ offices, even if most projects are of the type that I can just as easily do from home. It’s nice to hang out with the customers and it’s definitely a good way to make sure the communication works well without any larger effort. I’ll also start teaching programming for a couple of hours a week (preferably early in the mornings) so those days I might work the rest of the day from KTH as I’m already there.

But for the rest of the time I need a place in the apartment that’s not completely unergonomic. Right now I’m using the kitchen table and that’s not good for my back.

Ever since I moved to this apartment, a few months ago, I’ve had a vision of me sitting in the living room on my pilates ball that I use as chair (great for the back) at a glass table with my MacBook Pro, hacking away. IKEA has these kind of tables and they’re really cheap, so I think it’s time for an IKEA visit soon!

No comments

Back at KTH!

Today I left my job for the last time. I’m now officially a freelance developer! I had the afternoon off, so I did what I’ve thought about doing for a while: visited KTH and CSC, where I used to hang out a lot a few years back.

Teaching is something I’ve been missing the last three years, so my plan was to see if I’m needed in any course. Turns out I am, I believe the exact words were “Yes yes yes!”.

So in January, I’m going back to teaching programming a few hours a week! It’ll be interesting, because I believe I’m a much better teacher now than when I was as a student. New perspectives, better understanding of people. But at the same time, I’ve moved further away from the Johanna that struggled with learning programming ten years ago.

It feels really good to be back, I like KTH and the people at CSC. Everything seems to be the same as three years back, the environment feels so far away from IT-Stockholm and the consultant business but in reality it’s not. After all, the smart students have to end up somewhere after graduation, for example at geek pool number one. Same people, better coffee.

But now it’s time to do some shopping before heading to the wp-fika!

No comments
  • Contact

    E-mail and GTalk
    mail at johannas dot info
    Skype
    jo_eriksson
    Twitter
    _jo_hanna_
  • Flickr

    Roy Tanck's Flickr Widget requires Flash Player 9 or better.

    Get this widget at roytanck.com
  • Twitter

  • Networks

  •   


    Medicines sans frontieres