IP Addressing(IPv4 And IPv6)

 The IP(Internet Protocol) address is a familiar term for most computer users. An IP address is the unique numerical address of a device in a computer network that uses Internet Protocol for communication. The IP address allow you to pinpoint a particular device from the billions of devices on the Internet. To send you a letter, someone needs your mailing address. In the same sense, one computer needs the IP address of another computer to communicate with it.

IP specifies the technical format of packets and the addressing scheme for computers to communicate over a network. Most networks combine IP with a higher-level protocol called Transmission Control Protocol (TCP), which establishes a virtual connection between a destination and a source.

IP by itself can be compared to something like the postal system. It allows you to address a package and drop it in the system, but there's no direct link between you and the recipient. TCP/IP, on the other hand, establishes a connection between two hosts so that they can send messages back and forth for a period of time.

An IP address consists of four numbers; each can contain one to three digits. These numbers are separated with a single dot (.). These four numbers can range from 0 to 255.

Types of IP addresses

The IP addresses can be classified into two. They are listed below.

1) Static IP addresses

2) Dynamic IP addresses

Let us see each type in detail.

 

Static IP Addresses

As the name indicates, the static IP addresses usually never change but they may be changed as a result of network administration. They serve as a permanent Internet address and provide a simple and reliable way for the communication. From the static IP address of a system, we can get many details such as the continent, country, region and city in which a computer is located, The Internet Service Provider (ISP) that serves that particular computer and non-technical information such as precise latitude and longitude of the country, and the locale of the computer. There are many websites providing IP address lookups. You can find out your IP addresses at http://whatismyip.org/.

Dynamic IP Addresses

Dynamic IP address are the second category. These are temporary IP addresses. These IP addresses are assigned to a computer when they get connected to the Internet each time. They are actually borrowed from a pool of IP addresses, shared over various computers. Since limited number of static IP addresses are available, ISPs usually reserve the portion of their assigned addresses for sharing among their subscribers in this way.

Static IP addresses are considered as less secure than dynamic IP addresses because they are easier to track.

An Internet Protocol address is also known as IP address. It is a numerical label which assigned to each device connected to a computer network which uses the IP for communication.

IP address act as an identifier for a specific machine on a particular network. The IP address is also called IP number and internet address. IP address specifies the technical format of the addressing and packets scheme. Most networks combine IP with a TCP (Transmission Control Protocol). It also allows developing a virtual connection between a destination and a source.

What is IPv4?
IPv4 was the first version of IP. It was deployed for production in the ARPANET in 1983. Today it is most widely used IP version. It is used to identify devices on a network using an addressing system.

The IPv4 uses a 32-bit address scheme allowing to store 2^32 addresses which is more than 4 billion addresses. Till date, it is considered the primary Internet Protocol and carries 94% of Internet traffic.

What is IPv6?
It is the most recent version of the Internet Protocol. Internet Engineer Taskforce initiated it in early 1994. The design and development of that suite is now called IPv6.

This new IP address version is being deployed to fulfill the need for more Internet addresses. It was aimed to resolve issues which are associated with IPv4. With 128-bit address space, it allows 340 undecillion unique address space. IPv6 also called IPng (Internet Protocol next generation).

Features of IPv4
Connectionless Protocol
Allow creating a simple virtual communication layer over diversified devices
It requires less memory, and ease of remembering addresses
Already supported protocol by millions of devices
Offers video libraries and conferences
Features of IPv6
Hierarchical addressing and routing infrastructure
Stateful and Stateless configuration
Support for quality of service (QoS)
An ideal protocol for neighboring node interaction


IP Version 4 and IP Version 6

The two versions of IP addresses currently running are IP versions 4 (IPv4) and IP versions 6 (IPv6). There are many features with these two versions.

 

IP Version 6

The IPv6 is the most recent version of Internet Protocol. As the Internet is growing rapidly, there is a global shortage for IPv4. IPv6 was developed by the Internet Engineering Task Force (IETF). IPv6 is intended to replace the IPv4. IPv6 uses a 128-bit address and it allows 2128 i.e. approximately 3.4×1038 addresses. The actual number is slightly smaller as some ranges are reserved for special use or not used. The IPv6 addresses are represented by 8 groups of four hexadecimal digits with the groups being supported by colons. An example is given below:

Eg: 2001:0db8:0000:0042:0000:8a2e:0370:7334

 

The features of IPv6

The main features of the IPv6 are listed below.

1) IPv6 provides better end-to-end connectivity than IPv4.

2) Comparatively faster routing.

3) IPv6 offers ease of administration than IPv4.

4) More security for applications and networks.

5) It provides better Multicast and Anycast abilities.

6) Better mobility features than IPv4.

7) IPv6 follows the key design principles of IPv4 and so that the transition from IPv4 to IPv6 is smoother.

These are the key features of the IPv6 when compared to the IPv4. However, IPv6 has not become popular as IPv4.

 

IP Version 4

IP Version 4 (IPv4) was defined in 1981. It has not undergone much changes from that time. Unfortunately, there is a need of IP addresses more than IPv4 could supply.

IPv4 uses 32-bit IP address. So the maximum number of IP address is 232—or 4,294,967,296.

This is a little more than four billion IP addresses. An IPv4 address is typically formatted as four 8-bit fields. Each 8-bit field represents a byte of the IPv4 address. As we have seen earlier, each fields will be separated with dots. This method of representing the byte of an IPv4 address is referred to as the dotted-decimal format. The bytes of the IPv4 is further classified into two parts. The network part and the host part.

 

Network Part

This part specifies the unique number assigned to your network. It also identifies the class of network assigned. The network part takes two bytes of the IPv4 address.

 

Host Part

This is the part of the IPv4 address that you can assign to each host. It uniquely identifies this machine on your network. For all hosts on your network, the network part of the IP address will be the same and host part will be changing.

 

IP address and classes

The IP hierarchy contains many classes of the IP addresses. Broadly, the IPv4 addressing system is divided into five classes of IP address. All the five classes are identified by the first octet of the IP address.

 

The classes of IPv4 addresses

The different classes of the IPv4 address are the following:

1) Class A address

2) Class B address

3) Class C address

4) Class D address

5) Class E address

 

Class A Address

The first bit of the first octet is always set to zero. So that the first octet ranges from 1 – 127. The class A address only include IP starting from 1.x.x.x to 126.x.x.x. The IP range 127.x.x.x is reserved for loop back IP addresses. The default subnet mask for class A IP address is 255.0.0.0. This means it can have 126 networks (27-2) and 16777214 hosts (224-2). Class A IP address format is thus: 0NNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH.

 

Class B Address

Here the first two bits in the first two bits is set to zero. Class B IP Addresses range from 128.0.x.x to 191.255.x.x. The default subnet mask for Class B is 255.255.x.x. Class B has 16384 (214) Network addresses and 65534 (216-2) Host addresses. Class B IP address format is: 10NNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH

 

Class C Address

The first octet of this class has its first 3 bits set to 110. Class C IP addresses range from 192.0.0.x to 223.255.255.x. The default subnet mask for Class C is 255.255.255.x. Class C gives 2097152 (221) Network addresses and 254 (28-2) Host addresses. Class C IP address format is: 110NNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH

 

Class D Address

The first four bits of the first octet in class D IP address are set to 1110. Class D has IP address rage from 224.0.0.0 to 239.255.255.255. Class D is reserved for Multicasting. In multicasting data is not intended for a particular host, but multiple ones. That is why there is no need to extract host address from the class D IP addresses. The Class D does not have any subnet mask.

 

Class E Address

The class E IP addresses are reserved for experimental purpose only for R&D or study. IP addresses in the class E ranges from 240.0.0.0 to 255.255.255.254. This class too is not equipped with any subnet mask.

Workgroup(computer networking)

 Workgroup is Microsoft's term for a peer-to-peer local area network. Computers running Microsoft operating systems in the same workgroup may share files, printers, or Internet connection.[1] Workgroup contrasts with a domain, in which computers rely on centralized authentication.

workgroup is a peer-to-peer network using Microsoft software. A workgroup allows all participating and connected systems to access shared resources such as files, system resources and printers.

In computer networking, a workgroup is a collection of computers on a local area network (LAN) that share common resources and responsibilities. Workgroups provide easy sharing of files, printers and other network resources. Being a peer-to-peer (P2P) network design, each workgroup computer may both share and access resources if configured to do so.

Workgroups just provide a grouping when browsing resources in the UI. "Network Neighborhood" (which has gone under a variety of names, such as "Network Near Me") displays computers that share your workgroup name. And there's an "Entire Network" that lists all the other workgroup names.

There's no impact on security or resource access. It's just a display thing.

The difference between domain and workgroup?
Domains, workgroups, and homegroups represent different methods for organizing computers in networks. The main difference among them is how the computers and other resources on the networks are managed.

Computers running Windows on a network must be part of a workgroup or a domain. Computers running Windows on home networks can also be part of a homegroup, but it's not required.

Computers on home networks are usually part of a workgroup and possibly a homegroup, and computers on workplace networks are usually part of a domain.

In a workgroup:

All computers are peers; no computer has control over another computer.

Each computer has a set of user accounts. To log on to any computer in the workgroup, you must have an account on that computer.

There are typically no more than twenty computers.

A workgroup is not protected by a password.

All computers must be on the same local network or subnet.

In a Domain:

One or more computers are servers. Network administrators use servers to control the security and permissions for all computers on the domain. This makes it easy to make changes because the changes are automatically made to all computers. Domain users must provide a password or other credentials each time they access the domain.

If you have a user account on the domain, you can log on to any computer on the domain without needing an account on that computer.

You probably can make only limited changes to a computer's settings because network administrators often want to ensure consistency among computers.

There can be thousands of computers in a domain.

The computers can be on different local networks.

How to Access a Workgroup Computer
1. Press the Start button and open the “Control Panel” from the Start Menu.
2. Type “network” into the search box at the top of the window. Select the “Network and Sharing Center” link and then click on “Change advanced sharing settings.”
3. Mark the circle next to “Turn on network discovery” to set up your computer to recognize the presence of other systems in your workgroup. Click “Save Changes” and close the window.
4. Click the Start button and then click the “Network" link on the Start Menu. This will display all devices in your network, including the computers that share your workgroup.
5. Double-click on the icon of the computer that you wish to access to connect to the workgroup computer and gain access to the resources shared by the computer’s operator.


Advantages of a workgroup :
- Usually designed for small local area networks such as schools, homes or small businesses. Easy to install and configure.
- Function best and with fewer computers.
- Is easier to set up and configure than a domain.
- All content and resources can be shared with peers in the network.
- Setting up a workgroup name is independent of any hardware dependencies.
- Microsoft operating system provides resources for setting up workgroup.The workgroup settings are provided in the properties window in the Microsoft operating system.The Net command also can be used for obtaining information on the workgroup.
- Larger networks can be categorized into workgroups, which helps in better management.

Disadvantages of workgroup:
- The security measures provided in a workgroup are not as strong as those for a domain.
- Workgroups are not suggested for sensitive data, transmitting networks, nor business network.
- There is no centralized management of the resources unlike the domain network.

Introduction to Firewall

 A firewall is a network security system that monitors and controls over all your incoming and outgoing network traffic based on advanced and a defined set of security rules.

Its a software or hardware system designed to prevent unauthorized access to an individual computer or network of computers. They are used mostly as a first line of defense to protect your device or network from online threats such as hackers, viruses, Trojans, and worms.

computer firewall is a software program that prevents unauthorized access to or from a private network. Firewalls are tools that can be used to enhance the security of computers connected to a network, such as LAN or the Internet. They are an integral part of a comprehensive security framework for your network.

firewall absolutely isolates your computer from the Internet using a "wall of code" that inspects each individual "packet" of data as it arrives at either side of the firewall — inbound to or outbound from your computer — to determine whether it should be allowed to pass or be blocked.

A good firewall system blocks attackers from trying to infiltrate your system and prevents your data and information from flowing out to the bad guys.

What Firewalls Do?
Basically, firewalls need to be able to perform the following tasks:

Defend resources
Validate access
Manage and control network traffic
Record and report on events
Act as an intermediary
What is Personal Firewall
It is important to understand why we need a firewall and how it helps us in the world of secure computing. We need to understand the goals of information security because it helps us to understand how a firewall may address those needs.
A firewall establishes a barrier between secured internal networks and outside untrusted network, such as the Internet.

 

Why you need Personal Firewall
In the age of high-speed Internet Access, you electronically connect your computer to a broad network over which, unless you have installed a personal firewall, you have limited control and from which you have limited protection. Until recently, unless you worked for an organization that provided high-speed internet access.

Like anything, the high-speed connection has its own drawbacks. Ironically, the very feature that makes a high-speed connection attractive is also the reason that makes it vulnerable. In a way, connecting to the internet via high-speed connection is like leaving the front door of your house open and unlocked. This is because high-speed Internet connections have the following features:

A constant IP - Make it easy for an intruder who has discovered your computer on the internet to find you again and again.
High-Speed Access - Means that the intruder can work much faster when trying to break into your computer.
Always active connection - means that your computer is vulnerable every time when it is connected to the internet.
Defending yourself with a Personal Firewall
So now you have an idea of how you are vulnerable every time when you are online on a high-speed Internet connection, compared to an ordinary 56Kbps connection. What you now need to know is how you can defend yourself against the threat posed by this type of connection

A Personal firewall is important when
You surf the internet at home using an 'always on' broadband connection
You connect to the internet via a public WiFi network in a park, cafe or airport
You run a home network which needs to be kept isolated from the internet
You wish to be kept informed when any program on your computer attempts to connect to the internet
Most Personal Firewalls are highly configurable so you can easily create security policies to suit your individual needs.

Hardware vs. Software Firewalls
A firewall can be implemented using either software or a separate physical device (usually for large networks) or a combination of both.

Hardware firewalls are built into the routers. They are designed to protect all the devices connected to a network . If you are connecting to the internet through a broadband router, the router’s firewall is already protecting your device.

Software firewalls are included in Microsoft operating systems such as Windows XP, Vista, 7, 8, and 10 and it is turned on by default. Window’s firewalls generally provide less protective features than those purchased from antivirus vendors. One notable feature missing from Windows has been two-way controls to restrict what travels out from your device as well as what comes in.

Firewalls made by internet security companies can provide two-way protection and may also block malware and other malicious programs.

Firewalls are generally of two types: Host-based and Network-based.

Host- based Firewalls : Host-based firewall is installed on each network node which controls each incoming and outgoing packet. It is a software application or suite of applications, comes as a part of the operating system. Host-based firewalls are needed because network firewalls cannot provide protection inside a trusted network. Host firewall protects each host from attacks and unauthorized access.
Network-based Firewalls : Network firewall function on network level. In other words, these firewalls filter all incoming and outgoing traffic across the network. It protects the internal network by filtering the traffic using rules defined on the firewall. A Network firewall might have two or more network interface cards (NICs). A network-based firewall is usually a dedicated system with proprietary software installed.

Enabling Windows Vista and Windows 7 firewall

Click Start and in the Search for Programs and Files text box, type firewall, and press Enter.
In the search results, click Windows Firewall.
If the Windows Firewall is disabled, the Windows Firewall state will be off. If it is off, click Change settings or Turn Windows Firewall on or off in the left column.
In the Firewall Settings window, select On and click OK.


Disabling the Windows Vista and Windows 7 firewall
Click Start and in the Search for Programs and Files text box, type firewall, and press Enter.
In the search results, click Windows Firewall.
If the Windows Firewall is enabled, the Windows Firewall state will be "on." To turn it off, click Change settings or Turn Windows Firewall on or off in the left column.
In the Firewall Settings window, select Off and click OK.

Enabling the Windows XP firewall
Open the Control Panel
Open Network Connections.
In the Network Connections window, right-click the Local Area Connection and select properties.
In the Local Area Connection Properties window, click the Advanced tab.
Finally, check the Protect my computer and network by limiting or preventing access to this computer from the Internet option.


Disabling the Windows XP firewall
Open the Control Panel
Open Network Connections.
In the Network Connections window, right-click the Local Area Connection and select Properties.
In the Local Area Connection Properties window, click the Advanced tab.
Finally, uncheck the Protect my computer and network by limiting or preventing access to this computer from the Internet option.

Types of transmission media

In network communications, a transmission medium is a physical connection or an interface between the transmitter and the receiver. There are two major categories of transmission media, namely guided and wireless (or unguided). Let us take a walk through the types of transmission media and connectors in detail in this lesson.

Transmission media is a pathway that carries the information from sender to receiver. We use different types of cables or waves to transmit data. Data is transmitted normally through electrical or electromagnetic signals.

Transmission medium is the means through which we send our data from one place to another. The first layer (physical layer) of Communication Networks OSI Seven layer model is dedicated to the transmission media, we will study the OSI Model later.

The data transmission capabilities of various Medias vary differently depending upon the various factors. These factors are:

1. Bandwidth. It refers to the data carrying capacity of a channel or medium. Higher bandwidth communication channels support higher data rates.

2. Radiation. It refers to the leakage of signal from the medium due to undesirable electrical characteristics of the medium.

3. Noise Absorption. It refers to the susceptibility of the media to external electrical noise that can cause distortion of data signal.

4. Attenuation. It refers to loss of energy as signal propagates outwards. The amount of energy lost depends on frequency. Radiations and physical characteristics of media contribute to attenuation.


Let's first take a closer look at the different types of guided transmission media one at a time.

Twisted Pair Cable
Twisted pair cables have been around for a long time. They were mainly invented for voice transmissions. Twisted pair is a widely used medium in networking because it's lighter, cheaper, more flexible, easy to install, and provides greater speeds than coaxial cables. There are two types of twisted pair cables: the unshielded twisted pair (UTP) and the shielded twisted pair (STP). Let's take a closer look at each of them.

The unshielded twisted pair cable has 4 pairs of copper wires that are present inside a plastic sheath. These wires are twisted to protect them from interference. The only protection available for a UTP cable is a plastic sheath that is thin in size.

The shielded twisted pair cable is widely used in high-speed networks. The major difference between UTP and shielded twisted pair is that STP makes use of a metallic shield to wrap the wires. This metallic shield prevents interference to a better extent than UTP. These STP cables come with numbering; the higher the numbering, the better the interference prevention. As an example: most computer networks must go with CAT 3 or CAT 5, and nothing less than this.

Coaxial Cables
The coaxial cables have a central copper conductor, surrounded by an insulating layer, a conducting shield, and the outermost plastic sheath. Thus, there are three insulation layers for the inner copper cable. There are two basic modes of data transmission in coaxial cables: baseband mode that has dedicated bandwidth, and broadband mode that has distributed cable bandwidth.

Cable TV and analog televisions mainly use coaxial cables. Coaxial cables have better resistance to cross talk than twisted pair cables. The coaxial cables are used for long distance communication. The most widely used types of coaxial cables are RG-59 and RG-6 (RG stands for 'radio guide'). RG-59 has lesser shielding and is suitable for short cable lengths and cable TV connections.

RG-6 has better insulation than RG-59 and is used for satellite TV and digital signal transmissions for better strength and longer distances.

There are many advantages to coaxial cables, including the following:

High bandwidth
Easy and cheap installation
Better immunity from noise
Better scaling
However, there are also a number of disadvantages to coaxial cables, which include the following:

They're more prone to lightning strikes.
They cover less distance than fiber optic cables.
They carry less bandwidth than both fiber optic and twisted pair cables.
Now let's move onto a different type of guided transmission media.

Optical Fibers
Optical fibers use light waves for transmission. Crosstalk, EMI, and attenuation aren't issues with optical fibers. These cables are well-suited for voice, data, and video transmissions. Optical fibers are the most secure of all the cable media. Installation and maintenance are difficult and costly. Fiber optic cables have greater transmission speed, high bandwidth, and the signal can travel longer distances when compared to coaxial and twisted pair cables. Though the cost of optical fiber cable is less compared to co-axial and twisted pair cables, the additional optical components needed for installation make fiber optic the costliest of all the cables.

The advantages of optical fibers include the following:

There is zero interference and covers major cities and countries.
They have high speed and high bandwidth.
They're highly secure.


There also are a number of disadvantages, including the following:

Installation and maintenance are difficult.
Cabling is costly.
Retrofitting an existing network is difficult, since optical fibers are incompatible with many types of electronic networking equipment.
There are two modes of operation for optical fibers. First there's single-mode fiber, which uses a single beam of light and allows communication over great distances with better transfer speed. Then there is multimode fiber, which uses multiple light beams inside a single fiber cable, has a reduced length and travel speed, and has a larger bandwidth, but signal strength is weakened.

Wireless or Unguided Transmission Media
The features of wireless/unguided transmission media are that the signal gets broadcast without any guided medium through the air and is less secure. There are three types of wireless transmission media:

Radio wave
Infrared
Microwave


The advantages of unguided transmission media include the following:

They are useful in wireless remote accessing methods.
Networks can be expanded without disturbing the current users.


The disadvantages include:

Potential security issues.
They have limited speed compared to guided transmission media

Computer Networking Basics

 Computer Network Definition:


A computer network is a set of connected computers. Computers on a network are called nodes. The connection between computers can be done via cabling, most commonly the Ethernet cable, or wirelessly through radio waves. Connected computers can share resources, like access to the Internet, printers, file servers, and others. A network is a multipurpose connection, which allows a single computer to do more.

Open system:
A system which is connected to the network and is ready for communication.

Closed system:
A system which is not connected to the network and can’t be communicated with.

Computer Network:
It is the interconnection of multiple devices, generally termed as Hosts connected using multiple paths for the purpose of sending/receiving data or media.
There are also multiple devices or mediums which helps in the communication between two different devices which are known as Network devices. Ex: Router, Switch, Hub, Bridge.

A computer network can be categorized by their size. A computer network is mainly of four types:

LAN(Local Area Network)
PAN(Personal Area Network)
MAN(Metropolitan Area Network)
WAN(Wide Area Network)

LAN(Local Area Network)
Local Area Network is a group of computers connected to each other in a small area such as building, office.
LAN is used for connecting two or more personal computers through a communication medium such as twisted pair, coaxial cable, etc.
It is less costly as it is built with inexpensive hardware such as hubs, network adapters, and ethernet cables.
The data is transferred at an extremely faster rate in Local Area Network.
Local Area Network provides higher security.


PAN(Personal Area Network)
Personal Area Network is a network arranged within an individual person, typically within a range of 10 meters.
Personal Area Network is used for connecting the computer devices of personal use is known as Personal Area Network.
Thomas Zimmerman was the first research scientist to bring the idea of the Personal Area Network.
Personal Area Network covers an area of 30 feet.
Personal computer devices that are used to develop the personal area network are the laptop, mobile phones, media player and play stations.

There are two types of Personal Area Network:

Wireless Personal Area Network: Wireless Personal Area Network is developed by simply using wireless technologies such as WiFi, Bluetooth. It is a low range network.

Wired Personal Area Network: Wired Personal Area Network is created by using the USB.

Examples Of Personal Area Network:
Body Area Network: Body Area Network is a network that moves with a person. For example, a mobile network moves with a person. Suppose a person establishes a network connection and then creates a connection with another device to share the information.
Offline Network: An offline network can be created inside the home, so it is also known as a home network. A home network is designed to integrate the devices such as printers, computer, television but they are not connected to the internet.
Small Home Office: It is used to connect a variety of devices to the internet and to a corporate network using a VPN

MAN(Metropolitan Area Network)
A metropolitan area network is a network that covers a larger geographic area by interconnecting a different LAN to form a larger network.
Government agencies use MAN to connect to the citizens and private industries.
In MAN, various LANs are connected to each other through a telephone exchange line.
The most widely used protocols in MAN are RS-232, Frame Relay, ATM, ISDN, OC-3, ADSL, etc.
It has a higher range than Local Area Network(LAN).

Uses Of Metropolitan Area Network:
MAN is used in communication between the banks in a city.
It can be used in an Airline Reservation.
It can be used in a college within a city.
It can also be used for communication in the military.

WAN(Wide Area Network)
A Wide Area Network is a network that extends over a large geographical area such as states or countries.
A Wide Area Network is quite bigger network than the LAN.
A Wide Area Network is not limited to a single location, but it spans over a large geographical area through a telephone line, fibre optic cable or satellite links.
The internet is one of the biggest WAN in the world.
A Wide Area Network is widely used in the field of Business, government, and education.

Examples Of Wide Area Network:
Mobile Broadband: A 4G network is widely used across a region or country.
Last mile: A telecom company is used to provide the internet services to the customers in hundreds of cities by connecting their home with fiber.
Private network: A bank provides a private network that connects the 44 offices. This network is made by using the telephone leased line provided by the telecom company.


Advantages Of Wide Area Network:
Following are the advantages of the Wide Area Network:

Geographical area: A Wide Area Network provides a large geographical area. Suppose if the branch of our office is in a different city then we can connect with them through WAN. The internet provides a leased line through which we can connect with another branch.
Centralized data: In case of WAN network, data is centralized. Therefore, we do not need to buy the emails, files or back up servers.
Get updated files: Software companies work on the live server. Therefore, the programmers get the updated files within seconds.
Exchange messages: In a WAN network, messages are transmitted fast. The web application like Facebook, Whatsapp, Skype allows you to communicate with friends.
Sharing of software and resources: In WAN network, we can share the software and other resources like a hard drive, RAM.
Global business: We can do the business over the internet globally.
High bandwidth: If we use the leased lines for our company then this gives the high bandwidth. The high bandwidth increases the data transfer rate which in turn increases the productivity of our company.


Disadvantages of Wide Area Network:
The following are the disadvantages of the Wide Area Network:

Security issue: A WAN network has more security issues as compared to LAN and MAN network as all the technologies are combined together that creates the security problem.
Needs Firewall & antivirus software: The data is transferred on the internet which can be changed or hacked by the hackers, so the firewall needs to be used. Some people can inject the virus in our system so antivirus is needed to protect from such a virus.
High Setup cost: An installation cost of the WAN network is high as it involves the purchasing of routers, switches.
Troubleshooting problems: It covers a large area so fixing the problem is difficult.


Internetwork
An internetwork is defined as two or more computer network LANs or WAN or computer network segments are connected using devices, and they are configured by a local addressing scheme. This process is known as internetworking.
An interconnection between public, private, commercial, industrial, or government computer networks can also be defined as internetworking.
An internetworking uses the internet protocol.
The reference model used for internetworking is Open System Interconnection(OSI).


Types Of Internetwork:
1. Extranet: An extranet is a communication network based on the internet protocol such as Transmission Control protocol and internet protocol. It is used for information sharing. The access to the extranet is restricted to only those users who have login credentials. An extranet is the lowest level of internetworking. It can be categorized as MAN, WAN or other computer networks. An extranet cannot have a single LAN, atleast it must have one connection to the external network.

2. Intranet: An intranet is a private network based on the internet protocol such as Transmission Control protocol and internet protocol. An intranet belongs to an organization which is only accessible by the organization's employee or members. The main aim of the intranet is to share the information and resources among the organization employees. An intranet provides the facility to work in groups and for teleconferences.

Intranet advantages:
Communication: It provides a cheap and easy communication. An employee of the organization can communicate with another employee through email, chat.
Time-saving: Information on the intranet is shared in real time, so it is time-saving.
Collaboration: Collaboration is one of the most important advantage of the intranet. The information is distributed among the employees of the organization and can only be accessed by the authorized user.
Platform independency: It is a neutral architecture as the computer can be connected to another device with different architecture.
Cost effective: People can see the data and documents by using the browser and distributes the duplicate copies over the intranet. This leads to a reduction in the cost.


Computer networks can be broken down historically into topologies, which is a technique of connecting computers. The most common topology today is a collapsed ring. This is due to the success of a network protocol called the Ethernet. This protocol, or network language, supports the Internet, Local Area Networks, and Wide Area Networks.

Star Topology
A star topology is a design of a network where a central node extends a cable to each computer on the network. On a star network, computers are connected independently to the center of the network. If a cable is broken, the other computers can operate without problems. A star topology requires a lot of cabling.

Bus Topology
A bus topology is another type of design where a single cable connects all computers and the information intended for the last node on the network must run through each connected computer. If a cable is broken, all computers connected down the line cannot reach the network. The benefit of a bus topology is a minimal use of cabling.

Ring Topology
A similar topology is called a ring. In this design, computers are connected via a single cable, but the end nodes also are connected to each other. In this design, the signal circulates through the network until it finds the intended recipient. If a network node is not configured properly, or it is down temporarily for another reason, the signal will make a number of attempts to find its destination.

A collapsed ring is a topology where the central node is a network device called a hub, a router, or a switch. This device runs a ring topology internally and features plugins for cables. Next, each computer has an independent cable, which plugs into the device. Most modern offices have a cabling closet, or a space containing a switch device that connects the network. All computers in the office connect to the cabling closet and the switch. Even if a network plug is near a desk, the plug is connected via a cable to the cabling closet.

Advantages of Networking

It makes file sharing easier: Networking makes file sharing very quick and very easier. Instead of using a disk or USB key to carry files from one computer or office to another, you can share files directly using a network.


Workgroup Computing: Workgroup software like Microsoft BackOffice enables many users to contribute to a document concurrently. This allows for interactive teamwork.


Security: Specific directories can be password protected to limit access to authorized users. Also, files and programs on a network can be designated as "copy inhibit" so you don’t have to worry about the illegal copying of programs.


It provides the benefit of flexibility: Computer networking is known to offer high flexibility in a sense that you are given the chance to explore everything about a certain type of software without affecting its functionality. You will have the accessibility to all information that you need.


It increases cost efficiency: With computer networking, you can use a lot of software products available on the market which can just be stored or installed in your system or server, and can then be used by various workstations.

Computer Virus and Antivirus

Computer Virus

A computer virus is a type of computer program that, when executed, replicates itself by modifying other computer programs and inserting its own code.[1] When this replication succeeds, the affected areas are then said to be "infected" with a computer virus.

A computer virus is a malicious program that self-replicates by copying itself to another program. In other words, the computer virus spreads by itself into other executable code or documents. The purpose of creating a computer virus is to infect vulnerable systems, gain admin control and steal user sensitive data. Hackers design computer viruses with malicious intent and prey on online users by tricking them.

The term 'computer virus' was first formally defined by Fred Cohen in 1983. Computer viruses never occur naturally. They are always induced by people. Once created and released, however, their diffusion is not directly under human control. After entering a computer, a virus attaches itself to another program in such a way that execution of the host program triggers the action of the virus simultaneously. It can self-replicate, inserting itself onto other programs or files, infecting them in the process. Not all computer viruses are destructive though.

The terms “virus” and “malware” are often used interchangeably, but they’re not the same thing. While a computer virus is a type of malware, not all malware are computer viruses.

Not every piece of software that attacks your PC is a virus. Computer viruses are just one kind of malware (malicious soft-ware). Here are some of the other, most common kinds:

Trojans: like the ancient wooden horse full of attackers it takes its name from, this malware pretends to be harmless legitimate software, or comes embedded in it, in order to trick the user and open up the gates for other malware to infect a PC.
Spyware: with examples such as keyloggers, this kind of malware is designed to spy on users, save their passwords, credit card details, other personal data and online behavior patterns, and send them off to whoever programmed it.
Worms: this malware type targets entire networks of devices, hopping from PC to PC.
Ransomware: this malware variety hijacks files (and sometimes an entire hard drive), encrypts them, and demands money from its victim in exchange for a decryption key (which may or may not work, but it probably won’t).
Adware: this exceedingly irritating kind of malware floods victims with unwanted ads, and opens up vulnerable security spots for other malware to wiggle its way in.


A computer virus works in much the same way:

A computer virus requires a host program.
A computer virus requires user action to transmit from one system to another.
A computer virus attaches bits of its own malicious code to other files or replaces files outright with copies of itself.

Types of Computer Viruses
A computer virus is one type of malware that inserts its virus code to multiply itself by altering the programs and applications. The computer gets infected through the replication of malicious code. Computer viruses come in different forms to infect the system in different ways. Some of the most common viruses are,

Boot Sector Virus
Direct Action Virus
Resident Virus
Multipartite Virus
Polymorphic Virus
Overwrite Virus
Spacefiller Virus


Computer virus symptoms
How can you tell if a virus has slipped past your defenses? With some exceptions, like ransomware, viruses are not keen to alert you that they've compromised your computer. Just as a biological virus wants to keep its host alive so it can continue to use it as a vehicle to reproduce and spread, so too does a computer virus attempt to do its damage in the background while your computer still limps along. But there are ways to tell that you've been infected. Norton has a good list; symptoms include:

Unusually slow performance
Frequent crashes
Unknown or unfamiliar programs that start up when you turn on your computer
Mass emails being sent from your email account
Changes to your homepage or passwords

Can your computer become infected with a virus via email?
Your computer can become infected with a virus via email, but only if you open attachments within a spam email or click on the links contained in them.

Simply receiving a spam email will not infect your computer. Just mark these as spam or junk and ensure they are deleted. Most email providers will automate this (Gmail for example) but if any slip through the net, just mark them as spam yourself and don’t open them.


How To Avoid Email Viruses And Worms
Here are some simple rules you can follow to avoid being infected by viruses through email.

How To Be Safe From Email Viruses And Worms
Here are some simple rules you can follow to avoid being infected by viruses through email.

Do’s
1. Use a professional, email service such as Runbox. Subscription services provide higher levels of security and support.
2. Make sure that your Runbox virus filter is activated.
3. Use the Webmail interface at www.runbox.com to read your email, or don’t download all your email to an email client unseen. Screen your email first, and delete suspicious-looking and unwanted messages before downloading the legitimate email to your local email client.
4. Make sure your computer has updated anti-virus software running locally. Automatic updates are essential for effective virus protection. Combined with server-side scanning, you now have two layers of security.
5. Disable message preview in your email client, especially on Windows platforms. Otherwise, malicious programs attached to incoming messages may execute automatically and infect your computer.
6. Ignore or delete messages with attachments appearing to be sent from official Runbox email addresses. Runbox rarely sends email to our users, aside from replies to inquiries and payment reminders. We practically never send an email with attachments to users.
7. Take caution when opening graphics and media attachments, as viruses can be disguised as such files.
8. Maintain several independent email accounts. If a virus infects your only business email address, you’ll be in trouble. Also, keep backups of your most important email and files separately.
9. If any valid message headers of a virus-email indicate what server the message was sent from, contact the service in question and file a formal complaint.

Don’ts
1. Do not open an email attachment unless you were expecting it and know whom it’s from.
2. Do not open any unsolicited executable files, documents, spreadsheets, etc.
3. Avoid downloading executable or documents from the internet, as these are often used to spread viruses.
4. Never open files with a double file extension, e.g. filename.txt.vbs. This is a typical sign of a virus program.
5. Do not send or forward any files that you haven’t virus-checked first.
6. Viruses and spam
7. Virus-makers and spammers often cooperate in devious schemes to send as much spam as possible as efficiently as possible. They create viruses that infect vulnerable computers around the world and turn them into spam-generating “robots”. The infected computers then send massive amounts of spam, unbeknownst to the computer owner.

Such virus-generated email is often forged to appear to be sent from legitimate addresses collected from address books on infected computers. The viruses also use such data, combined with lists of common (user) names, to send spam to huge numbers of recipients. Many of those messages will be returned as undeliverable, and arrive in innocent and unknowing email users’ Inboxes. If this happens to you, use the trainable spam filter to catch those messages.

Best Antivirus Software Secure your personal data
Installing antivirus protection on your computer means your family will never compromise data or security. Protect your computer from online threats by selecting the right software for your needs.

  • Bitdefender Antivirus Plus
  • Norton AntiVirus Plus
  • Kaspersky Anti-Virus
  • F-Secure Antivirus SAFE
  • ESET NOD32 Antivirus
  • Trend Micro Antivirus+ Security
  • Webroot SecureAnywhere AntiVirus
  • G-Data Antivirus
  • Comodo Windows Antivirus
  • Panda Essential
  • Avira Antivirus

Computer memory

memory is just like a human brain. It is used to store data and instructions. Computer memory is the storage space in the computer, where data is to be processed and instructions required for processing are stored. The memory is divided into large number of small parts called cells. Each location or cell has a unique address, which varies from zero to memory size minus one. For example, if the computer has 64k words, then this memory unit has 64 * 1024 = 65536 memory locations. The address of these locations varies from 0 to 65535.

Memory is primarily of three types −

  • Cache Memory
  • Primary Memory/Main Memory
  • Secondary Memory

Cache Memory

Cache memory is a very high speed semiconductor memory which can speed up the CPU. It acts as a buffer between the CPU and the main memory. It is used to hold those parts of data and program which are most frequently used by the CPU. The parts of data and programs are transferred from the disk to cache memory by the operating system, from where the CPU can access them.

Advantages

The advantages of cache memory are as follows −

  • Cache memory is faster than main memory.
  • It consumes less access time as compared to main memory.
  • It stores the program that can be executed within a short period of time.
  • It stores data for temporary use.
Disadvantages

The disadvantages of cache memory are as follows −

  • Cache memory has limited capacity.
  • It is very expensive.

Primary Memory (Main Memory)

Primary memory holds only those data and instructions on which the computer is currently working. It has a limited capacity and data is lost when power is switched off. It is generally made up of semiconductor device. These memories are not as fast as registers. The data and instruction required to be processed resides in the main memory. It is divided into two subcategories RAM and ROM.

Characteristics of Main Memory
  • These are semiconductor memories.
  • It is known as the main memory.
  • Usually volatile memory.
  • Data is lost in case power is switched off.
  • It is the working memory of the computer.
  • Faster than secondary memories.
  • A computer cannot run without the primary memory.

Secondary Memory

This type of memory is also known as external memory or non-volatile. It is slower than the main memory. These are used for storing data/information permanently. CPU directly does not access these memories, instead they are accessed via input-output routines. The contents of secondary memories are first transferred to the main memory, and then the CPU can access it. For example, disk, CD-ROM, DVD, etc.

Characteristics of Secondary Memory
  • These are magnetic and optical memories.
  • It is known as the backup memory.
  • It is a non-volatile memory.
  • Data is permanently stored even if power is switched off.
  • It is used for storage of data in a computer.
  • Computer may run without the secondary memory.
  • Slower than primary memories.

Random Access Memory

RAM (Random Access Memory) is the internal memory of the CPU for storing data, program, and program result. It is a read/write memory which stores data until the machine is working. As soon as the machine is switched off, data is erased.

Access time in RAM is independent of the address, that is, each storage location inside the memory is as easy to reach as other locations and takes the same amount of time. Data in the RAM can be accessed randomly but it is very expensive.

RAM is volatile, i.e. data stored in it is lost when we switch off the computer or if there is a power failure. Hence, a backup Uninterruptible Power System (UPS) is often used with computers. RAM is small, both in terms of its physical size and in the amount of data it can hold.

RAM is of two types −

  • Static RAM (SRAM)
  • Dynamic RAM (DRAM)

Static RAM (SRAM)

The word static indicates that the memory retains its contents as long as power is being supplied. However, data is lost when the power gets down due to volatile nature. SRAM chips use a matrix of 6-transistors and no capacitors. Transistors do not require power to prevent leakage, so SRAM need not be refreshed on a regular basis.

There is extra space in the matrix, hence SRAM uses more chips than DRAM for the same amount of storage space, making the manufacturing costs higher. SRAM is thus used as cache memory and has very fast access.

Characteristic of Static RAM
  • Long life
  • No need to refresh
  • Faster
  • Used as cache memory
  • Large size
  • Expensive
  • High power consumption

Dynamic RAM (DRAM)

DRAM, unlike SRAM, must be continually refreshed in order to maintain the data. This is done by placing the memory on a refresh circuit that rewrites the data several hundred times per second. DRAM is used for most system memory as it is cheap and small. All DRAMs are made up of memory cells, which are composed of one capacitor and one transistor.

Characteristics of Dynamic RAM
  • Short data lifetime
  • Needs to be refreshed continuously
  • Slower as compared to SRAM
  • Used as RAM
  • Smaller in size
  • Less expensive
  • Less power consumption

Computer - Read Only Memory

ROM stands for Read Only Memory. The memory from which we can only read but cannot write on it. This type of memory is non-volatile. The information is stored permanently in such memories during manufacture. A ROM stores such instructions that are required to start a computer. This operation is referred to as bootstrap. ROM chips are not only used in the computer but also in other electronic items like washing machine and microwave oven.

Let us now discuss the various types of ROMs and their characteristics.

MROM (Masked ROM)

The very first ROMs were hard-wired devices that contained a pre-programmed set of data or instructions. These kind of ROMs are known as masked ROMs, which are inexpensive.

PROM (Programmable Read Only Memory)

PROM is read-only memory that can be modified only once by a user. The user buys a blank PROM and enters the desired contents using a PROM program. Inside the PROM chip, there are small fuses which are burnt open during programming. It can be programmed only once and is not erasable.

EPROM (Erasable and Programmable Read Only Memory)

EPROM can be erased by exposing it to ultra-violet light for a duration of up to 40 minutes. Usually, an EPROM eraser achieves this function. During programming, an electrical charge is trapped in an insulated gate region. The charge is retained for more than 10 years because the charge has no leakage path. For erasing this charge, ultra-violet light is passed through a quartz crystal window (lid). This exposure to ultra-violet light dissipates the charge. During normal use, the quartz lid is sealed with a sticker.

EEPROM (Electrically Erasable and Programmable Read Only Memory)

EEPROM is programmed and erased electrically. It can be erased and reprogrammed about ten thousand times. Both erasing and programming take about 4 to 10 ms (millisecond). In EEPROM, any location can be selectively erased and programmed. EEPROMs can be erased one byte at a time, rather than erasing the entire chip. Hence, the process of reprogramming is flexible but slow.

Advantages of ROM

The advantages of ROM are as follows −

  • Non-volatile in nature
  • Cannot be accidentally changed
  • Cheaper than RAMs
  • Easy to test
  • More reliable than RAMs
  • Static and do not require refreshing
  • Contents are always known and can be verified

Introduction to software


Software is a set of programs, which is designed to perform a well-defined function. A program is a sequence of instructions written to solve a particular problem.

There are two types of software

  • System Software
  • Application Software

System Software

The system software is a collection of programs designed to operate, control, and extend the processing capabilities of the computer itself. System software is generally prepared by the computer manufacturers. These software products comprise of programs written in low-level languages, which interact with the hardware at a very basic level. System software serves as the interface between the hardware and the end users.

Some examples of system software are Operating System, Compilers, Interpreter, Assemblers, etc.

Here is a list of some of the most prominent features of a system software

  • Close to the system
  • Fast in speed
  • Difficult to design
  • Difficult to understand
  • Less interactive
  • Smaller in size
  • Difficult to manipulate
  • Generally written in low-level language

Application Software

Application software products are designed to satisfy a particular need of a particular environment. All software applications prepared in the computer lab can come under the category of Application software.

Application software may consist of a single program, such as Microsoft's notepad for writing and editing a simple text. It may also consist of a collection of programs, often called a software package, which work together to accomplish a task, such as a spreadsheet package.

Examples of Application software are the following

  • Payroll Software
  • Student Record Software
  • Inventory Management Software
  • Income Tax Software
  • Railways Reservation Software
  • Microsoft Office Suite Software
  • Microsoft Word
  • Microsoft Excel
  • Microsoft PowerPoint

Features of application software are as follows

  • Close to the user
  • Easy to design
  • More interactive
  • Slow in speed
  • Generally written in high-level language
  • Easy to understand
  • Easy to manipulate and use
  • Bigger in size and requires large storage space
             Comparison between hardware and software

Hardware vs. software

let's talk about two things all computers have in common: hardware and software.
  • Hardware is any part of your computer that has a physical structure, such as the keyboard or mouse. It also includes all of the computer's internal parts, which you can see in the image below.

 
  • Software is any set of instructions that tells the hardware what to do. It is what guides the hardware and tells it how to accomplish each task. Some examples of software include web browsers, games, and word processors. Below, you can see an image of Microsoft PowerPoint, which is used to create presentations.                                                                                               


  • Everything you do on your computer will rely on both hardware and software. For example, right now you may be viewing this lesson in a web browser (software) and using your mouse (hardware) to click from page to page. As you learn about different types of computers, ask yourself about the differences in their hardware. As you progress through this tutorial, you'll see that different types of computers also often use different types of software.

How to write codes on HTML

 Writing codes involves using a code editor and understanding the basic structure and syntax of HTML.

1. Choose a text editor

Simple text editor: Notepad or textedit can be used for basic html coding.

Specialized code editors: Visual Studio Code(VS Code), sublime text, or atom offer features like syntax highlighting, auto completion, and extensions that enhance the coding experience. VS Code is a popular choice and is freely available.

2. Create an HTML file

Open your chosen text editor 

create a new file

save the file name with a .html extension (e.g index.html). This tells your computer and web browsers that it is a html document.

3. Basic HTML structure

All HTML document follow a fundamental structures











4. Understanding html tags and elements

Html uses tags to define elements. Tags are keywords enclosed in angle brackets (e.g. <h1>, <p>, <a>)

Most tags come in pairs: an opening tag and a closing tag. The closing tag includes a forward slash before the tag name (e.g. <h1> and </h1>)

The content between the opening and closing tags forms an html element.

Some tags are self closing or void elements and do not require a closing tag (e.g. <br> for a line break, <img> for an image.>


                                                                              Obunezi destiny
                                                                                     Programmer

Programming Fundamentals

 Introduction: Programming fundamentals are the essential concepts and approaches that underpin the effective use of programming languages. This article provides an overview of those fundamental concepts and approaches, aimed at helping readers understand what they need to learn in order to become proficient in programming. By exploring the core components of programming, readers can gain a better understanding of how different languages work and how to approach learning them. In addition, this article will equip readers with the skills necessary for troubleshooting errors in their code and developing their own programs.


What Is Programming: Programming is the process of creating instructions that tell a computer or device how to do something. It involves learning the basics, writing code using libraries and making sure your. code is readable, optimized and follows good software architecture principles.

When programming you are essentially constructing a set of instructions for a computer or other device to follow. These instructions can be simple or complex depending on the task at hand.

To this end, programming requires an understanding of both the language being used as well as the underlying principles of problem solving and logical thinking. 

By mastering these fundamentals, one can create powerful applications that meet the needs of users.

Programming is about utilizing available resources in an efficient and effective manner, it entails critical thinking to ensure that code is written in such a way that it can be maintained overtime and is optimized for performance.

With practice and patience, anyone can become proficient in programming and gain satisfaction from creating programs that solve problems and fulfill user needs.


Variables And Data Types

In this section we will discuss the important topic of variables and data types. Variables are essential component in programming, as they provide a means of storing and accessing data. Data types are the building blocks used to define the type of information stored in a variable.

When working with variables, it is important to understand how to compare different data types and follow the correct naming conventions for each type. It is also necessary to have an understanding of data type coercion and casting, which allows for one type of data to be converted into another type. Finally, it is important that programmers consider type safety when dealing with different kinds of data.


Below is a list of topic discussed in this session

1. Data types comparison.

2. Variable naming conventions 

3. Data type coercion 

4. Data type casting

5. Type safety 

By gaining an understanding of these topics, you will be able to confidently work with various data types and apply them effectively in your development project.


Operators and Expression 

In programming, operators are symbols that perform operation on one or more operands.

Expressions are combination of variables and operators which result in a value, they can be used to modify values assign values to variables or create conditions for performing certain tasks.

Precedence rules dictate the order in which operators should be evaluated when multiple operators are used in an expression.

Type coercion is when an operator forces two operands to the same type before performing a computation, it is biased on operator precedence and associativity rules.

Comparison operators compare two values and return either true or false, they include equal to (==), greater than(>), less than(<), not equal(!=), greater than or equal to(>=), and less than or equal to (<=).

This is useful for creating logic statements such as if/else statements and while loops.

With these fundamentals in place, programmers have a powerful toolset for manipulating data and controlling program flow.


Control flow statements

Control flow statements are a crucial part of programming fundamentals. They allow developers to structure interactive loops and branching logic to control the flow of a program.

If/Else logic is one of the most commonly used control flow statements, as it enables developers to make decisions based on conditions that are being evaluated by the program.

Looping constructs, such as for and wild loops, provide a way for developers to efficiently iterate through instructions in a program.

All these control flow elements are essential for managing program flow effectively. Understanding how to write effective control flow statements within an application is an integral part of becoming a successful programmer.


Functions And Subroutines

Functions and Subroutines are fundamental building blocks of programming that provide a way to logically structure code. They allow for data abstraction, code reuse, memory management, error handling, and Subroutines calls.

Functions are self contained pieces of code that perform a specific task and return a value. Subroutines are similar to functions but do not return a value. Instead they perform an action such as printing or displaying data.

When writing functions and Subroutines, it is important to keep in mind their purpose. Functions should be used to calculate values while Subroutines can be used for tasks like formatting output or displaying messages. Furthermore, it is important to use meaningful names for functions and Subroutines in order to make the code more readable and maintainable.

Additionally, parameters should be carefully chose. based on the purpose of the function or subroutine in order to ensure the desired result is achieved.

Finally, it is essential for developers to understand how functions and Subroutines work and how they interact with other components of the programming language in order to write effective code. By utilizing functions and Subroutines effectively, developers can create powerful programs that are efficient, maintainable, and extensible.


Object Oriented Programming

Object Oriented Programming is a programming approach which focuses on the construction of objects, rather than traditional procedural programming. Classes are a core concept of Object Oriented Programming, as they are used to define the attributes and behaviours form a parent class, and polymorphism is the ability to use a common interface to interact with objects of different types within a program.

Classes

Classes are a fundamental part of Object Oriented Programming, and serve as the primary tool for encapsulating principles, memory management and code reusability.

Classes enable developers to define object that contain both data and methods that can be used to manipulate that data. By allowing developers to create custom classes with specific properties and methods, they can gain increased control over the behaviour of their program.

Additionally, classes enable efficient memory management by allowing objects to be stored in memory once and then used multiple times. Finally, classes provide code reusability by enabling developers to create objects based on existing templates or code snippets.

As such, classes are an essential concepts for any programmer looking out maximize their efficiency and productivity when working on an object Oriented project.


                                                                                  

                                                                                    Obunezi Destiny                                                                                                                                  Programmer

How to Grow as a Programmer

 To grow as a programmer, you have to code daily, build diverse projects, join and participate in developer communities, learn new skills and languages, contribute to open source projects, and seek out mentorship. Consistently practicing problem solving through coding challenges, reading other people code, refactoring your own code, and improving soft skills are also crucial for continous development.

1. Practice and Skill Development

Code consistently: Aim to write code every day, even if its just for a short period, to build momentum and reinforce your knowledge.

Build real world projects: Apply what you learn by creating diverse projects, from simple apps to more complex applications to gain practical experience.

Solve coding challenges: Use platforms like LeetCode, HackerRank, or Codewars to proactice and improve your problem solving abilities and understanding of data structures and algorithms.

Read other people's code: Analyze code from experienced developers to learn different patterns, identify potential issues, and improve your own coding style.

Learn new languages and frameworks: Broaden your skill set by exploring different programming languages, frameworks, and emerging technologies.

2. Community and collaboration

Join online and local communities: Engage with developer communities on platforms like GitHub or Reddit to share ideas and learn from others.

Contribute to open source projects: Participating in open source can help you collaborate with experienced developers, improve your code quality and build your portfolio.

Find a mentor or collaborate with peers: Learn from experienced programmers by seeking a mentor or team up with a friend to teach each other and work through problems together.

Attend tech meetups and conferences: These events offer opportunities to learn from talks and network with other developers in your field.

3. Continuous learning  and mindset

Never stop learning: The field of programming constantly evolves, so stay curious and continue to learn new things.

Develop strong soft skills: Communication, teamwork, and debugging are crucial skills that complement technical abilities.

Understand the fundamentals: Build a strong foundation in basic concepts, as this will make it easier to understand advanced topics and appreciate different technologies.

Take on challenging projects: Step outside your comfort zone by tackling projects that are slightly beyond your current skill set to accelerate your learning.

How To Design a Simple Website

To design a website, first define it's purpose and audience, then choose a website platform like a website builder (e.g, Wix GoDaddy).Next, plan your site's architecture with a sitemap and wireframes, create essential pages, and gather your context (text, images, graphics.) Finally, customize your site using a template, optimize it for user experience(UX) and search engines (SEO), thoroughly test it, and then launch and monitor it.


1. Plan your website

Define your goal: Determine the primary purpose of your website (e.g sell products, share information, build a community).

Know your audience: Understand who your target users are and what they need or expect from your site to inform design decisions.

Create a site map: Map out the structure of your website and how pages will link together to form a logical navigation system.

Develop Wireframes: Create simple, blueprints like designs for each page to lay out content and functionality without focusing on visual details yet..


2. Choose Your Tools

Website Builder: Select a user friendly platform like Wix, or GoDaddy that provides hosting design tools, and templates, especially if you're not a coder.

Domain Name: Pick and register a domain name (your website's address) that is memorable, relevant, and easy to type.


3. Design and Content

Select a Template: Choose a pre-designed template that aligns with your brand and site goals.

Customize Your design: Tailor the template to your brand and site goals.

Create Content: Develop engaging and valuable content, including text, images, and graphics, ensuring it is easy for your audience to understand.


4. Optimize and Launch

User Experience (UX): Ensure your website is easy to navigate and looks good on all devices, especially mobile phones.

Search Engine Optimization (SEO): Optimize your site with relevant keywords and content to help search engines understand it and rank it higher in search results.

Test your website: Test every button, link and form to ensure everything functions correctly before live.

Launch: Publish your website to make it live online.


5. Monitor and Improve

Monitor Performance: Use analytics tools to track how your website is performing and what visitors are doing on your site.

Iterate: Continuously make adjustments and improvements based on performance data to keep your website effective and relevant.


                                                                         

                                                                       Obunezi Destiny                                                                                                                                              Programmer

How to make money through blogging


To make money through blogging, you first need a profitable specialized topic and build a quality blog, then implement monetization strategies like affiliate marketing, selling digital products or physical products and merchandise running advertisements, creating paid membership communities or offering services and consulting. Building an email list, promoting your content through social media and SEO, and focusing on providing consistent valuable content are key to growing your audience and increasing your earning potential.

1 Build a strong blog foundation
Choose a niche: Select a profitable and interesting topic for your blog.
Create quality content: Consistently publish valuable, long form content that target relevant keywords and is optimized for search engines.
Build an email list: Use this list to promote new content and offers to your audience directly.
Promote your blog: Utilize social media, SEO and collaborations to drive traffic to your site.

2 Monetization strategies
Affiliate marketing: Partner with brands and earn a commission by recommending their products or services to your audience.
Display ads: Join ads network like Google AdSense or Mediavine to place ads on your blogs and earn money based on clicks and views.
Sell digital products: Offer merchandise or other physical goods related to your blogs niche.
Offer Services: Provide freelance  services such as content creation, editing, or consulting related to you expertise.
Sponsored content: Write sponsored posts or products reviews for brands.
Memberships Communities or Paid Subscriptions: Offer exclusive content to a paid community for subscribers.

3 Grow your income
Diversify revenue streams: Don't rely on just one method, combine several strategies to maximize your earnings.
Scale your content and audience: The more traffic and audience your blog generates, the more opportunities you will have to monetize it.
Partner with brands and agencies: As your blog influence grows, you can secure more lucrative partnerships.
Monetize other platforms: Expand your reach and income by monetizing related YouTube videos.
With this  few key words, I can assure you that you can make money through blogging.

                                                                         
                                                           
Obunezi Destiny
                                                                 Programmer