31 Dec 2018

ගංවතුර නැති සුබ අවුරුද්දක් Album !


අද 31, හමෝම සෙට්‌ වෙනවා.මට විතරද කිලිනොච්චියේ ගංවතුරෙන් අනාත උනු අය පේන්නේ? කමක්‌ නේ හමෝටම ගංවතුර, කුණාටු, අකුණු, සුලි සුලන් හා නාය යාම් නැති අළුත් අවුරුද්දක් වේවා! අපි අද කිලිනොච්චියේ ...
විස්‌තර බලන්න එන්න ..l 
https://www.facebook.com/yesmedialive

Today is 31st , Everyone is to set. Is it only me seeing people effected by Killinochchi Floods. Wish you all a happy new year without floods, cyclones and earth slips. #NorthernFloods #yesmedia
We are at Killinochchi


27 Dec 2018

උතුරේ ගංවතුර 2018 - ආපදා සමාජ මාධ්‍ය මෙහෙයුම


ගං වතුරකදී මිනිස්සු ඉස්සෙල්ලම බලන්නේ තමන්ගේ සහ පවුලේ අයගේ ජීවිතය බේරාගැනීම. එයාලා අනාථ කඳවුරු වලට යන්නේ ඇඳගන ඉන්න ඇඳුම පිටින් සමහරවිට. ඊලඟට වතුර, කෑම,ළමයින්ට කිරිපිටි වැසිකිලි පහසුකම්, ඇතිරිලි. ඉස්කෝලෙක 500 ක් විතර ඉන්නකොට, හිතන්න තත්වය. ලෙඩරෝග, ළමයින්ට කම්පනය, දවස් දෙකතුනක් යනකොට ලෙඩ බෝවෙනවා. ගෙදරවල් කැඩිලා, එයාලගේ ඇඳුම්, උයන පිහන බඩු මුට්ටු වතුරේ ගිහින්, ලේඛන නැතිවෙලා. ගෙවල් සුද්ද කරලා හදාගන යනකොට දවස් යනවා. හැමදේම හරිගස්සා ගත්තත් එයාලගේ නැතිවුන ආර්ථිකය කුකුළෝ එළුවෝ හරක් වගාවන් ගහ කොල? ඒවා නැවත ගොඩ නගාගන්න ඕනේ.
හිතන්න ඔබේ පවුලට එහෙම උනොත්.


ගංවතුරට අහුවෙච්ච මිනිස්සු අපි අවස්ථා ගණනකදී දකුණේ, නැගෙනහිර සහ උතුරුමැද, වයඹ දැකලා තියනවා. ඒත් උතුර අපට නුහුරුයි. ඔවුන් යුද්ධයකින් නිදහස්ව යාංතං දිවි ගැටගහන්නා අය අපි හිතන්නේ. අපිට බිම් මට්ටමෙන් ලැබෙන තොරතුරු අඩුයි. ඒ නිසා මේ ව්‍යසනය ගැන තොරතුරු හොයලා හැමෝම එක්ක බෙදාගන්න #NothernFloodsසමාජ මාධ්‍ය මෙහෙයුමක් අපි කරනවා.
ඒ තොරතුරු අනුව මූණුපොතේ සමූහ වලට සහන සැපයීම කළ හැකියි මම හිතනවා. සුනාමියේදී, 2011, 2014 ගම්වතුර වලදී අපි සාර්ථකව ජනතා අවධානයක් අන්තර්ජාලයෙන් ලබාදුන්නා.
මේ වරත් ඒ උත්සාහය කරන්නේ මහා මාධ්‍ය නත්තල් සාදයට ගිය නිසා.
කිලිනොච්චි, සිට මුලතිව් හා යාපනේ නැගෙනහිරත් අපි යනවා. ඔබේ මොබයිල් එක, කැමරාව අරන් ඔබටත් එන්න පුළුවන්. අපි මේ ආපදාවට ලක්වූ අයගේ ඇත්ත කතා මූණුපොතට එකතු කරමු. අපට ඔවුන් ගැන හුඟක් දේ දැනගන්න පුලුවන්. නත්තලට වැහුණු 86500+ අතරමංවූ මේ සිදුවීම ගැන ජනතාව දැනුවත් කරන්න පුළුවන්. එතකොට ඇත්තම තරුවක් පායලා උතුර දකුණ පාලම එළිය කරාවි.

අපේ සරළ සැලැස්ම 28 උදේ කොළඹ සිට යාපනය බලා යන 05:24 දුම්රියේ යන්න කිලිනොචියට 11.00. නුවරින් 5.00 දුම්රිය ඊට පොල්ගහවෙලදී හමුවෙනවා වෙනවා. කිලිනොච්චියේ සිට අපට බෙදී බටහිර, උතුර , නැගෙනහිර, මුලතුව් උතුර සහ දකුණ ආපදා ස්ථාන වලට යන්න පුළුවන්. දෙදෙනක් හෝ තුනක කුඩා කණ්ඩායමක් තමා සුදුසු.

බස් වැඩකරයි, ත්‍රී වීල් , බෝට්ටුවෙන් හා පයින් යන්නත් වෙයි. මේ කාරියේදී මිනිස්සු එක්ක වැඩ කරපු අත්දැකීම හා ඔබේ ආරක්‍ෂාවත් අවශ්‍යයි. විනෝද ගමනක් නෙමේ. ක්‍ෂේත්‍රයේදීම අමු මාධ්‍ය මූණුපොතට ලබා දීමයි අදහස. භාෂාව ගැටළුවක් ලෙස සලකන්න එපා. කරගන්න පුළුවන්. ඔවුන් අසරණ වුවත් මාධ්‍ය ලබාගැනීමේදී ආචාරශීලී සහ සදාචාරවත් වීමත් ඔවුනට ගෞරවයෙන් සැ‍ලකීමත් අවශයි. අවම කළමණා බරක්, පොරවනයක්, වැස්සට තොප්පි, කුඩයක්, සුලු බෙහෙත් හා අවම ඩිගිටල් උපකරණ ගෙන එන්න. පහසුකම් තියෙයි සහතික කළ නොහැකියි.

එවැනි කුඩා කණ්ඩායමක් ඔබටත් සිටීනම් inbox කරන්න.
https://www.facebook.com/pg/yesmedialive/

15 Sept 2018

Education Data Collection System Can Risk Privacy and Safety of Students

The rapid growth of Education Technologies that help adaptation of personalized learning experiences, collaboration. They are designed to collect data useful student monitoring and evaluation, school administration, tracking academics, disciplinary issues. Many student information systems, online classroom management system served through EdTech services.


As a result, types of data that are collected can include, but are not limited to:
  • personally identifiable information (PII);
  • biometric data;
  • academic progress;
  • behavioral, disciplinary, and medical information;
  • Web browsing history;
  • students’ geolocation;
  • IP addresses used by students; and
  • classroom activities.
Malicious use of this sensitive data could result in social engineering, bullying, tracking, identity theft, or other means for targeting children. Therefore, the FBI is providing awareness to schools and parents of the important role cybersecurity plays in the securing of student information and devices.

Sensitive Student Data

The widespread collection of sensitive information by EdTech could present unique exploitation opportunities for criminals. For example, in late 2017, cyber actors exploited school information technology (IT) systems by hacking into multiple school district servers across the United States.

They accessed student contact information, education plans, homework assignments, medical records, and counselor reports, and then used that information to contact, extort, and threaten students with physical violence and release of their personal information. The actors sent text messages to parents and local law enforcement, publicized students’ private information, posted student PII on social media, and stated how the release of such information could help child predators identify new targets. In response to the incidents, the Department of Education released a Cyber Advisory alert in October 2017 stating cyber criminals were targeting school districts with weak data security or well-known vulnerabilities to access sensitive data from student records to shame, bully, and threaten children.

Cybersecurity issues were discovered in 2017 for two large EdTech companies, resulting in public access to millions of students’ data. According to security researchers, one company exposed internal data by storing it on a public-facing server. The other company suffered a breach and student data was posted for sale on the Dark Web.


Inter-connected Networks and Devices


EdTech connected to networked devices or directly to the Internet could increase opportunities for cyber actors to access devices collecting data and monitoring children within educational or home environments. Improperly secured take-home devices (e.g. tablets, laptops) or monitoring devices (e.g. in-school surveillance cameras or microphones), particularly those with remote-access capabilities, could be exploitable through cyber intrusions or other unauthorized means and present vulnerabilities for students.

Recommendations

The increased use of connected digital tools in the learning environment and widespread data collection introduces cybersecurity risks of which parents should be aware.

In US many who are working hard to address cybersecurity matters in their schools to protect students and their data. For schools seeking assistance, there are numerous online resources, consortiums, and organizations available that can provide support on data protection matters and cybersecurity best practices.

How ever across the world specially in developing countries there is a lack of awareness and education on the issue, due to lack of organisms and knowledge.
So we encourages teachers, parents and families to:
  • Research existing student and child privacy protections of the Family Educational Rights and Privacy Act (FERPA), the Protection of Pupil Rights Amendment (PPRA), the Children’s Online Privacy Protection Act (COPPA), and state laws as they apply to EdTech services.
  • Discuss with their local districts about what and how EdTech technologies and programs are used in their schools.
  • Conduct research on parent coalition and information-sharing organizations which are available online for those looking for support and additional resources.
  • Research school-related cyber breaches which can further inform families of student data vulnerabilities.
  • Consider credit or identity theft monitoring to check for any fraudulent use of their children’s identity.
  • Conduct regular Internet searches of children’s information to help identify the exposure and spread of their information on the Internet.
If you have evidence your child’s data may have been compromised, or if you have experienced any of the Internet crimes described in this PSA, please file a complaint with relevent authorities.

Source (FBI PSA)

28 Aug 2018

AlgoHack #WEBONE අළුත් වැඩක්!


Mastering Modern Web Design & Hosting Technology
Advanced Diploma Level - 1 Year Online

HTML5, Web Design, Programming, CMS, e Commerce මුල සිට නවතම තාක්‍ෂණය Google, Facebook and Twitter API හා Hosting & Security අඩංගු පාඨමාලාවක් සැප්තැම්බර් 15 ඇරඹේ. විස්තර සහ සහභාගී වීමට inbox කරන්න. බඳවා ගැනීම සීමිතයි.

Full Stack Web Tech from Experts!
Start your own business, teaching and employment on WEB.
Compliance with international industry skills.

Learning Coverage:
Internet Governance, HTML5, CSS, Graphics, Video, JS, PHP, mySQL, CMS, SEO, e Commerce, SSL, Web Frameworks, Social Media, oAuth2, Google, Facebook and Twitter API, Hosting & Security. 


23 Jul 2018

Loop and Break in Python




j=0

while (j < 11):
    print("inside while J=" , j)
    if (j == 3):
        break

    j += 1 # increment j by 1 (same as j=j+1) 
    
print("I am free J=", j)

'''
Look at first line of code, we have set j=0 initially.
the program now can enter the while loop as value of j is less than 11
while (j < 11):
Since j = 0, program enters the loop and prints "inside while j= 0"
next it checks if ( j==3), in the first loop run j is 0, so it skips if (j==3) code block
Then it finds j+=1 , which means increment the value of j. It is same as j=j+1
If we dont do that program will end up a iternal loop.
now j=1
Then it returns to while (j < 11) : condition,
the j is 1 so it is again allowed to enter the loop and run while code block again
So this goes on. we know at every run j get incremented by 1
I becomes 1, 2 and then 3
since j < 11 it can enter the loop again with j=3
in the loop it finds if (j==3) : condition. Now it is true,
Now it goes into if block and finds the break statement
break statement breaks out from inner most loop block, that is while j < 11 code block
so it jumps out of while loop and prints "I am free J=3"

Shilpa64 Algohack
'''

Decimal to Roman Numeral Algorithm in Python


Problem :
Write a method that when passed an integer between 1 and 3000
returns a string in Roman numeral.
4 should return 'IIII'.

Hint: Use the integer division and modulus methods.
Roman Numerals : I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000

Objective : Convert a decimal number to a roman number.
Source( #1millionwomentotech)

This is a python solution for the problem

import math

d=0
while ((d > 3000) or (d==0)):
      d=int(input("Enter number 1-3000 :"))

rn=""

#our rules = [M => 1000 , D = 500, C => 100,  L => 50, X = 10,  V => 5, I => 1]   

decimal=[1000,500,100,50,10,5,1]
roman=["M","D","C","L","X","V","I"] 
i=0
for n in decimal:
   if (d==9) : 
        rn=rn+"IX" 
        break
   if (d==4):
        rn=rn+"IV"
        break
   
   q = math.floor(d/n)
   r= d % n
   rn=rn+ (q *  roman[i])  
   d=r
   i=i+1

print(rn)

The important question is how did we get it ?
I think it's worth learning.

Method:
We need to develop an algorithm to solve this problem.
An Algorithm is a sequence of steps to solve a problem. In each step we get closer to the solution.

Now We have to break the problem to small tasks to solve it.
Each task handles a part of the problem. It take inputs, process and output something.
The next task takes that output as an input, process and output something for the next task.
The input > process > output > input > process > output > input ...... goes on until all tasks are done.
We build the solution completing each task.
Each task may need few steps .
These steps are our lines of code.
Finally we may have the found the solution.
Remember in programming we find solution not at once. It is step wise.
 
What is important is identify problem and tasks to solve the problem.
Think it as a workflow.

Imagine flying from Fiji Island to small city in Cape Town. It is not one stop.
Multiple stop, flight cancellations, delays and all problems can come.
There always can be better ways.
This is my way!

1. Design Manual Algorithm
Think about how we would like to do it on paper. Describe It first!
I picked 2669 because it satisfies all Roman numerals.

2, Look at 2669 like an ancient Roman.
For a fellow Roman this number is made of  1000+1000+500+100+50+ 5+1+1+1+1
So what we have to do is break 2669 to 1000s, 500s, 100s, 50s, 10s, 5s and 1s.

3.0 Our Tasks

Step 1: Find how many 1000s in the number given.
Initial number = 2669
Since 2669 >= 1000 ; The initail largest base value is 1000
Divide 2669/1000. Quotient = 2, Remainder =669.
So the symbol M will be repeated twice.  M * Quotient
MM

Step 2: Find how many 500s in the remaining number
Now we convert remainder 669
1000 > 669 >= 500 ; The base value now 500.
Divide 669/500. Quotient = 1, Remainder =169. The symbol D repeated once. D * M * Quotient
MMD

Step 3: Find how many 100s in remaining number
Now we convert remainder 139
500 > 169 >= 100 ; largest base value is 100.
Divide 169/100. Quotient = 1, Remainder = 69. The symbol C repeated once.
MMDC

Step 4: Find how many 50s in remaining number
Now we convert remainder 69
100 > 69 >= 50 ; largest base value is 50.
Divide 69/50. Quotient = 1, Remainder = 19. The symbol L repeated once.
MMDCL

Step 5: Find how many 10s in remaining number
Now we convert remainder 19
50 > 19 >= 10 ; largest base value is 10.
Divide 19/10. Quotient = 1, Remainder = 9. The symbol X repeated once.
MMDCLX

Step 5: Find how many 5s in remaining number
Now we convert remainder 9
10 > 9 >= 5 ; largest base value is 5.
Divide 9/5. Quotient = 1, Remainder = 4 The symbol V repeated once.
MMDCLXV

Step 6: Find how many 1s in remaining number
Now we convert remainder 4
Divide 4/1. Quotient = 4, Remainder = 0 The symbol I repeated four times. IIII
MMDCLXVIIII

4. Fix Unexpected Problems:
Oh! our flight is not direct to the small city.  Tts an island, we have to take the boat and a car too.

Decimal 4 and 9 are represented in Roman numerals as IV and IX
Our algorithm gives IIII or VIIII . Roman's will not buy our program.
So we need a fix step 5 and 6 with some conditions

if remainder is 9 use IX
if remainder == 4 use IV

Use the algorithm and convert 0, 1, 5, 7, 10, 11, 25, 51, 105, 551, 1056, 2005 to Roman on paper.
You can convert any number to Roman in paper now.

Now lets write the algorithm in pseudo code as we did it manually.

Pseudo code is the steps we take to solve the problem, its not a programming language.
Pseudo code is not a standard, its English and math based description of how we intend to program the solution. This is my style. You can write it in your own way.
What we actually do is document the steps we did manually that way computer would do it.

rn=""

if not d <=3000  or d = 0 ask again 
let d= 2669
#floor gives quotient of a division  floor(7/2) is 3
q = floor(d/1000) => 2 * 1000 => 2 * M
#% is modular division  5 % 2 is 1
r= d % 1000 => 669
rn="MM" 

if r >=500 :  

d=r= 669
q = floor (d/500) => 1 * 500 => 1 * D
r= d % 500 => 169
rn="MM"+"D"

if r >= 100

d=r= 169
d = floor(d/100) => 1 * 100 => 1 * C
r= d % 100 => 69
rn="MMD"+"C"

if r >= 50

d=r= 69
d = floor(d/50) => 1 * 50 => 1 * L
r= d % 50 => 19
rn="MMDC"+"L"

if r >= 10

d=r=19
d = floor(d/10) => 1 * 10 => 1 * X
r= d % 10 => 9
rn="MMDCL"+"X"

if r >= 5

if r ==9 rn = "MMDCLX"+"IX"
else
d=r
d = floor(d/5) => n (1 or 0) 
    r= d % 5 => r1
    rn="MMDCL"+"V" 

if r >=1 
if r ==4 rn = "MMDCLX"+"IV"
    rn="MMDCL"+"I" * r 

Now test out few numbers again.
Do 0, 1, 111, 245, 1500, 2999, 3000, 3001 manually on your pseudo code to make sure.

If they works out, this seems to be our algorthm to solve the problem in steps.
This does not have to be perfect.
Because we never run pseudo code on a computer.

Now lets develop an algorithm for the computer.

First study the repeated patterns in manual algorithm.

To write python code we need to know about
They are our ingredients to code the solution.
Lists, List Elements, Iterating lists with for loops and breaks, Strings, integer division and modules operator, input and output function.

How do we represent base data and rules ?
our rules are [M => 1000 , D = 500, C => 100,  L => 50, X = 10,  V => 5, I => 1] 

our rules can be represented in two lists
decimal=[1000,500,100,50,10,5,1]
roman[M,D,C,L,X,V,I]

if number is bigger than 0 or  bigger than 3000 ask again
d=input a number
rn=""  initial roman number is empty 

We can see a loop in calculation part
i=0

for n in decimal[...]  here we process the list
   if d==9 rn=rn+"IX" break 
   if d==4 rn=rn+"IV" break
   #floor gives quotient of a division we know how many 100s when we do 350/100
   q = floor(divide d/n) 
  #  %  is modular operator gives a remainder of a division
   r= d % decimal[i] => 669 
   rn=rn+ q *  roman[q]  # build the roman number string
   d=r
   i=i+1

print(rn)

Now code your idea in python or in any other language.
This is how I teach kids to code algorithms. May suit aspiring beginners.
If you like this, I would write more lesson plans for your home work.

2 Mar 2018

පාසල් ICT අධ්‍යාපනයට කුමණ පරිගණක භාෂාව භාවිතා කළ යුතුද?


6 වන ශේණියේ සිට ICT ඉගැන්වීමට අධ්‍යාපන අමාත්‍යංශය ගත් තීරණය ඉතා වැදගත්. එහි විශය නිර්දේශයේ පළමු මොඩුලයේම embedded devices අැතුලත්. 9 වන ශේණයේ ඇලොගරිතම ඇතලත් උසස් පෙළට IoT එකතු කර තිබෙනවා.මේ අනුව ප්‍රථම දිනයේම ළමුන්ට coding හඳුන්වා දීම වැදගත්.

මෙහිදී හුඟක් ගුරුවරුන් අහන ප්‍රශ්නයක් මේ සඳහා කුමණ පරිගණක භාෂාව භාවිතා කළ යුතුද යන්න. දැනට තිබෙන ICT නිර්දේශය අනුව සඳහා පැස්කල්ද උසස් පෙළට පයිතන් තිබුනත් ඇලොගරිතම මට්ටමට ගැඹුරු නැහැ. එමනිසා අනිවාර්යෙන්ම එය ඉදිරියේදී වෙනස් වේවි.

ළමුන්ට පරිගණක භාෂා හඳුන්වාදීමට පෙර syntax error නොඑන scrath, ගනිදු, microbit coding හඳුන්වාදීමෙන් ආරම්භ කරන්න පුළුවන්. ඇලොගරිතම සඳහා පරිගණක භාෂාවක් භාවිතා කිරීම පහසුයි.   මෙහිදී අපට pascal, c, java, python, php යන භාෂා සලකා බලන්න පුළුවන්. පැස්කල් සම්බන්ධව තිබෙන විවේචනය එහි අනාගත භාවිතාවක් නැතිකම. ඒ වගේම 64 bit පරිගණකයක පැස්කල් භාවිතා කිරීම නොගැලපීමක් වීම.

c පරිගණක භාෂාවල රජු. එහි ගැටළුව සංකීර්ණ භාවය සහ c කේතනයට ඉක්මනින් හුරුවීමේ අපහසුව. නමුත් Arduino කරන සිසුන් c භාවිතා කරනවා. c++, c# වටිනාකමක් තිබෙන භාෂා. භාවිතා රැසයි. නමුත් පහල පංතිවලදී ඉගනීමට සංකීර්ණ වැඩියි.

Java සම්බන්ධව කිව හැක්කේ එය වෘත්තීමය කටයුතු සඳහා සුදුසු සංකීර්ණ භාෂාවක් බවය. එය oop සඳහාම නිර්මාණය වී ඇති නිසා, ළමුන්ට oop සංකල්ප ඉගැන්වීමට සිදුවන බවය. ව්‍යුහගත කේතන ක්‍රම හඳුන්වා දීම ඉතා පහසු නිසා oop ක්‍රම භාවිතාවන java පාසල් ළමුනට ඉතා අමාරු විය හැක.

php වෙබ් තාක්‍ෂණයේ ගැඹුරට භාවිතා වන අතර, python, java script සමග ඉතා හොඳින් භාවිතා වෙනවා. නමුත් ලබාගැනීමට පහසු debugger එකක් නැතිවීම පරිගණක ක්‍රමලේඛන සංකල්ප හා ඇලොගරිතම ඉගන්වීමට සුදුසු නොවේ. එය වෘත්තීමය කාර්යයන් සඳහා වඩා සුදුසුය.

python පරිගණක භාෂාවක් ලෙසත් කේතනයට පහසු idle පරිසරය නිසාත්, iot, web, data communications, information security යෙදුම් නිසාත් අනාගත මානව සංවර්ධන ආයෝජනයකට වඩාත් සුදුසු බව මගේ අදහසයි.

මේ වසරේ සිට IoI සඳහාද python ඇතුලත් කර ඇති නිසාත්, MIT ඇතුලු ලෝකයේ බොහෝ විශ්ව විද්‍යාල python ඉගැන්වුම් භාෂාව ලෙස තෝරාගන තිබීමත් අපට හොද මගපෙන්වීමක්. කෙසේ උවද සමස්ථ විශය නිර්දේශය හා අනාගතය ගැන සළකා බලන විට ළමුන් එක පරිගණක භාෂාවකට වඩා ඉගනීම ඉතා සුදුසුයි. මෙහිදී අප සලකා නොබැලූ java script අනිවාර්යෙන්ම එකතු විය යුතුයි. එය දැන් client සහ server දෙපසම භාවිතා වනවා විශේෂයෙන් IoT වලදී. 

microbit java script, python, c තුනෙන්ම කේතනය කරන්න පුළුවන්. Arduino c මගින්ද, Raspberry Pi pyhon, c, javascript, java සැම මගින්ද කේතනය කරන්නට පුළුවන්. මේ අනුව පහළ සාමාන්‍ය පෙළට microbit ද, සාමාන්‍ය පෙළට Arduino ද, උසස් පෙළට Raspberry Pi ද ඒවාට අදාල ක්‍රමලේඛන භාෂාද හඳුන්වා දෙන්නේ නම් ළමුන්ටද , රටටට ඉතා හොඳය. ඒ මගින් අනාගත IoT ක්‍ෂේත්‍රයේ ලෝක නියමුවකු වීමටද අපේ රටට මග පාදනු ඇත.

එමනිසා මුලදී පරිගණක භාෂාවක් නොවන coding blocks භාවිතා වන scratch, microbit වලින් ආරම්භ කර, ළමුන්ගේ ඉගනුම් හැකියාව අනුව python සහ c භාවිතයෙන් ඇලොගරිතම ඉගනීමට යොමු කිරීම සුදුසුය. මේ සඳහා සුදුසු පොත පත හිඟකම මගහැරීමට දැනටමත් microbit, arduino, raspberry-pi කේතනය සඳහා AlgoHack ව්‍යාපෘතිය යටතේ මුළ සිට coding, python සහ c අත්පොත්  පෙළක් මේ වන විට ශිල්ප සයුර විසින් නිම කරමින් සිටින අතර මූල්ම පොත් දැනටමත් නිකුත්ඔ කර ඇත.

මැතකදී Hacker Rank කළ පර්යේෂණයකින් හෙලිවී ඇත්තේ වැඩිම දෙනකු භාවිතා කරන භාෂාව Java Script බවය. ඒ python දෙවැනි තේරීම වූ අතර c++,c# තෙවැනි තේරීම විය. මේ අනුව ලෝකයේ නව තාක්‍ෂණිකයින් බොහෝමයක් Java Script, python හා c++/c# කේතනය තෝරාගන්නා බව පෙනේ. 

java script, python හා c ප්‍රධාන කේතන භාෂා ලෙස පාසල් ICT අධ්‍යාපනය තුළ භාවිතා කිරීමට ඔබත් එකඟද?