Nilishafanya programming.
That is good!
Kwa hivyo nadhani umeshagundua kwamba programming is not about finding solutions, but about implementing solutions.
Tuchukulie kwa mfano unataka kutengeneza program ambayo itakuwa inachukua list ya namba, halafu inatafuta wastani wake. Kama hujui wastani unatafutwa vipi, basi hakuna language inayoweza kukusaidia.
Lazima ujue step gani utazichukua ili kutafuta wastani. Ambazo ni kutafuta jumla ya namba kwa kujumlisha namba zote zilizo kwenye list hiyo, then kutafuta idadi ya namba kwenye hiyo list, halafu kugawanya jumla ya zile namba kwa idadi yake. Wanaita Algorithm ( [ame=http://en.wikipedia.org/wiki/Algorithm]Algorithm - Wikipedia, the free encyclopedia[/ame] ). Hii haihusiani na programming. Hizi ni step ambazo ukizichukua utapata jawabu, hata kwa kutmia karatasi na peni. Sasa programming inahusu kuielekeza computer ili ifuate hizo steps ili kukutafutia wewe jawabu.
Sasa kujibu swali lako, both VB.Net na C/C++ zaweza kukamilisha huo mradi wako, provided unaseza kuainisha steps gani zinatakiwa zichukuliwe na hiyo program ikipewa input, na inatakiwa itoe vipi output. Ningekushauri ufanye ana-ana-ana-do halafu upick language mojawapo ya hizo. Waweza kuijaribu kwa hata siku kadhaa, na utakuwa ushapata jibu kama inaweza kufaa au ama. Baada ya hapo waweza kupic nyingine yake.
Hiyo project yako hiyo siyo ndogo mwanetu. Ningekushauri kabla hujaanza kufikiria jinsi ya kuimplement fuzzy logic, Neural Network and Vector Machines kwenye hiyo software yako , jaribu kufanyia mazoezi skills zako kwenye VB.Net and/or C/C++.
Sasa kwa sababu wewe umeshawahi kufanya programming, pengine unajua tayari kuhusu algorithms na data structures. Pia unajua kuhusu program control an conditioning (loops, if then else, etc).
Na ningekushauri fanyia mazoezi vitu hivi, uvielewe na ujue jinsi ya kuvi-program kwenye languge unayoifanyia mazoezi. Vitakusaidia sana:
1)
Data structures ( [ame=http://en.wikipedia.org/wiki/List_of_data_structures]List of data structures - Wikipedia, the free encyclopedia[/ame] )
Jua data structures ambazo zipo supported natively na language yako. Pia jua jinsi hizi data structures zinavyofanya kazi. Kwa zile ambazo hazipo supported na language yako, jua jinsi ya kuzi-implement.
Huna haja ya kuzimaliza zote, na angalau moja moja kwa kila group ni vizuri.
2)
Algorithms: Fanyia mazoezi hizi na uzielewe, zinasaidia kuelewa what algorithms are about, na pia zinaweza kukusaidia wakati una-implement solution yako:
Sorting algorithms: [ame=http://en.wikipedia.org/wiki/Sorting_algorithm]Sorting algorithm - Wikipedia, the free encyclopedia[/ame]
Angalau quick-sort na marge sort
Searching algorithms: [ame=http://en.wikipedia.org/wiki/Searching_algorithm]Search algorithm - Wikipedia, the free encyclopedia[/ame]
Angalau linear search and binary search
Hopefully baada ya mazoezi hayo utakuwa umeshapata mwanga nini kinaweza kufanyika kwenye language yako, kinafanyika vipi, na nini hakiwezekani.
Finally sasa jaribu hili zoezi:
1. Jaribu ku-construct simple problem(s) ambayo unadhani program yako itatakiwa ku-solve.
2. Halafu jaribu kutengeneza algorithm(s) kusole hizo problems. Hopefully algorithm zako sasa zitakuwa zinatumia Bynesian formula somewhere. Na hii yote unaweza kufanya kwa karatasi na peni. Kama haiwezekani, hakuna programing language itakayo kusaidia.
3. Baada ya kufanikiwa ku-design algorithm ambayo unadhani itasolve problems ulizo-construct at step 1., Jaribu ku-implement hizo algorithms zako kutumia one languge of your choice.
4. Run program yako, ipe input, na angalia kama inatoa output unayotaka.