UDSM Programming - Hawajui kwenda na wakati

UDSM Programming - Hawajui kwenda na wakati

Mimi naona swala la kutokwenda na technologia sio la chuo kimoja au viwili ni vyuo vingi sana hawaendi na technologia unakuta mtu unafundishwa kitu cha zamani sana then ukienda kwenye field unakutana na vitu vipya while watu walio kwenye field wanategemea sisi tuliosoma hivi karibuni tuje na technologia mpya lakini inakuwa tofauti.
Vyuo vyetu vijitahidi kuupdate mitaala hasa kwenye course hizi zinazobadilika kwa kasi sana.
 
Mimi hua ni mfuatiliaji sana wa mambo hasa ya technology. UDSM kama chuo kinachoongoza Tanzania nilikua nategemea watakua mstari wa mbele kuendana na mabadiliko kwenye technology.

Nimepitia Syllabus yao ya hawa wanaoenda kusoma Computer Science/Engineering, yaani first year semester zote mbili Introduction to programming in Pascal.

Hivi nani dunia hii bado anatumia Pascal? Why learn a language ambayo hutokuja kuitumia mbeleni hata siku moja, hakuna industry inatumia Pascal siku hizi, na hakuna anayetafuta kujiajiri au kuajiri mtu mwenye experience na Pascal.

Miaka yote naona course outline haibadiliki, hawapangi kitu kipya, everything is old. Kuna languages nyingine nyingi nzuri zinazofaa kumpa mtu introduction into Programming, Python being one of them au angalau C japo watu wanalia "pointers, dynamic memory allocation" ila ni vitu vikielezwa vinazoeleka vizuri tu. No wonder serikali inalalamika daily kua watu vijana wanaomaliza Tanzania hasa engineering courses hawana uwezo wa kujiajiri.

Ni vizuri kuwapeleka speed wanafunzi kuanzia mwaka wa kwanza sio wanagusa vitu boring wanapoteza interest.

Aisee! yaani hatua ile ya Elimu mtu anafundishwa Pascal!

Ni hatari sana.

Watanzania watachelewa sana kuwa wataalamu katika ulimwengu wa "Programming".

Wakuu, kaa ukiamini kuwa hizi programming tunazofundishwa vyuoni ni kama basics, kwa hiyo tusilaumu sana mi chuo nilichosoma sikuwahi kufundishwa java lakini kwa mda wangu na jitihada zangu nimejufunza mwenyewe, programming language nyingi karibia zinafanana zinatofautiana vitu vichache katika mazingira ya ufundishaji, kwa hiyo tusiwalaumu sana
 
Wakuu, kaa ukiamini kuwa hizi programming tunazofundishwa vyuoni ni kama basics, kwa hiyo tusilaumu sana mi chuo nilichosoma sikuwahi kufundishwa java lakini kwa mda wangu na jitihada zangu nimejufunza mwenyewe, programming language nyingi karibia zinafanana zinatofautiana vitu vichache katika mazingira ya ufundishaji, kwa hiyo tusiwalaumu sana

Siwalaumu sana, sema wajaribu ku-update tu some stuffs.. Watu kuanza kusoma kitu fulani mapema inaweza wasaidia sana hapo baadaye, na wengine wakianza na language boring zisizo na support wanaweza poteza interest kabisa kwenye progamming kabla hawajaonja utamu wake.
 
halafu wanasemaga is the best university na wanadharau watu walosoma vyuo vingine loooh. nlichek course outline za course kama 5 hivi za zaman hawabadilishi sijui na nini
 
Siwalaumu sana, sema wajaribu ku-update tu some stuffs.. Watu kuanza kusoma kitu fulani mapema inaweza wasaidia sana hapo baadaye, na wengine wakianza na language boring zisizo na support wanaweza poteza interest kabisa kwenye progamming kabla hawajaonja utamu wake.

mpaka sasa nshawaelewa sasa kama mtu anataka kujifunza GUI based programming na sio CLI based ungeshauri aanze na Lugha gani lengo likiwa kwenye ktengeneza desktop applications maana Pascal mshai Dis sio strong
 
mpaka sasa nshawaelewa sasa kama mtu anataka kujifunza GUI based programming na sio CLI based ungeshauri aanze na Lugha gani lengo likiwa kwenye ktengeneza desktop applications maana Pascal mshai Dis sio strong

Kabla ya kuanza kufikiria GUI ni vizuri kwanza kufikiria program unayotaka kutengeneza unataka ifanye nini?
Ukishachangua suitable language kwa software unayotaka kutengeneza, u can use that language kuhandle everything, Command Line interface huwezi kuikimbia ukiwa unatengeneza software yoyote ile coz ukiwa unacode lazima utakua unafanya debugging kuhakikisha kama functions zako zinarun correctly kama unavohitaji, in very few cases ndo utatengeneza GUI moja kwa moja na kukagua output yako kwenye interface moja kwa moja mfano ukiwa unadevelop mobile apps.

Kama ni very simple applications ambazo huitaji heavy calculations unaweza enda hata na JavaScript, Node.js inarun kwenye machine vizuri tu, kuna modules kibao za kuaccess file system kama utahitaji, na kutengeneza GUI yake unatumia HTML/CSS kitu ambacho watu wengi wanajua ni rahisi kabisa. Node.JS ukitumia module inaitwa "node-webkit" inakuwezesha kutengeneza a full desktop app, hiyo inarun independently kwenye computer na sio kwenye browser.

Kama ni a lot of calculations basi u can go with Java, Python au hata C++, you can't go wrong with any of these languages, ila kama ni ku-deal na Strings nyingi nashauri uende na Java, working with strings kwenye language kama C++ ni maumivu, utafanya manually vitu vingi sana. Java ina built in tools kibao kuhandle Strings automatically.
 
Let me declare my interest in Pascal. Mim ni mwalim, nimekuwa nikiwafundsha wanafunz Pascal Language kwa miaka 3 sasa.

Why Pascal?
1. Pascal ndo language pekee iliyobuniwa kwa ajili ya KUFUNDISHIA.
2. Pascal is easy to learn. Sababu kubwa ni kwamba inatumia maneno ya kawaida ya kiingereza, mfano BEGIN, END , badala ya {,}. C, C+, C++, Java and the like are too symbolic to be understood by novices. Mfano, ipi rahic kueleweka kat ya BEGIN na { ?

3. Pascal is case-insensitive. Ni ngumu sana kumwelewesha novice kwamba variable "number" na "Number" na "NAMBA" zinarefer value tofauti kama ilivyo ktk C, Java na language nying.
4. Originally Pascal was structured(now there is object pascal). Structured programming ni rahic kujifunza kuliko object-oriented. I can bet 90% ya successful programmers wetu bongo wanafanya structured prog kwa kutumia OO prog language kama Java. This defeats the purpose of OO languages.

5. If u can program in Pascal then u can program in ANY LANGUAGE.
 
Hili ni tatizo namba mbili. Tatizo la kwanza ni Wanafunzi wenyewe!
Wanafunzi wa chuo Tanzania asilimia kubwa kubwa ni matatizo!
 
Matatizo ya kutumia Pascal kufundishia.

1. Kupata support ni ngumu. Mfano, ni vigumu kupata compiler kulingana na vigezo kama usability(CLI vs GUI), aina ya PC(32 vs 64 bit), feature(single user vs multiple user licence). Pia hakuna vibrant community of users online.
2. Rarely used for commercial purposes.
3...
 
Why Pascal?
1. Pascal ndo language pekee iliyobuniwa kwa ajili ya KUFUNDISHIA.
Ilikuwa lini hiyo?
Pascal imeshakufa. Ukiacha Delphi, sioni manufaa ya kumfundisha mwanafunzi Pascal.

Nakushauri wafundishe Python.

2. Pascal is easy to learn. Sababu kubwa ni kwamba inatumia maneno ya kawaida ya kiingereza, mfano BEGIN, END , badala ya {,}. C, C+, C++, Java and the like are too symbolic to be understood by novices. Mfano, ipi rahic kueleweka kat ya BEGIN na { ?
Mwanafunzi anayejua ku-solve swali kwa dy/dx unamtafutia language useless kwa kigezo cha urahisi? By the way Python is far easier than old Pascal!

Mfundishe kitu kitakachomsaidia na sio rahisi. Kwa logic hiyo tuondoe Fourier series and the like tuwe simultaneous equation kwa kuwa ni rahisi you know 🙂

Nakushauri uwafundishe wanafunzi wako kitu useful na sio simple. Watakushukuru kwa hilo!

3. Pascal is case-insensitive. Ni ngumu sana kumwelewesha novice kwamba variable "number" na "Number" na "NAMBA" zinarefer value tofauti kama ilivyo ktk C, Java na language nying.
Mwalimu, is this really a sound reason? Mwanafunzi ambaye hawezi hili, bora afanye kozi nyingine. Sayansi hataiweza kabisa. Labda akafanye Sayansikimu tu!

4. Originally Pascal was structured(now there is object pascal). Structured programming ni rahic kujifunza kuliko object-oriented. I can bet 90% ya successful programmers wetu bongo wanafanya structured prog kwa kutumia OO prog language kama Java. This defeats the purpose of OO languages.
5. If u can program in Pascal then u can program in ANY LANGUAGE.

Kama ni hivyo si ungefundisha PHP basi? au hata C?

All in all, unaonekana kuwa outdated sana na hivyo kuzalisha Vijana wenye "kutu". Nakushauri ujitahidi ku update ufahamu wako. Nakushauri uwafundishe wanafunzi wako Python kwa kuanzia then kati ya C++, Java, C# au zingine kama hizo!
 
Mkuu twende mbele turudi nyuma, Pascal is a dead language..

Huo mfano wa app moja iliyoandikwa kwa Pascal doesn't make any difference, Ingeweza kuandikwa vizuri zaidi kwenye language kama C++. Wanaona uvivu kuiamisha tu sababu unaweza kuta codebase ishakua kubwa.

Pascal ilitumika miaka hiyo ya nyuma sana, siku hizi ukikuta industry inatafuta Pascal jua labda wana software ya zamani sana ambazo wanaona zitawacost sana kuziandika upya. Nenda google tafuta jobs uone kama utaona kampuni yoyote ya maana inatafuta mtu anayeandika Pascal. Hakuna hata moja..

UDSM hiyo choice ya language wamekosea, pitia vyuo vyote vikubwa duniani kama utaona kuna hata kimoja wanafundisha Pascal, kuanzia MIT, Harvard, Princeton, Caltech, wote utakuta ni Python au C. Wengine wanagusa Java, no one teaches Pascal nowadays. Hata internet kila kona wanasema its a dead language.

Maybe you should learn more programming iko wapi na inaelekea wapi, new features ni zipi na watu wanafanya nini before commenting. Ya nini kustick na language ambayo in the end you won't do anything significant with it, coz eventually utaiacha tu, kwanza haina support kwa hiyo ukiwa na tatizo utatafuta sana online kupata mtu ambaye angalau anaweza akajibu, pili utataka kuimplement a certain feature itabidi uandike from scratch from zero sababu hutopata library online ya kukufanyia wewe hiyo kazi. In the end hakuna kitu productive mtu anaweza fanya kwenye Pascal. Studying a language is more than just being able to code anything with it, its also about support utakayopata, kama utafanikiwa kutengeneza kitu cha maana, je utapata watu kirahisi kukusaidia kukuza codebase?

Facebook walijaribu kutengeneza Messenger service yao kwa language inaitwa "Erlang" ni very powerful language, hata Whatsapp ndo wanatumia, ila walikosa experts, wakahama language, wakatumia language iliyo na support kubwa. Sasa mtanzania ndo kwanza hata industry yetu iko very low, tuongeze shida tena kutumia languages zisizo na support, mwisho wa siku hakuna kitu tutaproduce

I wish I could explain this good. Huwa naishia kunong'ona kimoyomoyo tu. Tatizo watu wanafanya vitu kwa mazoea.
 
Mim kama alumni wa UDSM nitajibu baadhi ya hoja. Mengine watayajibu wahusika.

1. UDSM hawafundishwi Pascal peke yake. Nilipokuwa pale nilifundishwa C, C+, Java na PhP baada ya kufundishwa course 2 za Pascal.

2. Kiujumla, language zote zinafanana. Kuna languge haina loops? Branching? So knowing a specific language is not a big deal. What matters is how you can learn new languages based on already known programming skills. Kuna kipind FORTRAN ilikuwa big deal, wa sasa ipo kwenye shelf.

3. It is illogical to question Pascal's application commercially because it was not meant to be used for production purposes.

4. You don't change syllabuses whenever it itches you. It is done periodically-every 3years. And when that time comes, you don't fix what is not broken.

5. Matatizo ya programming katik nchi kama zetu hayaishii ktk lugha unayojifunzia tu, ni makubwa zaidi. Programming ni hesabu. Actually kuna correlation kati ya marks za course za hesabu na course za programming. Kama hauna msingi mzuri wa hesabu hutaifurahia wala kuelewa kwa ufasaha. Tanzania tuna kariri hesabu-hatujifunzi kwa ufasaha application ya hesabu. Tupo vizuri kwenye thoery za hesabu, lakini sio application yake. Hapa ndipo nchi zilizoendelea zinapotuzidi. Namkumbuka mwalimu wangu Prof. Tod Amon (from USA)-a Java Programmer and UDSM's principal programmer in UDSM's smartcard project aliyewahi kuniambiwa kuwa watanzania hatuwezi programming. Kwa hiyo, kama umesoma form 1-6 Tanzania (hata Africa-except SA), wewe jua kiwango chako cha programming ni kidogo sana, no matter how successful you are in you place of work, ukilinganisha na watu wengine duniani.

6. Lugha gani itumike kufundishia novices ni suala la mjadala vyuoni na duniani kote.

7. Kuwa programmer mzuri haimaanishi unaweza kuwa mwalimu mzuri wa programming, japo kuwa na vyote viwili ni faida.
 
Python, PhP, ASP ni Scripting Languages. You might as well suggest we teach them using HTML!
 
Ilikuwa lini hiyo?




Kama ni hivyo si ungefundisha PHP basi? au hata C?

All in all, unaonekana kuwa outdated sana na hivyo kuzalisha Vijana wenye "kutu". Nakushauri ujitahidi ku update ufahamu wako. Nakushauri uwafundishe wanafunzi wako Python kwa kuanzia then kati ya C++, Java, C# au zingine kama hizo!

Wanafunzi walewale wanaosoma Pascal mwaka wa kwanza, mwaka wa pili wanafundishwa OO Java. Hakuna sababu ya msingi ya kumfundisha lugha tofauti na Pascal kama hataelewa. Pia mim kama mwalim, sina mamlaka ya kuwabadilishia programming language, wala hakuna mwenye mamlaka mpaka pale syllabus inapobadilisha.

Pia, hakuna ushahidi kuwa ukiwafundisha wanafunzi programming kwa kutumia lugha tofauti na Pascal, basi watakuwa programmer wazuri zaidi.

Mwisho, naona wewe umesoma nje ya nchi. Kwahiyo, kama kawaida ya binadamu, unataka kuleta ligi za vyuo. Changu bora, chako kibovu. Mimi sina time na Ligi. Nimefundisha vyuo vikuu 4 tofauti, so naweza kusema am impartial-unlike you. Tambua kwamba vyuo vinaendana na mahitaji ya soko. Kama soko la Tanzania halihitaji Data mining tools hutaziona kwenye syllabus, same applies to machine learning etc.
 
Ushauri:
Wanafunzi na alumni acheni kubezana na kutaka kushindana, tafuteni fursa za kushirikiana maana kila chuo kina mema yake na mabaya yake. Kama JK alivyopata kusema wakati akiwaaga waKenya:'Kenya is not our competitor, she is our strategic partner'
 
Wanafunzi walewale wanaosoma Pascal mwaka wa kwanza, mwaka wa pili wanafundishwa OO Java. Hakuna sababu ya msingi ya kumfundisha lugha tofauti na Pascal kama hataelewa. Pia mim kama mwalim, sina mamlaka ya kuwabadilishia programming language, wala hakuna mwenye mamlaka mpaka pale syllabus inapobadilisha.

Pia, hakuna ushahidi kuwa ukiwafundisha wanafunzi programming kwa kutumia lugha tofauti na Pascal, basi watakuwa programmer wazuri zaidi.

Mwisho, naona wewe umesoma nje ya nchi. Kwahiyo, kama kawaida ya binadamu, unataka kuleta ligi za vyuo. Changu bora, chako kibovu. Mimi sina time na Ligi. Nimefundisha vyuo vikuu 4 tofauti, so naweza kusema am impartial-unlike you. Tambua kwamba vyuo vinaendana na mahitaji ya soko. Kama soko la Tanzania halihitaji Data mining tools hutaziona kwenye syllabus, same applies to machine learning etc.

Wewe ni mwalimu wa chuo. But are you an active software developer? Are you teaching a trade you don't practice yourself? You don't carry with you the programmer spirit.

By the way, good programmers are self taught. I started creating computer programs in A level. Waalimu wa chuo mimi nilikuwa nawasahihisha makosa ubaoni. Hawanitishi kitu.
 
Mkuu sisemi I am better than UDSM, ila still nimesoma chuo ambacho wamejipanga vizuri kuliko UDSM, I am simply sharing my experience ili wabadilike tusonge mbele, swala sio kufata mkumbo, kuna vitu UDSM wanapatia ila hili wanakosea. Nimesoma Computer Science & Engineering kwa hiyo najua vizuri courses zote zinahusiana na nini, na kuna very important courses ambazo UDSM ni cheche, tukiacha hilo swala la Pascal kwamba wako nyuma, turudi kwenye vitu kama Artificial intelligence, hakuna machine learning UDSM wakati dunia nzima iko huko sa hivi, any big tech company siku hizi wana machine learning algorithms kwenye backend zinahandle data, sio google, sio facebook sio quora, stackoverlow, apple etc, that way jamaa wanazidi kua on top of their competitors siku zote. Machine learning inafundishwa vyuo vingi tu duniani, tusiongelee sana marekani ila hata Asia vilevile. Hatuwezi kukaa tunabaki nyuma tunang'ang'ania mambo ya zamani na kusifia ati kisa jina UDSM, lile ni jina tu wanaweza kua top bongo ila tukija kwenye swala la world market kwenye technology hakuna wanachofanya. Course nyingine kama Computer architecture,kujua assembly code na deep down machine imetengenezwa vipi ni very important, sio tu kwa performance ila hata security, na bado ukitaka kuunda a fully programmable machine kama hujui low level kuna nini hutoweza.. We huoni bongo tunatengeneza vitu kwa kuunga parts tu, kusema tuweke our own programmable logic ni mziki, wachache sana wanaweza.

Hakuna kitu kama kila mtu kua mtaalamu wa part yake, sasa ya nini kua mtaalamu wa kitu ambacho hakina faida? Tunasoma ili iweje sasa? Ulimwengu wa software hauko hivo, ndio maana kuna kitu kinaitwa Open source, software siku zote lazima kue na ushirikiano, huwezi kaa mtu moja ukatengeneza microsoft word, its impossible. Sasa kama language unaijua mwenyewe utatengeneza nini cha maana. Mkuu em jaribu kujifunza programming kidogo ufike level ya kutrngeneza a very simple application alafu urudi utuambie kama hujabadilisha mawazo

Natafuta button ya kukupa like ww jamaa siioni sijatoa like nna mwaka wa 3 sasa ww unastahili aisee.. Intelligent human na ukija kuoa kwetu hakuna kulipa mahari kichwa ako mahari tosha.
 
Back
Top Bottom