Blog

What is SSD and HDD?

computer mainboard and memory slots

Information, data, reports, analysis, etc., these all things requires space to get stored in computers or electronic device. And those devices which stores information are called as Hard Disk Drives. Storage devices are of many kinds like Compact Disks, DVD’s, Universal Serial Bus, etc. But we are specifically focusing on HDD’s and later I would mention about SSD’s.

Hard disk drive’s were introduced in 1956 in International Business Machine (IBM). HDD’s have undergone many changes in terms of storage capacity in it. Initially they were introduced in less capacity compare to today’s HDD’s. The development and improvement of HDD’s have gone to a new level from few bytes to terra bytes in the present computers.

HDD’s are a sort of mechanical storage devices and they have magnetic heads in them. The drive is circular and have magnetic heads on platters. Platters are like concentric circular rings and each platter have magnetic heads on it. The arm reads and stored the data on this magnetic heads filling each platter one by one. The HDD’s are detachable and can be connected to other computer or laptop.

SSD’s (Solid State Drive) are like the upgrade version of the HDD’s in which the data is stored electronically without any mechanical movements in it. SSD’s are faster than HDD’s in reading, storing, retrieving data. The concept of SSD’s is similar to USB’s storage of data but USB’s are portable and easily could be connected to other laptops where as SSD’s are soldered on the computer’s motherboard for efficient performance.

These are the two common words and often you guys heard of it. Just to make you understand in simple way, I have written this post. One advice, when buying a laptop or computer, it is better to have SSD’s as the primary storage device for your laptops as it is much faster and efficient when compare to HDD’s. They are quite costly but a worth to buy it for the speed and good performance.

I hope guys liked this post. If you have any queries please comment below. Also, like, and share. Thanks.

Advertisements

Data Structures and its importance.

steel frame building structure

Data Structures is an important concept in regards to storage and retrieval of data. Before giving a brief description about data structures, I would like to break it down these two words and explain them accordingly.

A data is the raw fact, abstract information, analysis, about anything. A data in terms of technology could be understood as files, images, videos, etc., which is stored on a disk in the computer.

Structure in general, defines the connection of various parts, elements, things, to form a proper abstract body with strong foundation. In computer terminology, structure could be understood as the defined procedure or format for storing files or data which is present in the computers or any other electronic device.

Now coming to data structures. Data Structures is the concept designed for the proper management, storage, process, and retrieval of the data whether the data be in a computer, network, storage systems, programs, hard drives, remote, etc. So, as the data structure can be seen in these sections of IT, it is very crucial to have in almost every unit of IT where data is stored and managed. Below are the points where it could be easy to distinguish where data structures is used.

Operating System – An OS have its own way of organizing files and managing them. An instance  of Windows OS “C: drive”, where all the OS files get stored accordingly. Deleting any of these files could lead to damage of the OS depending on the nature of file. Windows OS also has its own file storing system called NTFS, FAT32 systems which gives users an option to choose among these two.

Programming languages – Programming languages also have data structures so that the software developers could write the programs by having control over the data. For example, Arrays, list, stacks, queues, containers, tress etc., are the data structures in Java programming language.

Networking – Data structures is also used in networking for routing purposes. Routing means defining and establish connection between devices. The ‘Graph’ concept of data structures is used in networking for routing.

Databases – Data structures is also used in databases like indexes, tables, views, etc., which eases the storage, insertion, deletion, updation, etc in a proper and efficient manner.

Data structures is a huge concept and is very important in almost every place where data is mentioned. Programmers should have a deep understanding of data structures in order to write efficient codes. Without data structures a programmer could be able to solve complex problems. Along with data structure, algorithms also plays an important role in providing the procedure and approach for a problem.

These above are the examples enough for understanding the basic concept of a data structure. Hope you guys found this post meaningful. Please let me know if you have any queries. Thanks. Keep Sharing 🙂

Machine, Assembly, and High Level Languages.

cogs-453036_640

Computers are a part of our life’s and we do thousands of tasks with the help of it. As we give the instructions to a computer or a device which computes like mobile, cellphone etc., the device immediately responses to our questions within milliseconds with perfect output. This quick response is the magic of all the languages which collaborates, interacts, translates inside a system and produces the result. So, this post going to give some brief explanation of the languages which a computer executes in its environment for performing tasks. There are three languages for a computer to work. Following the languages are,

  • Machine Level Language.
  • Assembly Level Language.
  • High Level Language.

 

Though I have given the first name of machine level language, but for making you guys understand in simple terms, I would be starting from bottom which is High level Language.

High Level Language: Human beings requires languages to communicate with each other. Without languages it is impossible to communicate, understand, and interact with people. Thus, for a user to interact with the computer, the computer should also able to accept the instruction in the language which the user is writing and process it. The reason for creating the high level languages is that the user could be able to write the software in such a way that is human readable. Any user can understand that language and write the code. Example of High Level Languages are Java, C, C++,Python, and many more which are design in the human readable format. Let us analyse a simple java code.

public void add()

{

int a,b,c;

a=1,b=2;

c=a+b;

System.out.println(c);

}

The above code is so simple, that any user can read and understand it without any additional efforts. Whereas the computer does not understand the code but it accepts as the input and process it further before getting the final output.

Assembly Level Language: Before explaining the assembly level language, I would like to give a sample code of it.

Example Code:

MVI A 2H, COPY VALUE 2H IN REGISTER A;

MVI B 4H, COPY VALUE 4H IN REGISTER B;

ADD B; A=A+B …….etc.

The above code is for adding two values. But it is quite difficult for a normal user to understand the logic, structure, and its flow. Thus the job of the computer after taking the input in the high level language from the user is to translate it in the assembly level language from which the input gets decoded in the form of instructions which runs through hardware. So, the assembly level language is designed to control hardware of the computer like chips, processors, circuit boards, memory etc.

Machine Level Language: After the instruction is decoded in the assembly level, the hardware accepts it and breaks the instructions in the form of lengthy 1’s and 0’s which are called as bits. Bits are the sets of 1’s and 0’s which could be said as the language which a machine understands and does its job. I would like to give the example of machine level language which is only in 1’ss and 0’s and impossible to write instructions with it.

Ex: 00000101010000101010 – this instruction could be simple math digit or an alphabet representation in the machine form.

1001010100000010 – this could be an instruction for some added values. Just for example.

Hence the hardware of the computer carries only these sets of instructions right from the computer is turned on to shutting it down.

That’s the mechanism of working of a computer with all these three languages working simultaneously within fraction of seconds.

I hope you guys found it easy to differentiate the languages and got a clear picture of it. This post is for beginners. Thanks and if you have any queries please comment it below. Keep sharing 🙂

 

Some vocabulary of Computer world and definitions.

tech

There are thousands of words and terms in computer science to understand. But as for dummies, I guess the below words are enough. It is obvious that students will get to know more about complex definitions as they study higher level courses in computer science. To be precise and simple, I have chosen only few words with their definitions.You may see these words in the other posts.

Server: A server acts as a junction to bunch of computers which are connected to it through cables. A server stores information, processes it and sends it to clients. It also accepts the information from the client. A server can be connected to thousands of computer irrespective of geographical area.

Client: A client is a computer at the other end of the server which communicates to it. A client in simple term can be taken as a user with a single computer. For an instance, a person opening a website on his computer could be called as a client and the website which is stored on the other end can be called as server.

Website: A website is a page written in HTML with other supporting languages and stored on a server. A website can be viewed from any corner of the world when it is available on the server through internet.

Internet: International Network.

LAN: Local Area Network. A LAN is connected to the Internet for accessing internet connection with the world from a computer.

WWW: World Wide Web. Any website starts with ‘www.’ which means the website is available through the entire network of computers present on the internet.

Protocols: Protocols are the set of rules written and assigned so that the flow of information takes in a fine manner. The main intent of writing protocols is that the information and content available in the computer world should not breach any government law, which includes property, privacy, etc., of any individual or an organization.

HTTP: Hyper Text Transfer Protocol. As you guys understood the word ‘Protocol’, HTTP are the set of rules defined to monitor the flow of the information through websites and internet. You can see any website starting with http://, for example “http://gmail.com” which is a google mail website.

Networking: Establishing networks, maintaining, managing, cluster of computers with the help of cables across the globe or in a defined geographical area.

Algorithms: An algorithm are a set of processes or steps defined to solve any real world problem. The algorithms are one of the essential part of writing software. It gives the proper flow of approaching to the problem. In other terms algorithms eases the programming work. Complex as well as simple programs uses algorithms for effective output.

User Interface: An interface is nothing but the way an information and instructions is displayed to the users so that the user can interact with the system. A common example is the ATM machine. To operate any ATM machine, we can see that there are buttons, screens, numerical keypad, card insert slot etc. These all together comprises and forms the interface. Thus in the computers too there are interfaces through which we can operate it.

Command Base Interface: In the earlier days of computers, Operating Systems were based on commands. It means that, a user has to write a command to do a specific task. For an instance, to open a file it was something like that, ‘cd csitprofessions.txt’. Similarly to create a file, close a file, rename it, delete it, there were commands and so on. Hence, the user has to input his instructions to the computer to make it do that task.

Graphical User Interface: As the computers kept developing, the Operating Systems developed GUI’s for better interaction of the user with the system.
sf13_d0072pic2

An example of a GUI is the windows OS interface. Here you can see that there is a specific button for every different application. Thus a user without remembering the commands can operate the computer with ease.

Guys, these are the few basic definitions and I know I have to write more about different terms. I hope you got to know in a simple manner about these terms. These terms are very common and often we see it, but are unaware about it. Please provide your query if you have any questions about this post. Thanks.

Java and its editions.

oracle_java

Java is one of the most successful and powerful programming language created to write software which could run on desktop computers, mobiles, electronic appliances etc. Java is currently owned by Oracle Corporation, but before that it was under ‘Sun Microsystems’. Java is very extensive and used for numerous applications. In this post I would like to share about Java and its branches. I would not be mentioning about its history, creators, evolution etc., but will be simplifying this post so that complexity do not emerges while understand the java branches.

Java has the following editions.

Java SE (Standard Edition): Java Standard Edition is use to create desktop applications which are portable. It provides a great environment with the Java Development Kit (from Oracle) to write software codes. It has the core programming concepts through applications can be created which could help in accessing database, networking, security, and GUI (Graphical User Interface).

Java EE (Enterprise Edition): Java Enterprise Edition in simple terms is the platform in which applications of high scalability, reliability are created. Like software for industrial use which are heavy in performing operations like monitoring plants, controlling of automatic machines etc., by java programs. Java EE is built on Java SE, which means it is just like an extension with more programming environment which includes, java libraries, classes etc.

Java ME (Mobile Edition): As the word mobile clearly indicates that this edition is use for creating mobile device applications. In context to mobile devices, this could be a cellphone, remotely processing devices, PDA (Programmable Device Arrays), PLA’s (Programmable Logic Arrays), (PDA’s and PLA’s are the devices use in industries to operate machines remotely) etc.

JavaFX: This edition of Java is use to create rich internet applications. Here ‘rich’ is in context with those applications who are very interactive, dynamic, informative, and good looking. In simple words, this edition is a platform for creating web applications with simple java environment but with high performance.

I hope you guys have understood this post. If you google about java editions, you will get to know about different words and terms which you may find complicated in understanding these editions and uses. Thus, I have written in simple format so that you could just understand the basic point of every edition.

Please let me know if you have any questions on this post. Thanks.

 

Programming languages and its classifications.

programming-languagesThere are bunch of programming languages available in the software industry. Many languages have been invented earlier since the evolution of computers and got fainted as the new ones comes which were more productive. For example, FORTRAN, COBOL, are the predates languages. Among those languages, C programming language has been very popular since its invention. The extension to C language is called ‘C++ programming language’ which have again given birth to other languages with its fantastic concepts and structure of writing code. Anyways, the story keeps continuing about the languages. I would like to mention very few of the programming languages with their classifications which are a hit in the software industry.

Applications (software) Developing languages:

  • C
  • C++
  • Java
  • ASP .NET

 

Website programming languages:

I have stated earlier that the web programming languages are also called as scripting languages.

  • HTML – Hyper Text Markup Language
  • PHP – Pre Hypertext Processor
  • JavaScript
  • CSS – Cascading Style Sheets.
  • Python
  • Ruby

 

Mobile Applications Development languages: The development of mobile applications is at the peak in the market. There are many languages that is use to write code for mobile, but among those all, these two are very common and it is often seen on the list of jobs.

  • Swift (iOS) – iphone OS.
  • Android – Based on Java for android mobile phones.

 

I hope you guys liked it, I don’t want to increase the complexity of the post, so just mentioned few programming languages as this blog is for novice audience. Please let me know if you have any queries.

 

Different Sections of Computer Science and IT world.

With the title it seems this post going to be quite complex and difficult to understand its meaning. But this is not the case, this post will be explaining you guys about the different category of working sections in the computer world. Again, the entire blog is for freshers, hence I have written this post keeping those freshers or students who would like to know few terminologies about the software industry.

I will classify the basic working sections of software industry.

  1. Software Creations
  2. Website Creations
  3. Databases
  4. Networking
  5. Phone or Mobile Software
  6. Hardware Design

The above sections are the core working and job seeking sections in the software industry. There are numerous jobs under these sections but as I have mentioned this post is only for novice people, I will not make it complicated. So, beginning with Software Creations.

Software creation is nothing but writing software codes for solving any problem. In my previous posts, I have given the example of ‘Calculator’ which is very simple to term it as a software which carries out the mathematical applications. Hence, software programmers create thousands of software to help them ease their work. So in the world of computer science you could be creating software for real time applications using programming languages. To get the job as a software developer, you need to learn among these programming languages like, Java, C and C++, Ruby, ASP .Net. Some jobs which you could be heard or seen on the internet are,

  • Java Developers or Java Application Developers.
  • .Net Developer
  • Software Developer etc.,

 

Website Creations is also the work of a programmer. But here the programmer uses other languages which are meant only for creating websites. And these languages are called as ‘Scripting Languages’. Examples of website creation languages or scripting languages are HTML (Hyper Text Markup Language), JavaScript, CSS(Cascading Style Sheets), Python, PHP, AJAX, etc. These languages are the core website creation languages or scripts which are widely use around the world. Hence to seek a job in the web development area, you need to learn few of these scripting languages. Some of the required positions in the companies can be seen with this title.

  • Web Development
  • Web Application Development
  • Web programmer
  • JavaScript Developer etc.

You need to learn HTML, CSS and other few scripting languages according to the requirement to become a web developer. You can’t survive with only one scripting language for this job.

Databases, as mentioned earlier that the databases are the form of storage to the data, then the data needs to store, process, manipulate and maintained. In order to all these tasks, Databases are also required ‘Database Developers’ who creates data and processes it according to the program and stores in it. A ‘Database Developer’ should also learn some programming for logic purpose. The main course for a database developer is ‘SQL’ which is called as ‘Structured Query Language’.

To get the job as a database developer, you must and should learn SQL along with some programming concepts.

Networking jobs are quite different. Here you need to deal with lot of hardware instead of writing software. You need to work with hardware devices like Switches, routers, NIC cards, etc. (which I will explain in other post). While working with these devices you need to learn some networking concepts which covers the networking protocols, IP addresses, transmissions, communication flow etc. Comparatively, networking job has less programming. To get the job, you need to learn about the different hardware devices which requires in connecting multiple computers for communication purpose. You don’t need to learn any specific programming language.

Phone or Mobile Software creation is the same thing a software developer do but here the programmer works for cell phones or mobiles. The programmer works in the same way as he works for creating computer software but with different programming languages which are intended only for writing mobile software. Few programming languages for mobile software are Swift, Java for Mobile Edition, Android, etc.

Hardware Design. Before working on software it is important to have hardware which is compatible with that software. Hence hardware design is that job which creates hardware for computers like hard drives, microprocessors, keyboards, motherboards, circuitry, monitors etc. To get a job in hardware design, it is recommended to learn ‘Industrial Design’ course which teaches how to design hardware effectively. In simple terms, this job deals with the raw and visible, physical parts of the computer.

Thus, the above jobs are the base classification for an IT world and I hope it would be understandable for beginners who would like to opt for IT and computer science.

Understanding the technologies, platforms, and programming languages.

Before giving description about the words technologies and platforms, I would like to mention few programming languages which are boom in the IT market and provides a hefty salary according to your experience. And the reason to mention them helps us to have a clear picture of these terms very easily.

There has been many programming languages invented to solve the real world applications, but some of them got fainted as other languages were invented which were more capable, robust and compatible in carrying out operations. Presently these are the programming languages which are still functioning in the market and have a high demand among the technology giants.

Java, python, PHP, HTML, XML, ASP .NET, Swift, JavaScript etc.

The above programming languages are used at different platforms and for different purposes. Let us see some words which would help in getting close to the above terms.

Technology: Study of techniques is technology. In computer or software terminology, a technology is always a new technique adapted in the working environment to solve problems. From this perspective, a technology could be a new approach to a problem, or a new programming language which could ease the writing process, or a new software which regards as a tool to accomplish task. For an instance, “touch feature” in mobiles and laptops is a new technology. Before that mobiles were only operated with the help of buttons like computers. Thus touch technology is adapted with the help of software as well as hardware.

Platform: As technology term is cleared in meaning, now platform is required to create or build a technology or a software. A platform is the base of writing a software and testing it until it is able to execute the desired problem. For example, as I have stated about few programming languages like JAVA, JavaScript, Python etc., these languages are required to have a platform so that they can execute the logic. Java runs on multiple operating systems, but C and C++ could not run on all platforms.

These are just the basic and simple meanings of these terms. As you go deeper into the computer world, there will be other terms to be understood.

 

 

What is, Who is….??

The essence of writing this post is to provide some definitions of the words which are used in computer science world. Before reading further, this post is meant to those who are quite new to computer science and information technology world. I will be keep on adding new words and definitions, but for a beginner this would be helpful.

I have previously explained the first and important terms ‘Computer Science’ engineers and ‘Information Technology’ professionals in my post. I would like to give some definitions about the exact professions like a programmer, developer etc.

Who is?

Programmer: A developer or Programmer is one and the same. Both have the same working principles and goals. A programmer writes a code to a particular problem and executes the code in order to get the solution. They use programming languages like Java, ASP .NET, Swift, C and C++ etc.

Now a programmer is a person which uses programming languages to build something. Based on the word ‘Programmer’ I would like to distinguish different programmers who carry out different tasks. A programmer could be an Application developer, Web developer, Network programmer, etc. Let us understand these words.

Web Developer: Web Developer or Web programmer is someone who creates or develops websites for a firm. When he/she is intended to create a website, he/she uses web programming languages like HTML, JAVAScript, Python, PHP, .Net etc. These languages is only intended to create websites and web applications.

Application Developer: A programmer is nothing but an application developer who creates stand along applications or software to solve the problems. Application Developer also creates application which runs on websites which are called web applications.

Network Programmer: A network programmer in simple terms is a programmer who take cares of the programming which helps in building and establishing connection between multiple devices of computers.

Cell phone programmer: A programmer who writes codes for the mobile and creates applications is called as Mobile or cell phone programmer. He/she could create games, applications, for a mobile using Mobile programming languages.

Thus, these are the types of programmers or application developers when it comes to IT industry. Anybody can apt among these fields as they all required programming skills. There are still more programming jobs but as of now, it is simple picture of what a programmer does when it comes to websites, phones, networks, and standalone software.

What is?

Operating System: Before going to the core meaning of Operating System, I would like to give the example of an OS. Windows 7, Windows 10, Mac OS, etc. are the famous and most common operating systems which can be seen any laptop around the world. Let’s move to the core meaning of OS. An OS is a set of software which runs, guides, manages the hardware efficiently. It acts as an platform for different sets of software to run through it.

Software or Application: These two terms are same and they have the one meaning. Software is a piece of code which has logic, structure and coding. For an instance, “Calculator” is a software which can be seen in all computers created for carrying out mathematical operations. Likewise, there are millions of software whose purpose is accordingly. Some examples of software are Microsoft word, Games, Calculator, Antivirus etc.

Web Applications: Web applications are a piece of software which runs on websites between client and server to provide information and communication. Like playing online games, those games are web applications. Its a simple example for web apps.

Data: Raw facts, highlighted points, are nothing but data. A data could be collected of few papers, labels, texts, pictures etc., but are unsorted and unprocessed.

Information: Data which was unsorted, unprocessed according to the previous definition, is use to process, so that the information could be generated. ‘Information’ is simple terms is nothing but a well sorted, processed ‘data’ which is easy to understand. Example ‘list of names’ ,’book’,’files’,etc.

Database: Database in computer terminology is nothing but the storage of data. Database is a collection of enormous amount of data stored in a particular storage device. Databases are the hardware devices which stores, processes and maintains data.

Network: Connection of one or more computers through cables is called a network. A network is build so that computers can communicate with each other.

Protocols: Set of rules and regulations are called protocols. In computer terminology, protocols are defined so that the process of communication and solving takes place properly.

The above are the few words, which could be helpful for dummies to understand in simple terms. I would be adding more terms and words to this post.

What is Computer Science and Information Technology?

Every year there are lot of students who completes their education in the stream of computer science and information technology. It is very important to know the difference between computer science and information technology before adapting any technology or platform to have a career in it. You could find lot of examples on internet or google about these two terms. I would like to break it down and make it as simpler as possible so that it clearly shows the picture of these terms in the software industry.

Computer science students studies how a software is build up. They study the science behind creation of a software like designing, deploying, software development cycles, and testing as well. These students focuses on the problem and try to build up a software which can execute and provide the solution with basic principles. They could be called as software developers.

Information technology is on the other hand deals not only with the software creation but also with the communication which encapsulates the databases, networking protocols, software, storage, and maintenance. It means IT concentrates on the flow of information and the communication involved in various sectors of software industry.