Programming huwa inaishia kwenye if-else pamoja na data types.

Programming huwa inaishia kwenye if-else pamoja na data types.

Thecoder

JF-Expert Member
Joined
Aug 10, 2015
Posts
1,590
Reaction score
4,244
Habari zenu wakuu…

Naomba Leo tuongee kuhusu mambo haya ya programming, kwa maana watu wengi huwa wanahisi programming ni ngumu na hii yote ni kutokana na kutokujua msingi na dhima ya programming ni ipi.

Na ndio maana nimeandika hili bandiko ili kutoa degree ya kompyuta sayansi ya miaka mitatu ndani ya bandiko lenye maneno chini ya 2000 😅😅😅 (msinune wanangu wa kompyuta sayansi ni utani tu, ila soma hadi mwisho maybe utapata kitu)

Bila kupoteza muda, wacha tuanzie hapa…

Programming kimsingi inahusu namna ya kupanga, kuhifadhi, na kuchakata data ili kutatua matatizo au kutekeleza kazi fulani. Njia hizi zinategemea sana na aina ya data unayoshughulikia pamoja na matatizo unayotaka kuyatatua.

Kwa mfano…

Kuhifadhi data, hii ni pale unapojifunza kuhusu data structures, unajifunza namna tofauti za kupanga data mfano arrays, lists, stacks, queues, trees, graphs, ili kuifanya iwe rahisi kwenye kuhifadhiwa na kuitumia.

Kutatua Matatizo au changamoto mbalimbali, hii ni pale unapojifunza algorithms, kwani hapa unajifunza hatua tofauti za kutatua changamoto kwamfano (sorting, searching, pathfinding) kwa kutumia data hizo ambazo zimehifadhiwa.

Kupangilia njia za usindikaji, na hapa utakutana na njia kama Object-Oriented Programming (OOP), Functional Programming, au Procedural Programming, hizi zote zinaelezea mbinu tofauti za kupanga na kudhibiti jinsi data inavyoshughulikiwa kwenye programu yako.

Kwa hiyo, kiujumla kabisa ni kwamba programming ni mchanganyiko wa mambo matatu ya msingi, ambayo ni:.

Kupanga data vizuri kwa maana ya data structure.
Kuamua njia bora ya kuitumia data hiyo kwa kutatua changamoto kwa maana ya algorithm.
Pamoja na kutekeleza suluhisho kwa njia inayokuwa rahisi, haraka, na yenye ufanisi na hapa ndipo pale ambapo tunaunganisha data structure na algorithm kwa pamoja kwa kutumia classes, functions, methods na kadhalika.

Na ili hapa uweze kunielewa vizuri wacha nikurudishe nyuma kidogo pale ambapo unajifunza programming language fulani, huwa hatua ya kwanza kabisa utaona unajifunza data types ikifuatiwa na control flow pamoja na loops.

Sasa kimsingi unaposoma data types (kama int, float, char, boolean, string, nk.), unajifunza misingi ya awali ya jinsi data inavyohifadhiwa na inavyotumika. Na hizi zote kwa ujumla wake hujenga msingi wa data structures kubwa zaidi, kwa sababu…

Primitive data types (mfano int au float) ndio vituo vya ujenzi vya data structures kubwa kama arrays, linked lists, trees, na graphs.

Complex data types (mfano arrays au objects) tayari zinahusisha elements za data structure.

Kwa hiyo, unapojifunza data types, unaanza kuelewa jinsi ya kuwakilisha data na hatua za msingi za kuihifadhi data hizo.

Na kwenye loops pamoja na control flow, hizi huwa kama hatua za awali za algorithms…

Kwasababu loops (for, while, do-while) pamoja na control flow (if, switch, break, etc.) ni zana za awali za kuandika algorithms.

Look, kila algorithm ni mfululizo wa maelekezo ambayo mara nyingi yanahusisha kuchakata data kwa kutumia loops na control flow (hii ni siri mimekuibia kwa maana najua ulikua haujui ila hauwezi kusema 😂😂).

Sasa skia hata kama hautaki kukubali kwamba hii ni siri ambayo nimekupa Leo ila Mimi nataka niifanye hii siri niliyokupa ikae vizuri kichwani mwako kwa kukupa na huu mfano…

Tuchukulie algorithm ya kutafuta namba kubwa zaidi kwenye listi fulani.

Ambapo data structure yake itakua ni Listi ya namba (nadhani hapa unaelewa, si ndio)

Kwahiyo sasa kwenye algorithm yake, yaani ili tuweze kufikia lengo letu la kupata namba kubwa zaidi kwenye listi basi tutatumia loop kuchunguza kila namba moja baada ya nyingine, huku tukilinganisha na namba kubwa iliyotangulia na hatimae hiyo namba inayotafutwa inapatikana (hii ni if-else statements ya kawaida)

Na kutokea kwenye mfano huo hapo juu inathibitisha kwamba…

Data types ni sawa na hatua za awali kuelewa kwenye namna ya kuunda na kuhifadhi data.

Wakati huo huo loops + control flow ni hatua za awali kuelewa jinsi ya kuchakata na kufanyia kazi data hizo zilizo hifadhiwa.

Sasa changamoto kubwa inayowakumba programmer wengi huwa haipo kwenye data structures, kwa maana mara nyingi data structures huwa ni rahisi kueleweka kwa sababu…

Ni vitu vya kawaida ambavyo mara nyingi tunaviona au kuvihusisha kwenye maisha ya kila siku.

Kwa mfano, Array ni kama rafu yenye nafasi za kuhifadhi vitu moja kwa moja, Stack ni kama sahani zilizopangwa kwa kwenda juu, na Queue ni kama foleni ya watu au magari.

Na mara nyingi kwenye data structure, unachojifunza ni jinsi ya kuzitumia au kuzihifadhi data hizo kulingana na namna unavyotaka zikae lakini tayari zipo zinajulikana.

Lakini sasa kwenye algorithms ndiko kuliko na shida, kwa maana ndio kipengele ambacho kinawasumbua programmer wengi sana duniani, na sababu ya kuwasumbua huwa ni kutokana na…

Kuhusisha fikra nyingi zaidi, kwa maana ya kwamba algorithms huwa haziji na suluhisho moja kwa moja ila inahitaji programmer aweze kufikiria hatua kwa hatua, kutatua matatizo, na pia kufikiria mbinu za kuboresha ufanisi wake kwa maana ya efficiency (hii inamaanisha kwamba, kunaweza kuwa na algorithm nyingi za kutatua tatizo moja ila katika hizo nyingi kuna moja ambayo ni bora kuliko nyingine na ndio maana unaweza kukuta programu ya aina moja ambayo imetemgemezwa na engineers tofauti tofauti kwa kutumia algorithm tofauti na zikawa na ufanisi tofauti, kwa mfano kama ni app ya kutuma picha utakuta hii ikoslow kuliko nyingine au utakuta kuna moja inafanya kazi kwa ufanisi na haraka sana kuliko zingine).

Zinahitaji ubunifu, kwa maana wakati mwingine unaweza kuona data structure iko tayari kwa maana yani tayari uko nayo au unaijua, lakini algorithm ya kuitumia inahitaji kufikiria sana kwa sababu njia tofauti za kutatua tatizo au changamoto hiyo ya aina moja zinaweza kuleta matokeo tofauti kwa mfano kwenye kasi ya utekelezaji wa jambo hilo, rejea mfano wa hapo juu. (Na ukiangalia series ya silicon valley utakutana na hiki kipengele hadi kupelekea bwana Hooli kupambana na vijana wa Pied Piper kisa algorithm zao zilikua bora kuliko zake).

Lakini pia algorithm huwa inahitaji logic ya kina, kwa maana kuna baadhi ya algorithm zinakuhitaji programmer uweze kuelewa vitu kama recursion, loops za ndani (nested loops), na mbinu za kuboresha utendaji (optimization techniques) na haya yote yanahitaji mtazamo wa kina na fikra pevu ili yaweze kufanyika au kufikiwa.

Wacha tuangalie huu mfano wa mwisho ili uweze kuona utofauti uliopo baina ya data structure na algorithm kwa kuzingatia muktadha niliouongelea hapo juu.

Tuseme upo kwenye data structure na unajifunza kuhusu Binary Search Tree (BST), ambayo katika data structure huwa ni rahisi kuelewa kwa sababu ina sheria zake ambazo ni rahisi kama vile nodes za kushoto ni ndogo kuliko root, na zile za kulia ni kubwa (hapa hata kukariri unaweza kukariri kwasababu huwa iko hivyo siku zote)

Sasa tukirudi kwenye algorithm, na tuchukulie unapoambiwa utengeneze algorithm ya kutafuta namba fulani kwenye BST, (hapa lazima uchanganyikiwe bwashee) kwa maana inakuhitaji uelewe jinsi ya kuisoma tree node kwa node.

Lakini pia ni lazima uelewe ni sehemu gani ya tree ambayo unapaswa kuendelea kuitafuta kati ya kushoto na kulia 😂😂😂.

Huku ukiwa unatakiwa kufanya jambo hilo kwa ufanisi zaidi pasipo kusababisha programu yako kuchukua muda mrefu wakati wa mchakato huo.

Kwa hiyo algorithm inakupima uwezo wako wa kufikiri na kiuhalisia programmer mzuri huwa anapimwa kutokana na kipengele hiki na ndio maana nimeileta kwenu hii ili kwanza ninawaambie programming inaishia kwenye data structure na algorithm lakini pia niwakumbushe ya kwamba sehemu ya kuwekea mkazo ni kwenye algorithm kwa maana hapo ndipo uwezo wako wa kujenga logic unapopimwa.

Na tukizungumzia kwenye logic tunajua ya kwamba huwa zinaishia kwenye if-else pamoja na while na do-while.

Kwahiyo algorithms zote ni if-else ila kinachofanyika kwenye maeneo mengi ni kukufundisha njia mbalimbali za kutumia if-else bila kuandika if-else yenyewe kwa kuzingatia muda, memory pamoja na utendaji kazi wake (hii ni siri nyingine ambayo nimekuibia wewe mzee wa control C, control V 😂😂😂😂)

Anyway, wacha nihitimishe kinamna hii ya kwamba kwa kifupi kabisaaa, data structures zinafundisha jinsi ya kupanga data, lakini algorithms zinakuhamasisha kufikiria jinsi ya kutumia data hiyo kwa ubunifu na kwa ufanisi! Ukifanya mazoezi ya algorithms mara kwa mara, uwezo wako wa kufikiria logic ngumu utaimarika na logic huwa ni if-else statements isipokua kwenye programming huwa unafundishwa namna tofauti tofauti ya kuandika if-else pasipo kuandika if-else yenyewe.

Lakini pia jambo la msingi ambalo unatakiwa uliweke kichwani mwako ni kwamba data structures na algorithms huwa zinafanya kazi kwa pamoja na ndio maana kwenye programming utasoma classes, methods au functions, objects pamoja na hatua mbalimbali za kiprogramia zitakazo kuwezesha uweze kuunganisha data structure zako na algorithm zako kwa pamoja.

Na kila program ambayo utakwenda kuandika huwa inakua na sehemu kuu mbili za msingi ambazo ni yale yote ambayo wewe unayajua (data structures) na yale yote ambayo unataka yale unayoyajua yafanye (algorithms).

Kwamfano kwenye hii platform yale ambayo programmer alikua anayajua ni lazima platform iwe na watumiaji kwa maana ya users, lakini pia kila mtumiaji anatakiwa awe na profile yake, ila pia kwenye hii platform mtu anapopost bandiko lake lazima liwe na title, na baada ya title kuwe na contents (hivi vyote programmer alikua anavijua wakati anatengeneza mfumo wake na hivi vyote vinaangukia kwenye data structure)…

Na baada ya kuweka yale yote anayoyajua basi lazima awe na kipengele cha pili ambacho ni kipengele cha kuyamanipulate yale anayo yajua yaweze kufanya yale anayotaka yafanye, na hapa utakutana na kitu kama removeContents(), likeContents(), followUser(), muteUser(), blockUser(), comment() na kadhalika (na hivi vyote vinaangukia kwenye kipengele cha algorithm).

Wacha nipumzishe vidole vyangu.
 
If else?, labda kwa wanautumia high level language. Tumia C au NASM na hizo if-else uone nini kinatokea
 
If else?, labda kwa wanautumia high level language. Tumia C au NASM na hizo if-else uone nini kinatokea
Haijalishi ni C au lugha gani ila logic zote za programming languages zimejengwa kuanzia hapo kwenye if-else isipokua kutokana na efficiency,memory and time hizi if-else zikawa modified kwa namna tofauti ili kukidhi hivyo vigezo.

Kwahiyo any programming language unapoisoma utaanza na data types pamoja na hizo control flow then utaenda kwenye function or procedural or OO na baada ya hapo if-else inajirudia katika more advanced ways pamoja na data types.
 
Mkuu hongera kwa uzi huu. Kwa faida ya kujifunza na ku share idea bado huu uzi ulitakiwa uwe na sehemu au ukurasa kadhaa.

Kwa maana umeufinya na kuufanya uwe maalumu kwa waliojifunza tayari.
nakumbuka nilipata shida kujua class na jinsi ya kuita objects/data za class nyinh8me.

Swali langu na wengi wameuliza, je shida ipo wapi ktk CS kwa sababu hakuna vitu vikubwa va kuonesha. Hakuna software za kutisha kama camscannner, Adobe,window,fruity nk.
Sasa hivi unasikia wachina huko, hatari wanatishia biashara za wazungu mfano tiktok. Sema mtaalam.
 
Swali langu na wengi wameuliza, je shida ipo wapi ktk CS kwa sababu hakuna vitu vikubwa va kuonesha. Hakuna software za kutisha kama camscannner, Adobe,window,fruity nk.
Sasa hivi unasikia wachina huko, hatari wanatishia biashara za wazungu mfano tiktok. Sema mtaalam.
Shida ni kwamba hakuna mazingira shawishi ya kuwafanya watu waumize vichwa ili wafanye mambo makubwa.

Watu wako na idea kubwa na wana uwezo mkubwa wa kucode mifumo mbalimbali ila hakuna anaejua baada ya kumaliza kucode huo mfumo ataanzia wapi ili aweze wawekezaji wakufund idea yake ili aingie sokoni.

Ni lazima tukubali kwamba katika nchi yetu vitu vingi vya kipumbavu ndio vinapata mileage kuliko vile vitu vya msingi, ofcoz kuna buni and whatever whatever ila bado hazijapewa nguvu inavyotakiwa kiasi cha kumfanya mtu aliye shuleni Leo ahamasike kufanya jambo la uvumbuzi.

Kama taifa tunatakiwa tufanye jambo la kiushindani upande huo litakalofikia kwenye ngazi ya kitaifa kiasi cha kufanya watu waweze kuanzisha nyuzi nyingi kama zinavyoanzishwa za CCM na Chadema.
 
Watu mlike comment yangu nitakuja kusoma maelezi vri maan mi niliisoma Kama module tu. C+ na c++
 
Watu mlike comment yangu nitakuja kusoma maelezi vri maan mi niliisoma Kama module tu. C+ na c++
Utakua ni mtu wa Telecom wewe... Electronics and communication engineering huwa wanasoma C na Cpp kwaajiri ya embedded systems 😅😅😅
 
Habari zenu wakuu…

Naomba Leo tuongee kuhusu mambo haya ya programming, kwa maana watu wengi huwa wanahisi programming ni ngumu na hii yote ni kutokana na kutokujua msingi na dhima ya programming ni ipi.

Na ndio maana nimeandika hili bandiko ili kutoa degree ya kompyuta sayansi ya miaka mitatu ndani ya bandiko lenye maneno chini ya 2000 😅😅😅 (msinune wanangu wa kompyuta sayansi ni utani tu, ila soma hadi mwisho maybe utapata kitu)

Bila kupoteza muda, wacha tuanzie hapa…

Programming kimsingi inahusu namna ya kupanga, kuhifadhi, na kuchakata data ili kutatua matatizo au kutekeleza kazi fulani. Njia hizi zinategemea sana na aina ya data unayoshughulikia pamoja na matatizo unayotaka kuyatatua.

Kwa mfano…

Kuhifadhi data, hii ni pale unapojifunza kuhusu data structures, unajifunza namna tofauti za kupanga data mfano arrays, lists, stacks, queues, trees, graphs, ili kuifanya iwe rahisi kwenye kuhifadhiwa na kuitumia.

Kutatua Matatizo au changamoto mbalimbali, hii ni pale unapojifunza algorithms, kwani hapa unajifunza hatua tofauti za kutatua changamoto kwamfano (sorting, searching, pathfinding) kwa kutumia data hizo ambazo zimehifadhiwa.

Kupangilia njia za usindikaji, na hapa utakutana na njia kama Object-Oriented Programming (OOP), Functional Programming, au Procedural Programming, hizi zote zinaelezea mbinu tofauti za kupanga na kudhibiti jinsi data inavyoshughulikiwa kwenye programu yako.

Kwa hiyo, kiujumla kabisa ni kwamba programming ni mchanganyiko wa mambo matatu ya msingi, ambayo ni:.

Kupanga data vizuri kwa maana ya data structure.
Kuamua njia bora ya kuitumia data hiyo kwa kutatua changamoto kwa maana ya algorithm.
Pamoja na kutekeleza suluhisho kwa njia inayokuwa rahisi, haraka, na yenye ufanisi na hapa ndipo pale ambapo tunaunganisha data structure na algorithm kwa pamoja kwa kutumia classes, functions, methods na kadhalika.

Na ili hapa uweze kunielewa vizuri wacha nikurudishe nyuma kidogo pale ambapo unajifunza programming language fulani, huwa hatua ya kwanza kabisa utaona unajifunza data types ikifuatiwa na control flow pamoja na loops.

Sasa kimsingi unaposoma data types (kama int, float, char, boolean, string, nk.), unajifunza misingi ya awali ya jinsi data inavyohifadhiwa na inavyotumika. Na hizi zote kwa ujumla wake hujenga msingi wa data structures kubwa zaidi, kwa sababu…

Primitive data types (mfano int au float) ndio vituo vya ujenzi vya data structures kubwa kama arrays, linked lists, trees, na graphs.

Complex data types (mfano arrays au objects) tayari zinahusisha elements za data structure.

Kwa hiyo, unapojifunza data types, unaanza kuelewa jinsi ya kuwakilisha data na hatua za msingi za kuihifadhi data hizo.

Na kwenye loops pamoja na control flow, hizi huwa kama hatua za awali za algorithms…

Kwasababu loops (for, while, do-while) pamoja na control flow (if, switch, break, etc.) ni zana za awali za kuandika algorithms.

Look, kila algorithm ni mfululizo wa maelekezo ambayo mara nyingi yanahusisha kuchakata data kwa kutumia loops na control flow (hii ni siri mimekuibia kwa maana najua ulikua haujui ila hauwezi kusema 😂😂).

Sasa skia hata kama hautaki kukubali kwamba hii ni siri ambayo nimekupa Leo ila Mimi nataka niifanye hii siri niliyokupa ikae vizuri kichwani mwako kwa kukupa na huu mfano…

Tuchukulie algorithm ya kutafuta namba kubwa zaidi kwenye listi fulani.

Ambapo data structure yake itakua ni Listi ya namba (nadhani hapa unaelewa, si ndio)

Kwahiyo sasa kwenye algorithm yake, yaani ili tuweze kufikia lengo letu la kupata namba kubwa zaidi kwenye listi basi tutatumia loop kuchunguza kila namba moja baada ya nyingine, huku tukilinganisha na namba kubwa iliyotangulia na hatimae hiyo namba inayotafutwa inapatikana (hii ni if-else statements ya kawaida)

Na kutokea kwenye mfano huo hapo juu inathibitisha kwamba…

Data types ni sawa na hatua za awali kuelewa kwenye namna ya kuunda na kuhifadhi data.

Wakati huo huo loops + control flow ni hatua za awali kuelewa jinsi ya kuchakata na kufanyia kazi data hizo zilizo hifadhiwa.

Sasa changamoto kubwa inayowakumba programmer wengi huwa haipo kwenye data structures, kwa maana mara nyingi data structures huwa ni rahisi kueleweka kwa sababu…

Ni vitu vya kawaida ambavyo mara nyingi tunaviona au kuvihusisha kwenye maisha ya kila siku.

Kwa mfano, Array ni kama rafu yenye nafasi za kuhifadhi vitu moja kwa moja, Stack ni kama sahani zilizopangwa kwa kwenda juu, na Queue ni kama foleni ya watu au magari.

Na mara nyingi kwenye data structure, unachojifunza ni jinsi ya kuzitumia au kuzihifadhi data hizo kulingana na namna unavyotaka zikae lakini tayari zipo zinajulikana.

Lakini sasa kwenye algorithms ndiko kuliko na shida, kwa maana ndio kipengele ambacho kinawasumbua programmer wengi sana duniani, na sababu ya kuwasumbua huwa ni kutokana na…

Kuhusisha fikra nyingi zaidi, kwa maana ya kwamba algorithms huwa haziji na suluhisho moja kwa moja ila inahitaji programmer aweze kufikiria hatua kwa hatua, kutatua matatizo, na pia kufikiria mbinu za kuboresha ufanisi wake kwa maana ya efficiency (hii inamaanisha kwamba, kunaweza kuwa na algorithm nyingi za kutatua tatizo moja ila katika hizo nyingi kuna moja ambayo ni bora kuliko nyingine na ndio maana unaweza kukuta programu ya aina moja ambayo imetemgemezwa na engineers tofauti tofauti kwa kutumia algorithm tofauti na zikawa na ufanisi tofauti, kwa mfano kama ni app ya kutuma picha utakuta hii ikoslow kuliko nyingine au utakuta kuna moja inafanya kazi kwa ufanisi na haraka sana kuliko zingine).

Zinahitaji ubunifu, kwa maana wakati mwingine unaweza kuona data structure iko tayari kwa maana yani tayari uko nayo au unaijua, lakini algorithm ya kuitumia inahitaji kufikiria sana kwa sababu njia tofauti za kutatua tatizo au changamoto hiyo ya aina moja zinaweza kuleta matokeo tofauti kwa mfano kwenye kasi ya utekelezaji wa jambo hilo, rejea mfano wa hapo juu. (Na ukiangalia series ya silicon valley utakutana na hiki kipengele hadi kupelekea bwana Hooli kupambana na vijana wa Pied Piper kisa algorithm zao zilikua bora kuliko zake).

Lakini pia algorithm huwa inahitaji logic ya kina, kwa maana kuna baadhi ya algorithm zinakuhitaji programmer uweze kuelewa vitu kama recursion, loops za ndani (nested loops), na mbinu za kuboresha utendaji (optimization techniques) na haya yote yanahitaji mtazamo wa kina na fikra pevu ili yaweze kufanyika au kufikiwa.

Wacha tuangalie huu mfano wa mwisho ili uweze kuona utofauti uliopo baina ya data structure na algorithm kwa kuzingatia muktadha niliouongelea hapo juu.

Tuseme upo kwenye data structure na unajifunza kuhusu Binary Search Tree (BST), ambayo katika data structure huwa ni rahisi kuelewa kwa sababu ina sheria zake ambazo ni rahisi kama vile nodes za kushoto ni ndogo kuliko root, na zile za kulia ni kubwa (hapa hata kukariri unaweza kukariri kwasababu huwa iko hivyo siku zote)

Sasa tukirudi kwenye algorithm, na tuchukulie unapoambiwa utengeneze algorithm ya kutafuta namba fulani kwenye BST, (hapa lazima uchanganyikiwe bwashee) kwa maana inakuhitaji uelewe jinsi ya kuisoma tree node kwa node.

Lakini pia ni lazima uelewe ni sehemu gani ya tree ambayo unapaswa kuendelea kuitafuta kati ya kushoto na kulia 😂😂😂.

Huku ukiwa unatakiwa kufanya jambo hilo kwa ufanisi zaidi pasipo kusababisha programu yako kuchukua muda mrefu wakati wa mchakato huo.

Kwa hiyo algorithm inakupima uwezo wako wa kufikiri na kiuhalisia programmer mzuri huwa anapimwa kutokana na kipengele hiki na ndio maana nimeileta kwenu hii ili kwanza ninawaambie programming inaishia kwenye data structure na algorithm lakini pia niwakumbushe ya kwamba sehemu ya kuwekea mkazo ni kwenye algorithm kwa maana hapo ndipo uwezo wako wa kujenga logic unapopimwa.

Na tukizungumzia kwenye logic tunajua ya kwamba huwa zinaishia kwenye if-else pamoja na while na do-while.

Kwahiyo algorithms zote ni if-else ila kinachofanyika kwenye maeneo mengi ni kukufundisha njia mbalimbali za kutumia if-else bila kuandika if-else yenyewe kwa kuzingatia muda, memory pamoja na utendaji kazi wake (hii ni siri nyingine ambayo nimekuibia wewe mzee wa control C, control V 😂😂😂😂)

Anyway, wacha nihitimishe kinamna hii ya kwamba kwa kifupi kabisaaa, data structures zinafundisha jinsi ya kupanga data, lakini algorithms zinakuhamasisha kufikiria jinsi ya kutumia data hiyo kwa ubunifu na kwa ufanisi! Ukifanya mazoezi ya algorithms mara kwa mara, uwezo wako wa kufikiria logic ngumu utaimarika na logic huwa ni if-else statements isipokua kwenye programming huwa unafundishwa namna tofauti tofauti ya kuandika if-else pasipo kuandika if-else yenyewe.

Lakini pia jambo la msingi ambalo unatakiwa uliweke kichwani mwako ni kwamba data structures na algorithms huwa zinafanya kazi kwa pamoja na ndio maana kwenye programming utasoma classes, methods au functions, objects pamoja na hatua mbalimbali za kiprogramia zitakazo kuwezesha uweze kuunganisha data structure zako na algorithm zako kwa pamoja.

Na kila program ambayo utakwenda kuandika huwa inakua na sehemu kuu mbili za msingi ambazo ni yale yote ambayo wewe unayajua (data structures) na yale yote ambayo unataka yale unayoyajua yafanye (algorithms).

Kwamfano kwenye hii platform yale ambayo programmer alikua anayajua ni lazima platform iwe na watumiaji kwa maana ya users, lakini pia kila mtumiaji anatakiwa awe na profile yake, ila pia kwenye hii platform mtu anapopost bandiko lake lazima liwe na title, na baada ya title kuwe na contents (hivi vyote programmer alikua anavijua wakati anatengeneza mfumo wake na hivi vyote vinaangukia kwenye data structure)…

Na baada ya kuweka yale yote anayoyajua basi lazima awe na kipengele cha pili ambacho ni kipengele cha kuyamanipulate yale anayo yajua yaweze kufanya yale anayotaka yafanye, na hapa utakutana na kitu kama removeContents(), likeContents(), followUser(), muteUser(), blockUser(), comment() na kadhalika (na hivi vyote vinaangukia kwenye kipengele cha algorithm).

Wacha nipumzishe vidole vyangu.
Natamani kweli kujifunza haya mambo kwa undani, nami niweze kutengeneza app yangu itakayofanya vizuri Tz na hata ulimwenguni, najitaidi kuwekeza ili niwe na muda baadae wa kujifunza maana saivi napambania kwanza kupata kompyuta. Huwa nikisoma machapisho kama haya huwa napata kichocheo kipya moyoni mwangu.
 
Natamani kweli kujifunza haya mambo kwa undani, nami niweze kutengeneza app yangu itakayofanya vizuri Tz na hata ulimwenguni, najitaidi kuwekeza ili niwe na muda baadae wa kujifunza maana saivi napambania kwanza kupata kompyuta. Huwa nikisoma machapisho kama haya huwa napata kichocheo kipya moyoni mwangu.
Ukijipa muda itawezekana na ukitaka support yoyote utakapoanza kujifunza jukwaa hili hapa wewe weka Uzi wako tutachangia kubadilishana mawazo na kuwekana sana mkuu... Kila la heri.
 
Back
Top Bottom