First Day of Python for my Vietnamese Students


Today is the first day my Chinese-German, Korean and Vietnamese high school students started to use the Python Programming Language. I wanted to give them a two week introduction to Python during the remaining days of the school year. It actually went quite well and I think they were very interested on their first day using Python.

I chose Python over PHP and Java out of personal bias. Tracy Reed introduced Python and Plone to me nearly 3 years ago. I also chose Python since, unlike other programming languages, it is installed by default in both the LInux and BSD distributions (Perl is also installed by default). I also am quite impressed at how many LESS lines of code you need to do a simple program when compared to Perl/CGI and PHP, the two programming languages I learned in the past. The infamous Helloworld program only takes one line in Python alone!!!

My goal is to just introduce them to Python now. When the next school year starts, I plan to spend roughly 2-3 months teaching Python. After a short review of XHTML and CSS, I will introduce them to Django.

These kids are definitely a rarity in Vietnam and they are MY students. 🙂

Vietnamese students learning Python

(Group 10A students learning Python)

Vietnamese students learning Python

(Nikki’s is reading Chapter 2 of her Python Tutorial)


  1. They are using Putty to SSH to my PC-BSD server which is installed inside of VMWare server. They all have Linux Mint VM accounts but unfortunately, since their VM are located on one central server, it takes them forever to load up.

    It is frustrating but for my students, it shows them the weakness of Windows and the strength of BSD/Linux.

  2. @David: Thanks. I heard about Turbogears. One of the main competitors for Django. I will go over it during the summer. That books looks great two. I need to review it as well. Thanks for the tips.

    @Tran: Why did you not like it?

  3. You will be remembered as the most hated teacher ever. Teaching something obsolete and not usable in the market makes them unemployed and having to mention something on a CV that nobody cares. Worse, we have gone the same thing in university where a teacher forced to learn Modula. To this day, students will mention that teacher’s name to have force them to learn a language that is useless.

  4. Python a useless language, sorry but I think you need to do some more research. Python is a very popular language installed by default with all major Linux and BSD distros including Apple OSXs. Google supports Python, Plone is written in Python.

    Python obsolete??? Show me your sources?

  5. Well it’s an interesting thought. You hear that criticism a lot from the Ruby community how “stale” it is.. True Plone is in Python.. but Plone is not exactly encountering Boom times. Yes Plone 3 is out, not the greatest, extremely hard to learn, and more and more we feel (and we’re using it) the community is isolated, and retrenched. In Silicon Valley Plone was proclaimed “out” in 2006 already. One of the things Plone does not have is any social features, a total killer for anyone who wants to produce content in my opinion and this is 2008. It BARELY got a blog that is decent enough to look at but in general it misses the interfaces needed this day to communicate with other applications with other websites and basically be part of an interactive web experience. It’s a stand alone silo, and its community reflect that attitude, and as such it may be great for an organization like Oxfam or the like that needs to pump out lots of documents quickly.. but other than that I do not see much future for it.

    It’s also hell to learn, ZODB has its own structure, or even when you use postgresql, all has to be done the Plone/Zope way.. making it fundamentally incompatible with other platforms.

    By the way I cannot tell you the amount of people in the plone community who called web 2.0 or facebook a “hype”.. that tells you something about the isolationist attitude. If you look at the quality of the sites that are rolled out.. from oxfam to discovery magazine, it really is *not* impressive. Yes there’s a lot of “stuff” but it really really lacks the sophistication of so many startups that either provide apps, or are a full fledged content site. It just cannot match that level at all. And if you are a startup.. what WILL differentiate you from the pack.. if not the uniqueness of your design or functionalities ?

    They say Plone is soo user friendly.. well it’s not. It may be for geeks or for content managers but how about a *normal person* who knows how to email, who knows MS Word and that’s it ? I don’t consider it user friendly at all, and like has been said many times over, especially in Silicon Valley, open source is an almost 100 % failure when it comes to user interfacing, usability and design.

    When I see their wiki’s.. I am sorry but a normal person thinks of something like a wikipedia. So if you OFFER a wiki, and it’s so clumsy to work with/look at.. you already LOST your edge before you even started.

    So yes while I consider Plone great for large content sites.. who just want to quickly “get the word out” with some basic workflow, or an intranet portal.. it’s not really ready or great for a common end-user experience.

    Now Django is an interesting one, and if you talk about mainstream apps, then Django might be close to a tipping point (version 1.0 coming out in September) and it may benefit somewhat from the hype. It’s a rapid prototype platform, and you can quickly demo, launch a website and build more apps from there whilst the team builds content and an audience. THAT Is much more in line with web 2.0 and web 3.0, since it’s flexible, pluggable.

  6. I am glad that someone has the courage and take charge of teaching the modern scripting languages like Python and Ruby. I have written a programming book “CAD Scripting Languages” dealing with Unix, Perl, Python, Ruby, Tcl for engineers. Ruby is a great language. I prefer Ruby because I believe Ruby will the ultimate scriopting language for general-purpose programming as well as for web applications due to the explosion of RoR (Ruby on Rails) . Thank you teaching the class. Wonder how can you start aclass like this in Vietnam? I like to do it someday too.

  7. Stanford recently (9/26/2008) released Steve Yegge’s talk on “Dynamic Languages Strike Back”. Very good insight about the future of scripting langages on the IT industry. Hope universities concentrate more on scripting languages like Perl, Ruby and Python.

    Kevin……Thank you again to teach Python class in Vietnam. Google is looking for your students. (Steve Yegge)

  8. Hi Kevin…….How do you do? Thank for asking. Yes I was in Vietnam in last December mostly on the Northern Vietnam. I had been there two weeks. I stayed mostly on the countryside for fresh air. It’s beautiful. I have to cut the trip short to head Saigon for just one night, then catch the flight home at Tan Son Nhat.

    I had managed to donate my books to the Dai Hoc Back Khoa at Hanoi and Saigon. Check it out if any of your students can borrow the books from the university library.

    Just wonder from your experience, is it difficult to open a intense technical school such as this? Is it realistic or does it even make sense?

Comments are closed.