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

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

tksh -=adnan=-
budi 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
PapaNadin 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++.
adnan basalamah said…
email saya adnan_itb@yahoo.com. makasih banyak ya pak budi.. wassalam -=adnan=-
Hot News From The Automotive Lending Industry!!

+++++++++Current Profile+++++++++
InterFinancial Holdings, Corp (IFLH)
Current Price $0.036
+++++++++++++++++++++++++++++

Is this an undiscovered gem priced to go higher!!
Please read the following Announcement in its Entirety and Consider the Possibilities?
Watch this One to Trade!

IFLH announces Senator David Cain has joined its Board of Directors!!

IFLH volume trading is beginning to surge with landslide Announcement. The value of this
stock appears poised for growth! This one should not remain on the ground floor for long.

BREAKING NEWS!!
InterFinancial Holdings, Corp. (OTC Pink Sheets: IFLH - News) announced that they have added
David Cain to their board of directors. David Cain is currently the Chairman of the advisory
board to TTI (Texas Transportation Institute). Senator Cain represented Senate District 2 for
eight years in the Texas Senate and Chaired the Senate State Affairs Subcommittee on
Transportation and served nine terms in the Texas House of Representatives for District 107.

During his twelve years as Chairman of the House Committee on Transportation, Senator Cain?s
efforts on behalf of the people of Texas have been widely recognized. He was named to Texas
Monthly Magazine?s list of Ten Best Legislators, the Dallas Morning News said he was one of
the outstanding legislators of the 73rd session, and the Texas Department of Transportation
awarded him the Russell H. Perry Award in 1995 for his efforts to gain public awareness of
the need for and benefits of transportation facilities in the State of Texas.

Jeffrey C. Bruteyn, Managing Director, stated, We at InterFinancial are proud to have such a
widely recognized Senator join our board and oversee out automotive lending division. His
affiliations and connections to the automotive industry will be invaluable to our company.
Senator Cain will be instrumental in expediting our approval to use a government issued Seller
Finance License.

Seller Finance Licenses are very difficult to obtain and are usually reserved for the Big Boys
with heavy lobbyists. These licenses are highly coveted because it allows the finance company
to collect the entire down payment, instead of paying a portion of it to the taxing authority.
This dramatically helps a finance company?s bottom line if the buyer defaults on the loan.

With the new GPS tracking systems being installed on every car to dramatically improve
repossessions and with Senator Cain on the Board of Directors, InterFinancial Holdings
is ready to take their business to the next level.

Conclusion:

The examples above show the Awesome, Earning Potential of little known Companies
That Explode onto Investor?s Radar Screens. This stock will not be a Secret for long.
Then You May Feel the Desire to Act Right Now! And Please Watch This One Trade!!
GO IFLH!

All statements made are our express opinion only and should be treated as such. We may own,
take position and sell any securities mentioned at any time. Any statements that express or
involve discussions with respect to predictions, goals, expectations, beliefs, plans,
projections, objectives, assumptions or future events or performance are not statements of
historical fact and may be "forward looking statements." Forward looking statements are based
on expectations, estimates and projections at the time the statements are made that involve a
number of risks and uncertainties which could cause actual results or events to differ materially
from those presently anticipated. This newsletter was paid four thousand dollars from a party
(IR Marketing). Forward looking statements in this action may be identified through the use of
words such as: "projects", "foresee", "expects". in compliance with Section 17(.b), we disclose
the holding of IF LH shares prior to the publication of this report. Be aware of an inherent
conflict of interest resulting from such holdings due to our intent to profit from the liquidation
of these shares. Shares may be sold at any time, even after positive statements have been made
regarding the above company. Since we own shares, there is an inherent conflict of interest in
our statements and opinions. Readers of this publication are cautioned not to place undue reliance
on forward-looking statements, which are based on certain assumptions and expectations involving
various risks and uncertainties that could cause results to differ materially from those set forth
in the forward- looking statements. This is not solicitation to buy or sell stocks, this text is
for informational purpose only and you should seek professional advice from registered financial
advisor before you do anything related with buying or selling stocks, penny stocks are very high
risk and you can lose your entire investment.
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

Band progressive rock baru?

Lepas dari yang serius-serius sebentar. Kita ke musik lagi.

Terus terang saya tadinya mulai merasa bahwa musik progressive rock bakalan mati. Seperti lirik dari lagu band Asia - "Rock and Roll Dream":

When I see your faces from the limousine. No chance of our survival...

Tapi setelah saya mendengarkan The Flower Kings, harapan tumbuh lagi. Band yang dimotori oleh Roine Stolt (gitar) memiliki nuansa (melodi?) yang selaras dengan band-band terdahulu. Mereka sanggup membawakan lagu Cinema Show-nya Genesis dengan sempurna. Bahkan lebih baik menurut saya. Jadi, para penggemar sekalian, progressive rock akan tetap tumbuh subur.

Roine Stolt juga menjadi bagian dari band Transatlantic yang juga memiliki nuansa progressive rock. Maklum, mereka campuran dari Dream Theater, Marillion, The Flower Kings, dan Spock's Beard. Meski, ada lagu bootleged live show mereka yang kedodoran membawakan lagu "Firth of Fifth" nya Genesis. Ternyata band besar bisa kedodoran juga.

Repotnya, mus…

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 da…

Tenggang waktu sebelum domain (.ID) didaur ulang?

Saat ini setelah domain tidak membayar, maka status domain akan berubah menjadi hold. Pada kondisi ini domain tidak dapat diquery/hilang namun domain belum dapat dilepas ke publik kembali. Saat ini belum ada aturan kapan domain yang sudah mati ini dapat digunakan kembali, mungkin oleh orang lain. Sudah saatnya ada kejelasan mengenai daurulang (recycle) nama domain ini.

Ada dua usulan batas waktu ekstrim:
Satu (1) tahun setelah domain mati. Kontra: kelamaanTiga (3) bulan setelah domain mati. Kontra: terlalu cepat
Nah mohon masukan, masukan mana yang lebih baik dipilih?
Atau kalau ada usulan lain, mohon diutarakan beserta alasannya.