Tuesday, 19 November 2019

Introduction to Flowchart

A flowchart is a formalized graphic representation of a logic sequence, work or manufacturing process, organization chart, or similar formalized structure. The purpose of a flow chart is to provide people with a common language or reference point when dealing with a project or process. It also works with psedocode to understand the algorithm in a graphical way.

Here is the list of shapes and their representation in the flowcharts.

Top Benefits of Flowchart

1. Visual Clarity

2. Efficiency Increase

3. Effective Analysis

6. Problem Solving

7. Proper Documentation

Wednesday, 13 November 2019

Introduction to pseudocode

Pseudocode is a simple language written in plain English and can not be executed or compiled. But explains the algorithm and resolution for a problem.
Actually I pseudocode is not a programming language. But it helps us to define the algorithm through a programming language.
The pseudocode should be rewritten by a programmer using a programming language to execute the code. Pseudocode really gives the idea of the algorithm, we can rewrite it in any language.

If the programmer should rewrite it, why do we need a new language?
Because…
Although it is in simple English, it is easy to understand. It's that much simpler. None programmers also can understand the code. 
I like to list some of the advantages of pseudocode.within programmers also other is language problem, pseudocode helps to have a good understanding of the algorithm. 
Because pseudocode is not itself an actual programming language, it can be used with any language. So it is a language-independent.
And it adds efficiency of the code most of the mistakes were made during planning. So fewer problems will be found during coding.
There are some alternatives to Pseudocode. Some of them are Flowcharts, drakon-charts and Unified Modified Language (UML) charts.

Keywords of pseudocode.
Keywords are the words that can be worked as commands or parameters. Every programming languages have their own keywords. 


START: This is the start of your pseudocode.
INPUT: This is data retrieved from the user through typing or through an input device.
READ / GET: This is input used when reading data from a data file.
PRINT, DISPLAY, SHOW: This will show your output to a screen or the relevant output device.
COMPUTE, CALCULATE, DETERMINE: This is used to calculate the result of an expression.
SET, INIT: To initialize values
INCREMENT, BUMP: To increase the value of a variable
DECREMENT: To reduce the value of a variable
(Source - blog from usejournal.com)

There also some arithmetical and logical keys
  1. + to add
  2. - to minus
  3. x to multiply
  4. / to division
  5. Mod to reminder
  6. And to and gate
  7. Or to or gate
  8. Not to not gate
Comparison keywords 
  1. =  is equal to
  2. ≠  is not equal to
  3. >  Is greater than
  4. < Is smaller than
  5. ≤ is smaller than or equal
  6. ≥ is greater than or equal

Thank you for your attendance, found anything good.. leave it in a comment.
Anything to improve… leave it in a comment…





Tuesday, 12 November 2019

Introduction to Node.js

As we have seen in the JavaScript's post, we have discussed that it can be executed in any browsers.
Node.js is a JavaScript runtime environment that executes the JavaScript code outside of browsers. Node.js let's developers use JavaScript to code backend, serverside to produce dynamic websites.
There are many top companies use node.js. GoDaddy, LinkedIn, IBM, eBay, PayPal and many more prefer node.js.
Node.js is well known for real time applications. Like chat applicatins, streaming servers, games and much more. 

Over the years, most of the applications were based on a stateless request-response framework. In these sort of applications, it is up to the developer to ensure the right code was put in place to ensure the state of web session was maintained while the user was working with the system.
But with Node.js web applications, you can now work in real-time and have a 2-way communication. The state is maintained, and either the client or server can start the communication.
( Thank you guru99.com)

Ya. In my words I could say node.js works like full duplex communication system.

Frequently asked questions about node.js.(from w3 schools)
What is Node.js?
Node.js is an open source server environment
Node.js is free
Node.js runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)
Node.js uses JavaScript on the server
Why Node.js?
Node.js uses asynchronous programming!

A common task for a web server can be to open a file on the server and return the content to the client.

Here is how PHP or ASP handles a file request:

Sends the task to the computer's file system.
Waits while the file system opens and reads the file.
Returns the content to the client.
Ready to handle the next request.
Here is how Node.js handles a file request:

Sends the task to the computer's file system.
Ready to handle the next request.
When the file system has opened and read the file, the server returns the content to the client.
Node.js eliminates the waiting, and simply continues with the next request.

Node.js runs single-threaded, non-blocking, asynchronously programming, which is very memory efficient.

What Can Node.js Do?
Node.js can generate dynamic page content
Node.js can create, open, read, write, delete, and close files on the server
Node.js can collect form data
Node.js can add, delete, modify data in your database
What is a Node.js File?
Node.js files contain tasks that will be executed on certain events
A typical event is someone trying to access a port on the server
Node.js files must be initiated on the server before having any effect
Node.js files have extension ".js"

Gavel club

Gaval Club is a club that helps us to improve our English skills.
Gavel clubs are a way of providing Toastmasters’ self-improvement methods and materials to people who may be ineligible for regular membership due to age, inability to pay dues or other circumstances. Gavel clubs provide Toastmasters members and clubs with an excellent opportunity for community service. They can be found in high schools, colleges, rehabilitation institutions, hospitals and elsewhere. (Thank you university of kelaniya gavel club)

Responsibilities in gavel club

SERGEANT AT ARMS ( SAA)
The Sergeant At Arms is responsible for keeping and maintaining club property. 

AH COUNTER
He is the person who is counting the speakers ah, mm, long pause and short pauses. So that every speaker would be able to make themselves upgrading always. And also they can evaluate themselves 

TIMEKEEPER
 This gavelier is the person who manages the time. He remained the speaker about the time limits by displaying cards.

GRAMMARIAN
Grammarian is the one who looks after all the speaker's grammar mistakes and gives a report about every speaker at last.

TABLE TOPIC MASTER

It is a responsibility to conduct the table topic session. Give them the topic and organize the event is his responsibility.

GENERAL EVALUATOR

The General Evaluator carefully watches and listen to the whole meeting. He should give his all over report at last.


Below are the five advantages we, as students, get from gavel club.

Combat Fear
The fear to speak in front is a great obstacle for many to show up their talents. As IT students we need to speak in front to e put forward our project and in many situations. So gavel club helps us to beat up all the fears around public speaking.

Build Confidence
Confidence is the main key to success. To stand forward and say 'yes! I can make it'. The level of confidence will be definitely increased by gavel club.

Sharpen Leadership Abilities

Uki trains the students not only to become a developer, but it also feeds the students to be the next leaders. Gavel club also helps every student to be a good leader.

Improve Improvisation

To face any of the challenges in front of everyone without expecting…. Oh, that's a hesitating movement. But gavel club gives us the skill to perform anything spontaneously.

Introduction to Javascript


JavaScript is a high level interpreted scripting language. Here high level is defined by a programming language that have English words in it with all computerised words.

The main question many beginners asks, whether Java and JavaScript are same? Because of their names sounds similar most of them thinks both have a great connection. But we should understand that there is no connections between Java and JavaScript. It is architecturally, functionally different. As like car and carpet sounds similar there are no connections and similarities. 

The main role of JavaScript is to make a website alive. HTML is the language that helping us to build the structure and the elements of the web page. And CSS helps us to beautify the elements and design the element.

But Javascript gives some functions like pop up messages, small games, simple animated elements etc.

For most of the languages we should install it compilers and interpreters to run the source code for it. But in Javascript this doesn't needed, because all of our browsers run Javascript.

The extension of JavaScript is JS. The Javascript file will be like “filename.js”.
There were so many frameworks have been created based on Javascript. For example Angular, Vue.js, React.js, Note.js and much more..

The Usage of Javascript.

Web development - Javascript is plays a leading role in both front and back ends. JavaScript based frameworks also in a great way in the web development industry.
Web application – Javascript is a great tool to build web applications too. To run a server based programmes most programmers prefer Javascript.
Server application – Javascript helps us to build and to run a server based application.
And smart watch application, games, presentations, and many more…

Here I like to share 2 sample keywords used in Javascript.

First one is the var keyword, which means variable.
To declare a variable we should type like follows
var (identifier) = (value);
identifier is a name for the variable to call it anywhere,
value is the content of that variable we are going to assign.

The second is comment
All the words in the code will be read by the computer, but here we say the computer ‘Hey this is for me not for you… :)’. Simply a content that only programmers can read, which a machine couldn't read.
To comment something we have to use ‘/’ twice and then we can write our comments.
Var x = 6; //here I have assigned 6 to the x variable

Monday, 11 November 2019

Understanding Programming Languages


In this post we are going to discuss about Programming language.

What is a programming language?

As we discussed in the last post we communicate with computer with the help of Interpreters and compilers. Here the programming language is refers to a language that helps us to interact with computer using compilers or interpreters. According to Wikipedia A programming language is a formal language, which comprises a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms.
Few  programing languages

Why are there so many programming languages.

As we know there are many programming languages in all over the world. And still there are languages invented and launched for the world. So here question arise ‘why do we need all these languages instead of one?’. I could say for example there are so many types of vehicle all over the world. Cycle, Motor cycle, Car, Three wheeler etc. But still there are inventions and researches all over the world to make something new in model, usage and many more.
Here from the example we can understand not a single vehicle couldn't fulfil all our needs. The work a bulldozer does couldn't be done by a car. So there are many. 
Same wise programming languages too have their tasks and purpose they made for. And special features are coming on the way so we need more languages to fulfil the tasks.
Lets see the main three divisions of full stack development and the languages used for that purpose.

Front-End Development

Front end means a side of a website which a user can see.It deals with the design and interface. For example all the images, text alignement, backgrounds and many more. HTML, CSS and Java script are the three main languages used in Front end development.

Database

Database management is the other main part of web development. The storing, reading and changing data are considered in this side. Languages like Mongodb, Mysql and many more.

Back-End Development

Back End deals the interaction between front end and the database. For example if you click drafts in your email account, you get all the draft emails that already saved in a server database. Designing and developing that type of functions and the things known as Back end Development.

Programming fundamentals


In this post lets discus some of the programming fundamentals.

What is a computer?

When our instructor asked the same question in our class there were dozens of answers were arising.
It is a machine, where we can save data.
It is an electronic machine that simplify our work.
Were some of the common answers.
But we could say Computer is a programmable machine. This means it can execute a programmed list of instructions and respond to new instructions that it is given.
And the main function that a computer does is to process a set of data and make it to a valuable information. 

Computer is a machine and it doesn’t know any humans language. As we discussed earlier we have to give the instructions to the computer to make the things happen.
Compilers and Interpreters are the components that help us to fulfil the task. We know languages, But if any time comes to speak with a person who doesn’t know any of our language we could use a person who could speak both of our language to translate the conversation. The same job is done by compilers and interpreters. It stands between us and the machine, which is a computer, and translate our commands and instructions.

What are interpreters and compilers?

Although both are doing the same thing there are several differences between them.

Translation

Interpreter translates the code statement by statement. But compilers translates the whole code at once.

Time

To analyze the code Interpreter take a short time, While compiler take a long time. But to execute the code compiler is faster than interpreter.

Memory

When we talk about memory interpreters does a good job, because compilers read the whole source code into an object code. So compilers consume memory. But interpreters doesn’t create any object code, so interpreters are memory efficient.

Debugging

Debugging is correcting the errors in a code. Interpreters stop the execution when the first error found. So it will easy to debug, But Compilers read the whole document and states all errors so difficult to debug, comparing to interpreters.

Languages

Python, Ruby and some other languages use interpreters. C, C++ use compilers.
**Some languages use compilers and interpreters both.

I hope you may get some knowledge about interpreters and compilers. 
In the next post we shall discuss about programing language

Sunday, 10 November 2019

Starting some Code.


Terminal

It is a command line interface for Ubuntu so here we are going to discuss some of the commands we use in terminal.
To use the commands first we should open terminal. Just go and search terminal in ubuntu and there you will get it

Now you can just type any codes and hit enter. You are in the root directory. In Ubuntu folders we call directory. The first command is ‘ls’ ls is the command used to list all the files in the directory.


The second command is cd(space)(directory name) it is used to enter into the directory. Which is like double clicking on a folder. 
Here the lower case and upper case should be considered. And cd stands for change directory.
The next command is cd(space).. it is used to go previous directory.
The other command is cd. It will take you to the root directory

lets make a small chart to list some basic commands
Commands Function
mkdir(space)(filename) Make new directory in given name.
touch(space)(filename) Make new file with given name here we should mention the extension. For example touch hello.html
Rm (space)(filename) Remove file
Rmdir (space)(filename) Remove directory
clear It is a keyword that clear the screen.
There are so much more..

GNU Nano  

 

The other software we got to introduce is nano text editor.
It is a text editor written in c language. It is also known as GNU nano.
It is very good tool for beginners to start their coding with. It is a keyboard oriented text editor. There will be no graphical users interface will be displayed so It is important to know control keys. It is different from all the slandered shortcuts. Lets see some of them.
*To open nano open up your terminal and type nano and then hit enter..
Short cuts Functions
Ctrl + O Saves current file
Ctrl+ W Goes to the search menu
Ctrl + G Gets the help screen
Ctrl + X Exit from the editor
Ctrl + J Justify the current paragraph
Ctrl + U Uncut similar to past
Ctrl + K Cut
Ctrl + C State the cursors point (which column, which line and which place)
Alt + E Redo
Alt +U Undo
Ctrl + N Next line
Ctrl + R Read file just like open. If you want to open the next file you should close the editor and then again you got to read it otherwise the documents will merged together.
Ctrl + P Previous line
Ctrl + Y Go to screen full up
Ctrl + V Go to screen full down
Ctrl + T Spelling check
Ctrl + 0(zero) Standard zoom
Ctrl + 7 Go to a specific line

A great way to learn anything is just by making our hand dirt. So Just open nano in your computer and make your hand dirt.
Happy coding!

Great start with Ubuntu

Hi everyone,

Today in this post I like to share something about ubuntu.
Ubuntu may be a funny name for those who don't know actually what it is. It is a free and open source operating system. It is well known of its usage in Iot and in robotics. It is a great medium for cloud computing. It was released in three editions Desktop, Server and for Core.
It was invented and designed in 2004 and funded by canonical Ltd.
The secret behind the name ubuntu is revealed. It was named after the African philosophy of ubuntu which canonically translates “Humanity to others” or “I am what I am because of who we all are”.(thank you wikipedia)
Now lets see why Ubuntu is still remembered as an operating system.
The first thing is the pre-installation of necessary softwares. Here are few softwares that have pre installed in Ubuntu LibreOffice Writer, LibreOffice Calc, LibreOffice Impress, Firefox, Thunderbird and many more.
Security is the another major advantage of Ubuntu. Most developers prefer Ubuntu because of high security.
And lesser system requirement is enough to install ubuntu. For example to install ubuntu 16.04, 700MHz dual core processor, 512MB of ram and 5Gb of free disk space is enough. To install Ubuntu.
And another advantage regarding ubuntu, it can be used without installation. Hope it will be a great part of ubuntu. It is not important to install Ubuntu to have an user experience. We could easily run without installation.
There are some disadvantages too. Lets discuss some of them.
First of all the user interface. While shifting from Mac or Windows we may not like the interface on the first sight. Might be take time to get familiar with it. And for beginners it is little bit difficult to handle the terminal too.
The second big problem is this is not for gaming and entertainment purpose. It doesn't offer great features for them. But anyhow they feed the basic needs like playing songs and small games.
So all of all it is very much useful for us as developers. And gives us a great security.
In the next post we shall discuss about the main commands in Ubuntu.

The tools used in Uki


Here in this post we are going to discuss about Slack, Trello, Blogger, Google Classroom, Klavaro, and Grammarly

Slack

 

Slack is a cloud based instant messaging platform. Although it is just 6 years old it has more than 10 million active users from more than 6 laks organisations located in more than 150 countries. Slack offers us persistent chat room named as channels which organised by topics. Direct messages also possible here. Files and codes can be shared with slack.
Anyone can join in a workspace(a team organised for a specific task) using a specific URL or with an invitation which sent by a team admin.
Slack also integrates with Google Drive, Tello, Dropbox, Git hub and many more.
There also apps available in mobile phones (android and ios). So now its possible to work at any time with slack. Notification feature of slack helps us to access our work easily.
For team work you can try slack. It is easy to start. Within minutes you can create a workspace and your team to get start your work.

Trello

 

Trello is a web based project management system. It helps us to make our work easier. It is designed in kanban styled. I think understanding Kanban style will help us to understand how trello works.
Kanban style is a method to fulfil our tasks in an organised way.
Lets imagine that we have three sort of work at home. First one is to make a small garden around the house. Second one is to send a job application to a company. And the other is to buy some stationaries for your sister. These are three types of work we have planed to do. So kanban style will help us to fulfil these with a great management. Making a small garden is a long process while sending job application is small. Although it can be posted when we go out for shopping.
Here we maintain a board which divided into three columns. Columns should be named as follows To do, Doing and Done. Then write our three tasks in a small cards and hang it on to do column. After starting the task we got to change the card to the second column. After the work or task completed the card should be shifted to the column named ‘Done’ .
So we can always watch our progress in each tasks. The same thing is digitally presented by tello. All the team members can check every tasks and make their way. The deadlines can be fixed to every tasks so that we can make it on time. We could share files with our team members. It is easy to start and to use.

Google Classroom

 

Google Classroom is tool that makes e-learning simple. It is a product of google. It gives us the facility to share studying materials, assignments and many things. It also integrates with Google Drive, Google Docs, Google Slides etc. So it creates paperless schools and classes.

Blogger

Blogger is another tool from Google which helps us to publish posts. Blogger can be compared to personal note book. So as we write notes in our notebook we can write something and post it. It can be seen from all over the world. Yes it will be published in the Internet. And also it is like a personal website which shares our knowledge. We can beautify our site by changing its themes. We can add beauty to our post by adding photos, videos, charts and many more.

Klavara

 

Klavara is a software available in ubuntu that helps us to learn typing. Many skills are wanted to be a developer. But more than everything we need to communicate with computers with keyboard Because it is the only way. For that We have to learn to use Keyboard. We could say ‘should be able to play with keyboard’. Here Klavara comes to help us. The instructions written step by step help us to understand the whole techniques of typing and make our fingers dance on keyboard.

Grammarly 

Grammarly is a digital writing tool using artificial intelligence. It allows us to check our grammar and spelling. It is an additional tool for us to learn English as well as new vocabularies and punctuations.

Please feel free to ask questions and comment your feedbacks.
I hope in the future I may introduce you many more tools. And stay connected.

Thursday, 7 November 2019

Getting Ready for the IT carrier


Today is our secound day in our programme. We learned many basic things how do IT company works and projects has been done in the real world. How do they communicate and much more. It will be a brief introduction to you to understand the real IT world.

Excercises

IT is a field always deals with computer. There Will be no hard work with the body but definitly there will be a harder work with the mind and someone called it brain. So to be a healthier person we should pay attention to our body fitness too. Excersise and meditation were main two things those will help us to maintain our physical and mental health in a good ratio.
The main platforms to be connected with

Slack

Slack is a cloud based instant messaging system. Which means it is a communication tool, using Internet. Simply as a metaphor we could say it like whatsapp. But having significant features for developers. Slack also provides a feature to share coding as plain codes. So it is very helpful for us to share our codes with our friends and teachers. Also we can learn and our mistakes can be found.

Trello

Trello the second tool we got introduced by our instructor. It Is a project management platform. In our daily life we use many things to remember the things we should do. For example we morn within our mouth when mum asked us to buy something from the shop. We put remainder in our phone to wish our friends on their birthday. Those are informal ways and just managing the things to be done. But in IT field or in any other companies single person could not remember all the works and their deadlines. So here Trello comes to help us. To manage all the projects and the dead lines. So no more “Sorry sir I don't know” or “I thought it was tommorrow”. Here we can publish the events and projects and make them know the deadlines too.

Google Classroom

This is a product of Google. As the products name said it is a classroom specially designed to make the e-learning into a Physical classroom atmosphere. It helps us to schedule and conduct classes also to share the studying materials. It will help us to be connected with the teacher and all the students in that same class.

Ubuntu

Honestly I was hating Ubuntu because of its interface, but after knowing the advantages really I fell love with it. Yes here I Want to discuss very few of them then you can understand why I said the above statement.
First of all it is an open source operating system. No cost is the greatest benefit and in fact wikipedia said updates of it is releasing within every six months.
Because of some technical issue I got to Uninstall Windows from my computer. But I felt no worries. Because I was eagerly waiting for Ubuntu.
And also our dream is to be a software engineers(no ref) we should get used to code and typing. Specially in Ubuntu the the way we make directories and files using terminal was wonderful. If you say not exactly I could say I enjoyed it. 
Another advantage in linux is most interpreters and compilers were already installed in linux based Operating system.
Programmers love Linux because of its versatility, power, security and speed. Versatility means can be changed as our wish.
Just for fun…Oh shish! An error message popup!
-On Windows- Uh, ok
-On Mac- Perhaps if I could upgrade to the newest version, this wouldn’t happen
-On Linux- Let’s see if someone has already solved the issue. Oh cool, there’s a hack! (copied from a Quora answer…)
10 basic commands for Ubuntu

Commands
Usage
ls It will list all the files in the directory
clear It will clear the terminal and gives us space
cd (file name) Change directory (go to the named directory)
cd .. Go backward
cd Go to the root directory
mkdir (name) Create a directory
touch (name + extension) Create a file with the extension
rm Remove a file
rmdir Remove a directory
tree Show all the sub directories and files in the directory.

So now I got to get used to these platforms to transfer my life...