header

header

Monday, September 23, 2013

පරිගණක විද්‍යාව ඉගෙනගන්නේ කොහොමද?

 ආයුබෝවන් ඔබ සියලු දෙනාටම..............මම විශ්ව විද්යාලයේ පරිගණක විද්‍යාව ඉගෙනගන්න ඇවිල්ලා දැන් එක සෙමෙස්ටර් එකකුත් ඉවරයි .මේ ක්ෂේත්‍රයේ ඉගෙනගන්නකොට අපි පුරුදු කරන්න ඕන මොන වගේ දේවල්ද මට දැනට තේරිච්ච විදියට ඔබට ඉදිරිපත් කරන්න කල්පනා කළා. .දැන්  අපි මෙතෙන් සිට ඒ මොනවද කියල කරුණු වශයෙන් සාකච්චා කරමු.


  1. ක්‍රමලේකන සුසමාදර්ශ -මෙහිදී පරිගණක බාෂාවේ පවතින ක්‍රමලේකන සුසමාදර්ශ කිහිපයක් හදුනාගන්න පුළුවන් .අපිත් පළමුවන සෙමෙස්ටර් එකේ ඉගෙනගත්තේ C  පරිගණක බාෂාව .මේක අයිති Procedural  වර්ගය යටතටයි.ඒ කියන්නේ programming කරන්න ඕන කිසියම් අනුපිළිවෙලකට .ඊලගට වස්තු පාදක ක්‍රමලේකනය(object oriented programming) මේක තමයි high ලෙවෙල්   languages වලින් ජනප්‍රියම හා ප්‍රබලතම ක්‍රමලේකන  විදිය .ජාවා,smalltalk,ruby වගේ පරිගණක බාශා වැටෙන්නේ මේ යටතට .ඊලගට තවත් functional කියලත් වර්ගයක් තියෙනවා .අපි හැමවිටම අලුතෙන් දේවල් හොයන රුචිකත්වයකින් ඉන්න ඕන,එතකොට තමයි මේ CS ක්ෂේත්‍රය රසවත් වෙන්නේ ,මම පසුව සදහන් කල Functional language යටතට වෙටෙන්නේ  HASKELL,Scheme,Erlang,OCam වගේ පරිගණක බාෂා (සැ.යු -මේ සියල්ලම විශ්ව විද්යාල විෂය නිර්දේශයක් තුල ඉගෙන්විය නොහැක .ආරම්බය ලබාදුන් පසු සොයා ගොස් ඉගෙනීම  සරසවි අධ්‍යාපනයේ මුලිකාංගයක් බව මෙම කෙටි කල තුල හදුනාගෙන සිටිමි.)මෙ හැම style එකක්ම පුරුදු වුනාම ප්‍රශ්නයක් විසදන්න හොදම මොකක්ද කියලා  ඒ වායෙ තියෙන පහසුකම් එක්ක තේරුම් ගන්න හැකියාව ලැබෙනවා.මෙ හැම එකකම features කවලම් වෙච්ච languages තුත් තියෙනවා.ඒවට උදාහරන විදියට Python,C++,Scala වගේ languages දක්වන්න පුලුවන්.
  2. සෛද්ධාන්තික පරිගනක විද්යාව-complexity theory ,optimizations, Cryptography ,Computer Aided Graphics,Compilers,Operating systems වගේ ප්‍රධාන මාතෘකා වගේම Hardware  පැත්තෙ Instruction sets,caches  සහ Architectures පිලිබදව මෙම  විශය කොටසේදි ඉගෙන ගනු ලබනවා. 
  3. Mathematics for CS-පරිගනක විද්‍යාව සම්පුර්නයෙන්ම පාහේ පදනම් වෙන්නෙ ගණිතයෙ ඉගෙන්වෙන සංකල්ප මත,ඒ නිසා CS ස්ථාවරව ඉගෙන ගන්න නම් හොද ගණිතමය පදනමක් තියෙන්නම ඕන.
  4. ඊළගට  Human Side එකෙ දේවල් ටිකක්,ඒ කියන්නෙ project management ,Design patterns,User Interface design ,Human-Computer Interaction වගෙ දේවල්,මොකද කියනවනම් ඉදිරියෙදි ‍රැකියාවක් හැටියට අපිට කරන්න වෙන්නෙ Project manager,Programmers,Software Engineers ල වගෙ අය හැටියටනෙ. එතනදි වැඩ කරන්න වෙන්නෙ මිනිස්සුත් එක්ක,ඒ නිසා හොද communication skill එකක් තියෙන්නම ඕන ප්‍රශ්න අඩුවෙන් වැඩ කරගෙන යන්න.
  5. ඊලගට නිර්මාණාත්මක බව කියන දෙයත් ඉතා වැදගත්.එ කියන්නෙ අපි ආස කරන music,dance,sport වගෙ දෙවල්වලින් ඔය කියන නිර්මානාත්මක බව,ඉවසීම වගෙ ගුනාංග වර්දනය කරගන්න පුලුවන්.අපි දැනටමත් දන්න විදියට අපෙ මිනිස් මොලයේ ඩෙපැත්තක් තියෙනවා.එක පැත්තක් logic වලට,ඒ වගේම අනිත් පැත්ත සව්න්දර්යාත්මක දේවල් වලට,මේ දෙකම හරිවිදියට සමාන්තරව යන්න ඕන.තවත් දෙයක් සදහන් කරන්න අවශ්‍යයි.ඒ තමයි CS සබ්ජෙක්ට් එක ඉගෙන ගැනීමෙදි ඉහල Analytical Skill එකක් තියෙන්න ඕන,මේක වර්දනය කරගන්න,puzzle විසදීම වගෙඩෙවල් අනුමත කරන්න පුලුවන්.විශෙශයෙන් ගණිතය ඉගෙන ගැනීමේදී Real Analysis වගෙ පාඩම් අවබෝදයෙන් ඉගැනීම වැදගත්.Real life එකෙ මුනගැසෙන ගැටලු ,විශ්ලේශනය කරල විසදන්න පුලුවන් මාර්ග පාදගන්න උනක් වගේ දෙයක් තියෙන්න ඕන.
  6. තවත් දෙයක් CS student කෙනෙක් වුනාම FOSS ප්‍රොජෙක්ට් වල වැඩ කරලා industry යෙ වැඩ කැරෙන හැටි ගැන අවබෝධයක් ලබන්න පුලුවන්.ඒ දෙ   CS major  ලා ඉහලින්ම recommend කරන දෙයක්.කන්ඩායම් වශයෙන් මෙවෙනි ප්‍රොජෙක්ට් කරන්න පුලුවන්,අනිත අතට ඒ වගෙ දෙයක් හොද Personality එකක් හැදෙන්නත් ලොකු පිටිවහලක් වෙනවා.
  7. CS field එකේ major කෙනෙක් වෙනව වගේම තවත් discipline එකක්  විදියට electrical engineering එහෙමත් නැත්තම් economics,management වගේ දෙයක් අතිරේකව ඉගෙනගන්නව නම් ගොඩක් වටිනවා.එතකොට job එකකට තියෙන demand එකත් වැඩිවෙනවා. 
ප.ලි- කතෘ බ්ලොග්කරණය සදහා ආදුනිකයෙකු වන බැවින් මෙහි අන්තර්ගතයේ බොහෝ අඩුපාඩුකම් තිබිය හැක.පරිගනක විද්‍යාව ඉගෙනගැනීම සදහා වන අනිවාර්ය ක්‍රමවේදයක් මෙයින් හුවා දැක්වීම කතෘ අපේක්ශා නොකරයි.මෙහි ඇති දෝශ අඩුපාඩු පෙන්වා දෙන්නේ නම් අතිශයින්ම කෘතවේදී වෙමි.

Friday, September 20, 2013

පරිගනක විද්‍යාව --වෙන්කර හදුනා ගැනිමක්

ආයුබෝවන් ඔබ සියලු දෙනාටම..........
 පරිගනක විද්යාව,තොරතුරු හා සංනිවේදන තාක්ෂනය,පරිගනක ඉංජිනේරු විද්‍යාව මේ නම් වලින් හැදින්වෙන විශයන් වල තියෙන්නෙ එකම අන්තර්ගතයක් නෙවෙයි.උසස් අධ්‍යාපනයෙදී මේ විශය අන්තර්ගතයන් වල ඇති වෙනස හදුනාගෙන සිටීම අනාගතයෙදි අප නියැලීමට සිටින වෘත්තිය පිලිබද පොඩි හරි තීරනයක් ගන්න උදව් වෙනවා.මම නම් විශ්ව විද්යාලෙ අයදුම් කරද්දීවත් මෙ ගැන එච්චර අවබෝදයක් තිබ්බෙ නැහැ.ඒ ඒ course වල වටිනාකම තීරනය කලෙ ඇත්තටම ඊට උඩින් අවුරුද්දේ ඒ course එකට ගත්ත Z-Score එක ගැන හිතලා.ඒ කියන්නෙ Z-Score එක වැඩිනම් ඒක හොදයි කියලා හිතලා.එනිසා අපි අද මෙ විවිධ විශයන් වල අන්ත්ර්ගතයන් පිලිබදව විමසීමක් කරමු.
programming is major task of computer scientists

 පරිගනක විද්‍යාව-පරිගනක විද්‍යාව හදාරන්නෙකුගෙ  අරමුන පරිගනක යෙදවුම් වල සිද්ධාන්ත හා පසුබිම අවබෝධ කරගෙන විද්‍යාඥයෙකුගේ  කාර්යභාර්යක් ඉ‍ටුකිරීමයි.ඒ කියන්නේ රසායන,භෞතික විද්‍යාඥයන් වගේ.ලබා ගත් අවබෝධය තුලින් තොරතුරු සම්ප්‍රේශනය හා මෙහෙයවීම සදහා නව ක්‍රමවේදයන් සොයගැනීම ඔවුන්ගේ කාර්යභාර්යයි.මෙ සදහා උසස් ගනිතය,ඇලොගරිත්ම භාවිත්යෙන් පරිගනක වැඩසටහන් ක්‍රියාත්මක වන්නේ කෙසේදැයි ඔවුන් විසින් නව දැනුමක් නිර්මානය කරනු ලබනවා.එම නිසා CS හදාරන්නෙකු මෘදුකාංග නිර්මානය හා දියුනු කිරීම ,පරිගනක භාෂා වල මූලිකාංග ඉගෙනගනු ලබයි.එදිනෙදා යම්  කටයුත්තක් කරගැනීමට පරිගනක යොදවා ගත හැක්කේ කෙසේ දැයි යම් වැඩසටහනක්  ගොඩනගා එම ක්‍රමවේදය ඔවුන් විසින් පැහැදිලි කර දෙයි.කොටින්ම කියතොත් පරිගනක පද්ධතිය සමග සංනිවේදනය කරන්නේ පරිගනක විද්‍යාඥයන්ය.පරිගනක විද්‍යාඥයන්ගේ කාර්යභාර්ය අවබොධ කරගැනීමෙන් CS විශයෙහි අන්තර්ගතය පිලිබද අදහසක් ගත හැකි යයි සිතමි.මෙම විශය ධාරාව හැදෑරීමෙන් උදාවන ‍රැකියා අවස්ථා කිහිපයක්  පහත දැක්වේ.
  1. Application Software developer-යෙදවුම් මෘදුකාංග නිර්මානකරුවන්
  2. System Engineers-පද්ධති ඉංජිනේරුවන්
  3. Web Developers-ජාල සංවර්ධනය කරන්නන්.

  පරිගනක ඉංජිනේරු විද්‍යාව -පරිගනක ඉංජිනේරුවන් විසින් පරිගනක දෘඩාංග කොටස්එකතු කර පරිගනක නිර්මානය කරයි.එනම් ඉංජිනේරු කාර්යභාර්යක්.මොවුන්ගේ වගකීම වෙන්නේ පරීක්ශන කරලා hardware equipment නිර්මානය හා දියුනු කිරීම.ඒ කියන්නේ circuit boards, microchips, routers, video cards වගේ දේවල් .electrical engineering වගෙ විශය දැනුමකුත් මෙතනදි ඉගෙන ගත යුතු වෙනවා.පරිගනක ඉංජිනේරුවන් විසින් ගොඩනගනු ලබන processor architecture එකකට අනුකූලව පරිගනක විද්‍යඥයන් විසින් පරිගනක වැඩසටහන් ලියනු ලබනවා.හැකිතරම් ආර්ථිකව ලාභදායි හා වඩා කාර්යක්ශම micro processors නිර්මානය කිරීම මොවුන්ගේ වගකීමයි.ඒ අනුව පරිගනක ඉන්ජිනේරු විද්්‍යාව හදාරන්නෙකු පරිගනක විද්‍යාවේ මූලික සංකල්ප,ඉන්ජිනේරු විද්‍යාව,ගණිතය වගේ විෂයන් ඉගෙන ගත යුතු වෙනවා.මෙම විශය සංකලනයෙන් ලත් දැනුමෙන් දෘඩංග ගැටලු විසදීම හා පරිගනක පද්ධති ගොඩනැගීම සිදු කල යුතු වෙනවා.මොවුන් නියුතු වන කර්මාන්තය අනුවයි,‍රැකියා විවිධත්වයක් දකින්න පුලුවන් වෙන්නෙ.එවැනි කර්මාන්ත කිහිපයක් පහත දැක්වේ.
  1.  computer and electronic manufacturing-පරිගනක හා ඉලෙක්ට්‍රොනික නිශ්පාදනය
  2. computer systes design and related services-පරිගනක පද්ධති නිර්මානය හා ආශ්‍රිත සේවවාන්
  3. Scientific research and development services-විද්‍යාත්මක පර්යේශන හා සංවර්දන සේවාවාන්.
තොරතුරු තාක්ශනය-තොරතුරු තාක්ශනය තොරතුරු පද්ධති අධීක්ෂනය හා පද්ධති පාලනය හා සබැදි විශයක්.ඒ කියන්නෙ IT Proffessionals ට ඇත්තටම තියෙන්නෙ තාක්ශනයේ පරිශීලකයන් ලෙස ක්‍රියා කිරීමයි.පවතින මෙහෙයුම් පද්ධති,මෘදුකාංග හා යෙදවුම් භාවිතා කර ව්‍යාපාරික ගැටලු විසදීම සදහා විශාල පද්ධති සැලසුම් කිරීම මොවුන් සතු වගකීමයි. රැකියා ස්වභාවය අනුව ඔවුන්ට සේවා දායකයින් සමග ‍රැකියා ස්ථානයෙන් පිටත කටයුතු කිරීමට සිදුවෙයි.ව්‍යාපාරික අරමුනු හා අවශ්‍යතා මුදුන් පමුනුවා ගැනීම සදහා තාක්ෂනයේ උපයෝගීතාවයන් පිලිබදව පැහැදිලි කරදී සැලසුම් සෑදීම මොවුන්ගේ කාර්යභාර්යයයි.IT හදාරන්නෙකු ලෙස ජාල හා දත්ත පාදක නිර්මානය ,ව්‍යවහාරික ගනිතයේ මූලික දැනුම වගේම ශක්තිමත්  සිතීමේ හා තීරන ගැනීමේ හැකියාවක් වර්ධනය කරගත යුතු වෙනවා.ඊට අමතරව ඉහල සංනිවේදන හැකියාවක් හා පවතින සම්පත් භාවිතයෙන් අඩු-වියදම් සහිත ඉහල පලදායීතාවයක් ලබා ගැනෙමට තම සැලසුම් මෙහෙයවිය යුතු වෙනවා.කුඩා ව්‍යාපාරික අවස්ථාවේ සිට විශාල ව්‍යාපාරික අවස්ථාව දක්වාම IT භාවිතය නිසා බොහෝ ‍රැකියා අවස්ථා මොවුන් සදහා විවෘතව පවතී.ඉන් කිහිපයක් පහත දැක්වේ.
  1. Information Security Analyst
  2. Network Architect
  3. Computer Support Specialist
  4. Database Administrator
  5. System Administrator.

 සාරාංශය

  • computer engineers පරිගනක පද්ධති නිර්මානය හා ගොඩනැගීම සිදුකරයි.
  • computer scientists එම පරිගනක පද්ධති සදහා වැඩසටහන් නිර්මානය කරයි.
  • IT Professionals විසින් එම වැඩසටහන් භාවිතය හා දෝශ නිරාකරනය සිදුකරයි.
computer engineers  සැලසුම් කර නිවසක් සාදයි.Computer Scientist එම නිවසට අවශ්‍ය විදුලිය හා නලජලය ලබාදීමට විදුලි ‍රැහැන් ඇදීම හා ජල නල එලීම සිදුකරයි.IT Professionals තම ජීවන අරමුනු ඉ‍ටු කර ගැනීමට   එම නිවස භාවිතා කරන්නාට උපමා කොට දැක්විය හැකිය.