Skip to main content

Teaching programming to EE students

It's that time again. Time to teach second year EE on programming. This is their first formal course on programming. Perhaps, this is also their last time? I had only one formal course on programming and that was FORTRAN. Anyway, what should I teach?

We already decided that it's object oriented and C++ is going to be used as the language. Walter Savitch's "Problem Solving in C++" is the textbook. There were a lot of discussion before we came to that decision. Unfortunately, I didn't make notes (and am to lazy to write them down). Every year I re-think about it. (Perhaps, it's time to write the arguments down?) Here's an issue that came my mind recently.

High vs low-level programming

UML or higher level "coding." This is great, but I am afraid that my students would not understand low level coding. Remember that they are EE, engineers. They are not computer scientists. They may have to work with devices with low level programming, such as (micro)controllers and stuff. That's why we picked C++. It's not the best language to teach programming, but it can go to low level or high level.

I was looking at Michael Lynn's presentation (on Cisco IOS shellcode) the other day. (It was a huge fiasco.) Many parts of the description have codes in assembly language. Do I have to teach assembly language to my students? (Perhaps in a "core ware-like" game? Suggestion?) How many of you still play (work) with assembly language? Should I even bother? They'll learn it themselves. (Then, what's the purpose of me teaching them programming if they can learn it themselves?)

The most important thing is I have to teach them the logic of programming. BTW, how do I test logic? I want to know if they have the "foundation of programming," but not language-specific (or even paradigm-specific). Should I test them with pseudo code? Flow chart? Stories?

Anyway ... I wish I am allowed to teach programming with perl :)

Comments

Anonymous said…
pak budi, dimana saya bisa mendapatkan presentasi nya michael lynn ttg cisco bugs itu ?

tksh -=adnan=-
Budi Rahardjo said…
Adnan, bagaimana kalau saya emailkan saja? Kemana harus saya emailkan (via japri saja)?
Anonymous said…
pak budi, saya merekomendasikan beberapa situs yg menyediakan soal" cerita problem solving ^_^ :

- acm.uva.es/problemset
- ace.delos.com/usacogate
- www.topcoder.com/tc
DianTN said…
IMHO, pemrograman akan tergantung dari model komputasi device yang akan diprogram. Model komputasi bersifat independen terhadap bahasa pemrograman yang akan digunakan. Contohnya, model komputasi object oriented bisa juga ditulis dengan bahasa C, atau bahkan assembly.

Untuk EE students, saya menyarankan agar mereka dapat menguasai bagaimana meng-capture model komputasi ke dalam bahasa pemrograman tsb.
- state-machine -> c, java, perl, dsb.
- dataflow -> c, vhdl
- oo -> c, c++.
Anonymous said…
email saya adnan_itb@yahoo.com. makasih banyak ya pak budi.. wassalam -=adnan=-
Sumodirjo said…
kayaknya komen diatas spam ya pak? blog temen saya juga kayaknya ada yang kena. BTW, kalau perl jangan lah pak, kelihatannya terlalu "aneh" apalagi kalau benar2 baru kenal programming. Tapi ya entah kalau pak Budi mengasumsikan bahwa anak2 EE(apalagi ITB) bisa menyerap dengan cepat. Kalau Python bagaimana pak? tapi mungkin terlalu mudah untuk calon engineer;-) BTW, minta presentasinya michael lynn juga dong pak. nanti saya email japri.
Old Monkey said…
Di Universitas saya , first year programming language kita belajar
Haskell i.e dulu Miranda

Popular posts from this blog

Himbauan Kepada Hacker & Cracker Indonesia & Malaysia

Kepada Hacker & Cracker Indonesia & Malaysia, Saya mengharapkan anda tidak melakukan penyerangan atau/dan pengrusakan situs-situs Indonesia dan Malaysia. Saya mengerti bahwa akhir-akhir ini beberapa masalah di dunia nyata membuat kita kesal dan marah. Namun kekesalan tersebut sebaiknya tidak dilimpahkan ke dunia maya (cyberspace). Semestinya sebelum melakukan aksi yang berdampak negatif, kita bisa melakukan langkah-langkah positif seperti melakukan dialog (melalui email, mailing list, bulletin board, blog, dan media elektronik lainnya). Kita harus ingat bahwa kita hidup bertetangga dan bersaudara. Yang namanya hidup bertetangga pasti mengalami perbedaan pendapat. Mari kita belajar bertetangga dengan baik. Saya berharap agar kita yang hidup di dunia maya mencontohkan bagaimana kita menyelesaikan permasalahan dengan kepala dingin dan hati yang lapang, sehingga para pemimpin kita di dunia nyata dapat mencontoh penyelesaian damai. Mudah-mudahan mereka dapat lebih arif dan bijaksana

More bad news with Malaysia - Indonesia

I've got more emails and news about bad news between Indonesia and Malaysia. To be exact, there was a news about RELA (not sure what that is) that goes out after Indonesians in Malaysia. There were incidents where they hit Indonesians, rob, and do horrible things. I cannot even write this is my blog. I am so sad and frustrated. What's going on with Malaysia (and Malaysians)? What did we - Indonesian(s) - do to deserve this? I thought there should be less boundary between Indonesia and Malaysia. But ... What's going on there, bro & sis? You know, more Indonesians now feel that they are offended by Malaysians. I can tell you that this bad feeling is increasing. This is a bad publicity towards Malaysia. People are now creating various calling names, such as "Malingsia" (it's a short of "maling" [thief] "siah" [you, Sundanese]), and worse.

Say NO to APJII!

Prolog At the end of 1997, I went back to Indonesia from my studies and work in Canada. The .ID domain management in Indonesia at that time was in a confusing state. Nobody wanted to manage it. Universitas Indonesia (UI) - the original maintainer - was in a fight with APJII (the Association of Indonesian ISP). In the end, IANA gave me a mandate to manage the .ID domain. Since then, I manage the .ID domain with open management. There are problems, but mostly minors. Until recently, when APJII (again) is trying to take over the .ID domain management from my team. Here's a short info to give you a head start. Short summary APJII (the association of ISP in Indonesia) is trying to takeover the .ID domain management in Indonesia. They have tried and will try everything to take over. Long description I've been managing the .ID domain since the end of 1997. At that time, nobody wanted to run the domain management. First of all, a brief description of how we run things. To run the .ID d