UDSM Programming - Hawajui kwenda na wakati

UDSM Programming - Hawajui kwenda na wakati

Nadhani unamanisha data abstraction, a programmer can use an object without knowing the internal details ie only needs to know what an object is and what it does. How object does a particular task is hidden from the programmer.

simplemind I beg to differ, a programmer should be all knowing, abstraction doesn't mean hiding internal working of an object to the programmer but to the deriving client/object. It's your work as a programmer to develop those relationships between objects and enforce decoupling at the same time. I come across so many junior programmers who are way too used to configuring simple frameworks available in the markets and they wouldn't spend a minute trying to figure out the inner working or how things fit together. But wait until they come across a client/customer who requests for some features not covered by those frameworks inherently. Where they are required to build either plugins or interact with the API and they suddenly go green.

As a developer, you should take your time to learn the concepts right from scratch, if possible build your own framework from scratch for the purpose of learning. Take about an hour a day researching and updating yourself.

Back to the topic at hand, Pascal is a very good language for using to train basic programming concepts to beginners. It's easy and not fuzzy, they can later upgrade to other "modern day languages" at will. I am one of those people who were so unlucky to be introduced into programming using C/C++. I wouldn't wish the same to anyone else, was crazy, just that I was passionate about learning programming which saw me enduring to the end.
 
Ni kweli Pascal sio language ya kutumia katika karne hii lakini ninachokijua ni kwamba pale udsm hawaifundishi kwaajili ya wewe kwenda kuituma bali wanakupa general understanding of code evolutions.
 

Attachments

  • 1448356896455.jpg
    1448356896455.jpg
    24.6 KB · Views: 171
Pascal is a very good language for using to train basic programming concepts to beginners. It's easy and not fuzzy, they can later upgrade to other "modern day languages" at will.
I see many people repeating this mantra with no evidence. Its not true.
Here is comparison of Pascal and Python. Judge yourself if pascal is simple

1. Hello World
Pascal
Code:
program HelloWorld;

begin
  writeln('Hello World');
end.

Python
Code:
print("Hello World")

Draw rectangle
Pascal
Code:
{$mode objfpc} // directive to be used for defining classes
{$m+}           // directive to be used for using constructor

program exClass;
type
   Rectangle = class
   private
      length, width: integer;
   
   public
      constructor create(l, w: integer);
      procedure setlength(l: integer);
      
      function getlength(): integer;
      procedure setwidth(w: integer);
      
      function getwidth(): integer;
      procedure draw;
end;
var
   r1: Rectangle;

constructor Rectangle.create(l, w: integer);
begin
   length := l;
   width := w;
end;

procedure Rectangle.setlength(l: integer);
begin
   length := l;
end;

procedure Rectangle.setwidth(w: integer);
begin
   width :=w;
end;

function Rectangle.getlength(): integer;
begin
   getlength := length;
end;

function Rectangle.getwidth(): integer;
begin
   getwidth := width;
end;

procedure Rectangle.draw;
var
   i, j: integer;
begin
   for i:= 1 to length do
   begin
      for j:= 1 to width do
         write(' * ');
      writeln;
   end;
end;

begin
   r1:= Rectangle.create(3, 7);
   
   writeln(' Draw Rectangle: ', r1.getlength(), ' by ' , r1.getwidth());
   r1.draw;
   r1.setlength(4);
   r1.setwidth(6);
   
   writeln(' Draw Rectangle: ', r1.getlength(), ' by ' , r1.getwidth());
   r1.draw;
end.

Python

Code:
class Rectangle:
    def __init__(self, l, w):
        self.l = l
        self.w = w
        
    def set_len(self, l):
        self.l = l
    
    def set_width(self, w):
        self.w = w
        
    def draw(self):
        print("Draw rectangle ", self.l, " by ", self.w)
        for d in range(0, self.w):  
            print("*", end="")
            for e in range(0, self.l):
                print("--", end="")
            print("") 
    
rect = Rectangle(20, 10)
rect.draw()

Kwa comparison hii, naomba kujua urahisi wa Pascal maana nadhani wengine wana comment kwa kutokujua.
Pascal sio rahisi hata kidogo. Concept mnazosema zinamsaidia baadae kujifunza lugha nyingine ni zipi?
Mtu aliyesoma Pascal ni ngumu sana kwakwe ku adopt lugha nyingine.

Anayekataa naomba aje na ushahidi thabiti kama nilivyofanya!


I am one of those people who were so unlucky to be introduced into programming using C/C++. I wouldn't wish the same to anyone else, was crazy, just that I was passionate about learning programming which saw me enduring to the end.

Tatizo sio C++. Tatizo watu wengi wanaofundisha C++ hawaijui. C++ haifundishwi kwa kusoma kitabuni. Nimefundisha wanafunzi kadhaa C++ na hakuna hata mmoja aliyedhani ilikuwa ni mbaya waalimu karibu wote wanaofundisha C++ hawajawahi kuifanyia kazi.

Jeff Way aliwahi kusema "Learning should be easy. If it's not, then you have the wrong teacher". Hicho ndicho kilichokukumba.

So far my argument stands: Pascal is dead and teaching it is waste of Time and brain


Ukiangalia mwanafunzi mwaka wa (1) anaandika Hello World in Pascal (2) Hello World in C (3) Hello World in Java halafu unatarajia mwanafunzi huyu huyu aje na uvumbuzi. This is a JOKE!
 
Ni kweli Pascal sio language ya kutumia katika karne hii lakini ninachokijua ni kwamba pale udsm hawaifundishi kwaajili ya wewe kwenda kuituma bali wanakupa general understanding of code evolutions.
I hope wanafunzi wa Chemical engineerig hawafundishwi alchemist

Unamfundishaje mwanafunzi kitu ambacho hakimsaidii?
 
Programming hakuna source nzuri zaidi ya internet. Kuna kila kitu unachotaka kujua kwenye internet.
Kama ndio unaanza kabisa from scratch ni vizuri kuanza na video tutorials ili uweze kuona na kumsikia mtu anaelekeza cha kufanya la si hivyo mwanzo unaweza kuuona mgumu sana kama utaanzia kwenye kusoma maandishi.

Kuna videos nyingi sana za programming Youtube, unachagua language unayotaka kuanza nayo, ntakushauri uchague kati ya Python au C, Python ni nyepesi iko juu juu, C ni challenging kidogo kuliko Python japo inakufundisha mambo mengi zaidi kwa sababu ina features nyingi ambazo zinakuruhusu kuaccess mambo ya chini kabisa kwenye computer ambayo Python imejaribu kuyaficha usiguse.

Kama utachagua Python unaweza anza na hizi videos hapa
https://www.youtube.com/watch?v=HBxCHonP6Ro&list=PL6gx4Cwl9DGAcbMi1sH6oAMk4JHw91mC_

Kama utapenda kuanza na C pia videos hizi hapa
https://www.youtube.com/watch?v=2NWeucMKrLI&list=PL6gx4Cwl9DGAKIXv8Yr6nhGJ9Vlcjyymq

Hiyo ni playlist, unaangalia video moja hadi nyingine.
Huyo jamaa anafundisha kuanzia basics kabisa ana-assume huna experience yoyote na programming. Ukimaliza playlist hiyo sasa kama hujui uende direction ipi unaweza rudi kuuliza, kuna sehemu nyingi tu za kwenda. At first inaweza ikawa boring ila itafika muda utaona utamu wake,unaweza ukaona tatizo lolote lile duniani linaweza likawa solved kwa programming.
i still keep reading ur signature
 
I see many people repeating this mantra with no evidence. Its not true.
Here is comparison of Pascal and Python. Judge yourself if pascal is simple

1. Hello World
Pascal
Code:
program HelloWorld;

begin
  writeln('Hello World');
end.

Python
Code:
print("Hello World")

Draw rectangle
Pascal
Code:
{$mode objfpc} // directive to be used for defining classes
{$m+}           // directive to be used for using constructor

program exClass;
type
   Rectangle = class
   private
      length, width: integer;
   
   public
      constructor create(l, w: integer);
      procedure setlength(l: integer);
      
      function getlength(): integer;
      procedure setwidth(w: integer);
      
      function getwidth(): integer;
      procedure draw;
end;
var
   r1: Rectangle;

constructor Rectangle.create(l, w: integer);
begin
   length := l;
   width := w;
end;

procedure Rectangle.setlength(l: integer);
begin
   length := l;
end;

procedure Rectangle.setwidth(w: integer);
begin
   width :=w;
end;

function Rectangle.getlength(): integer;
begin
   getlength := length;
end;

function Rectangle.getwidth(): integer;
begin
   getwidth := width;
end;

procedure Rectangle.draw;
var
   i, j: integer;
begin
   for i:= 1 to length do
   begin
      for j:= 1 to width do
         write(' * ');
      writeln;
   end;
end;

begin
   r1:= Rectangle.create(3, 7);
   
   writeln(' Draw Rectangle: ', r1.getlength(), ' by ' , r1.getwidth());
   r1.draw;
   r1.setlength(4);
   r1.setwidth(6);
   
   writeln(' Draw Rectangle: ', r1.getlength(), ' by ' , r1.getwidth());
   r1.draw;
end.

Python

Code:
class Rectangle:
    def __init__(self, l, w):
        self.l = l
        self.w = w
        
    def set_len(self, l):
        self.l = l
    
    def set_width(self, w):
        self.w = w
        
    def draw(self):
        print("Draw rectangle ", self.l, " by ", self.w)
        for d in range(0, self.w):  
            print("*", end="")
            for e in range(0, self.l):
                print("--", end="")
            print("") 
    
rect = Rectangle(20, 10)
rect.draw()

Kwa comparison hii, naomba kujua urahisi wa Pascal maana nadhani wengine wana comment kwa kutokujua.
Pascal sio rahisi hata kidogo. Concept mnazosema zinamsaidia baadae kujifunza lugha nyingine ni zipi?
Mtu aliyesoma Pascal ni ngumu sana kwakwe ku adopt lugha nyingine.

Anayekataa naomba aje na ushahidi thabiti kama nilivyofanya!




Tatizo sio C++. Tatizo watu wengi wanaofundisha C++ hawaijui. C++ haifundishwi kwa kusoma kitabuni. Nimefundisha wanafunzi kadhaa C++ na hakuna hata mmoja aliyedhani ilikuwa ni mbaya waalimu karibu wote wanaofundisha C++ hawajawahi kuifanyia kazi.

Jeff Way aliwahi kusema "Learning should be easy. If it's not, then you have the wrong teacher". Hicho ndicho kilichokukumba.

So far my argument stands: Pascal is dead and teaching it is waste of Time and brain


Ukiangalia mwanafunzi mwaka wa (1) anaandika Hello World in Pascal (2) Hello World in C (3) Hello World in Java halafu unatarajia mwanafunzi huyu huyu aje na uvumbuzi. This is a JOKE!

Ulichokifanya hapa nikuonyesha tofauti ya syntax, ambapo hiyo ya Python ni fupi, concise and straight into getting a job done fast. Lakini ile ya Pascal, is longer, verbose, deeper and good for a candidate learning with lots of curiosity. Cha msingi ninachojaribu kueleza, kwa mwanafunzi kwenye huu ulimwengu wa programming, usimuanzishe na vitu vinavyofanya kazi "miraculously", bora aone hatua baada ya hatua jinsi kila kitu kinavyojipanga hadi hatima yake.

Baada ya hapo anaweza kuelekea kwenye hizo lugha zinazofupisha kazi, haswa Python. Anyway sitabisha zaidi maana binafsi sina uzoefu wa kufunza wanafunzi wanao anza programming. Hivyo, Psyochologically sina uhakika jinsi ya kuicheza. Nimezoea kuwa-coach jamaa ambao tayari wameshaanza kuandika software, hivyo tayari huwa wameshapitia hizo basics.

Ninachojaribu kusisitiza na naomba nieleweke, ni bora sana kumuanzishia mwanafunzi kwenye basics kabisa na kuhakikisha amekuelewa, halafu baadaye umpe darasa ya hizo lugha zinazofupisha kazi. Juzi nimekua na mradi fulani hapo kwenu Tanzania, mradi uliohusu kuandika application fulani ya kufanya kazi na tracking devices hardware protocol ambapo data zinakuja kwenye mfumo wa hexadecimal bytes halafu inakua jukumu la kuzidadavua na kufanya hesabu za checksum. Ni jambo ambalo huwa nafanya kwenye miradi kadhaa, lakini sasa nilitaka dogo ambaye naweza kumfunza ili abaki akifanya maintenance, aisei ilikua shughuli.
 
nafikiri chuo cha st joseph eng college kiko vizuri zaidi ktk mambo ya comptr science/eng...these guys are the best
 
Natamani sana kujifunza IT hasa programming ingawa sina basic yoyote. Wapi naweza kupata hyo elimu kwa muda nje ya muda wa kazi??

Do your own studies online utapata elimu but hautakuwa na cheti mi nimejifunza graphics mwenyewe na web development and a graphic designer at star TV and I do web dev at my own time
 
Unataka kusema Mwaka mzima wanasoma Pascal tu bila kusomaLanguage nyingine?

Si mtaalamu wa Programming ila Usidharau kitu chochote I have plenty of Good softwares written in Pascal usije hapa kuwaaminisha watu ati Pascal haina maana ulimwengu wa leo.

And Mind You Chuo kama UDSM sidhani kama wao ni ndezi kiasi hicho nachojua Vyuo vya Tanzania wanafundisha Wataalamu wa Kimataifa

Nimesoma Chuo ila kuna vitu tumejjifunza sio Common nchini kwetu ila nchi za jirani vipo,siwezi kusimama kasema chuo changu wali Bugi kunifundisha kitu ambacho hakipo kwetu.

who knows my future? si ajabu kaenda kufundisha au kufanya kazi ambako hicho kitu ambacho nakidharau kipo au kinatumika

Example of app written in Pascal

cLvXar.png


kwa walotumia hizi apps watakwambia mambo yake na nawashauri wanafunzi wote wa UDSM wa hiyo course mtakaosoma thread hii hapa msipuuze mnachofundishwa na Walimu wenu au ma prof wenu kwa kusikiliza eti who Learns Pascal this world,so long as in Programming language jifunzeni tu mnafundishwa muwe watalaamu wa Ulimwengu mzima na hauwezi kuwa mtalaam kwa ku Ignore vitu ambavyo haujui labda ungekua wewe ndo expert kuzidi vile mleta mada anavyotaka walimu wenu wawafundishe
Mkuu kama ulivo sema "Si mtaalamu wa Programming",ndio maana unatetea ujinga wa UDSM,katika lugha ishirini zinazotumika sana sasa,Pascal haipo!kamwe huwazi kupata kazi popote 'ata hapa Tz' kama una Pascal tu kichwani,OP(Delphi) ndo ambaye anamuweka alive pascal,wale wazee zee wazamani ndo wanatumia kudevelop windows applications,hakuna kampuni kubwa yoyote so far inayotumia pascal kwenye development zake.UDSM kufundisha pascal,nikurudisha wanafunzi miaka ya 80 huko!
 
Natamani wale wanafunzi wanaojiandaa kusoma CS, IT, SE, CE wapitie huu uzi!!!
 
OMG!!!! UDSM still learn Pascal programming language!!!!
This is bull sheet n none sense..I thought university kubwa km UDSM wanasoma JAVA,C++,Python, Ruby,ASP.NET...
Aisee technology is rapidly changing, wanatakiwa kubadili mutaala wao maana wako nyuma na ulimwengu wa Programmers.
Wahenga ile ndoto ya kuifanya TZ kuwa km Silicon Valley sijui km itatimia!!!!

Post sent using JamiiForums mobile app

 
Natamani sana kujifunza IT hasa programming ingawa sina basic yoyote. Wapi naweza kupata hyo elimu kwa muda nje ya muda wa kazi??
Anzia pale UCC (University of Dar es Salaam Computing) Center

Post sent using JamiiForums mobile app
 
OMG!!!! UDSM still learn Pascal programming language!!!!
This is bull sheet n none sense..I thought university kubwa km UDSM wanasoma JAVA,C++,Python, Ruby,ASP.NET...
Aisee technology is rapidly changing, wanatakiwa kubadili mutaala wao maana wako nyuma na ulimwengu wa Programmers.
Wahenga ile ndoto ya kuifanya TZ kuwa km Silicon Valley sijui km itatimia!!!!

Post sent using JamiiForums mobile app

Prof kajifunza programming mwaka 1970 unatarajia kibongo bongo atajihangaisha na hiyo ruby??

Wengi badala ya kuwaza kujiendeleza wanakomaa na siasa!! Nenda pale tafuta prof aliyetengeneza ka software kamoja kama vlc uone kama utapata!!
 
Prof kajifunza programming mwaka 1970 unatarajia kibongo bongo atajihangaisha na hiyo ruby??

Wengi badala ya kuwaza kujiendeleza wanakomaa na siasa!! Nenda pale tafuta prof aliyetengeneza ka software kamoja kama vlc uone kama utapata!!
 
Ilikuwa lini hiyo?
Pascal imeshakufa. Ukiacha Delphi, sioni manufaa ya kumfundisha mwanafunzi Pascal.

Nakushauri wafundishe Python.


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!


Mwalimu, is this really a sound reason? Mwanafunzi ambaye hawezi hili, bora afanye kozi nyingine. Sayansi hataiweza kabisa. Labda akafanye Sayansikimu tu!



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!
He should do whats right, not whats easy!
 
Back
Top Bottom