Encompasses human behavior, workplace ethics, compliance.
Focuses on Internet-related issues like privacy and content publication.
Importance of Computer ethics
Protect personal and commercial information.
Control plagiarism, identity fraud, copyrighted material misuse.
Ensure ICT accessibility for all, including disabled and deprived.
Prevent dishonest business practices and promote fair competition.
Promote moral and social values in society.
Concept of Information Security
More than just preventing unauthorized access.
Prevents unauthorized access, use, disclosure, disruption, etc.
Applies to physical and electronic information.
Encompasses various data types, including personal details.
Spans research areas like Cryptography, Mobile Computing, etc.
Information Security vs. Cyber Security
Focus:
Information Security: Primarily concerned with safeguarding data from unauthorized access, disclosure, and modification, ensuring confidentiality, integrity, and availability.
Cyber Security: Focuses on protecting computer systems, networks, and digital assets from cyber threats, including attacks and breaches.
Scope:
Information Security: Encompasses physical and digital data across various forms.
Cyber Security: Centers on digital assets, online threats, and vulnerabilities in the cyber realm.
Components:
Information Security: Involves policies, procedures, access controls, data classification, and risk management.
Cyber Security: Includes firewalls, intrusion detection systems, antivirus software, encryption, and incident response.
Emphasis:
Information Security: Stresses confidentiality, integrity, and availability of information.
Cyber Security: Emphasizes protection from cyberattacks, data breaches, and maintaining system functionality.
Application:
Information Security: Relevant to all aspects of data handling, storage, and transmission.
Cyber Security: Specifically addresses online threats and digital systems.
Examples:
Information Security: Securing physical documents, complying with regulations, data disposal.
Both fields are closely related and often overlap due to the digital nature of modern information management.
Collaboration:
Effective protection often requires collaboration between information security and cyber security experts.
Evolution:
Both fields evolve to adapt to new technologies and emerging threats in the digital landscape.
Foundation:
The principles of both fields contribute to a comprehensive approach to overall organizational security.
Information security principles
Basic principles/component of Information Security are CIA:
Confidentiality:
Prevents unauthorized disclosure of information.
Example: Password seen during login, compromise occurred.
Breach of confidentiality when unauthorized individuals access information.
Integrity:
Ensures accuracy and completeness of data.
Prevents unauthorized editing or tampering.
Example: Employee leaves, data updated across departments.
Only authorized personnel are allowed to edit data.
Availability:
Information accessible when needed.
Collaboration across organizational teams.
Example: Checking employee’s leave status.
Denial of service attacks can disrupt availability.
Information Security Policy
To prevent and mitigate security breaches.
To make security policy truly effective.
To change the company, new threats, conclusions drawn from previous breaches.
Make information security policy practice and enforceable.
Information security measures
Technical Measures
Organizational Measures
Human Measures
Physical Measures
Concept of Cybercrime
Crime committed using network-connected devices.
Perpetrators called cyber criminals or cyber crooks.
Growing digitization leads to increased cybercrime.
Attack computer networks or devices using IT skills.
Aims: Obtain business information, break accounts, identity theft.
Include revenge porn, cyber-stalking, harassment, bullying.
Also involve child sexual exploitation.
Types of Cybercrime:
Active Attack:
Intended to cause harm or disruption to system or network.
Use malicious code, viruses, worms, Trojans, and other forms of malware to carry out active attack
Attackers take direct and intentional action that causes harm.
Passive Attack:
Attacker intercepts and monitors data transmissions without altering or affecting the target system or data.
Aims to gather sensitive information, such as passwords, financial data, or confidential communications, without the victim’s knowledge.
Designed to be discreet and undetectable, making it challenging for the victim to realize that their data is being compromised.
Hacking:
Unauthorized access to personal information for illegal gain.
Include unauthorized access, data theft, service disruption, and more.
Hacking techniques evolve, requiring ongoing security measures to counteract attempts.
DDoS (Distributed Denial of service) Attacks:
Overwhelm target with traffic to render it inaccessible.
Utilize compromised devices in a botnet for traffic generation.
Detection involves monitoring traffic patterns and spikes.
Identity Theft:
Stealing personal information for financial fraud.
Unauthorized acquisition and use of someone’s personal information.
To assume the victim’s identity for financial gain or fraudulent activities.
Credit card fraud:
Unauthorized use of credit card information for financial gain.
To make fraudulent transactions using stolen card details.
Personal data like credit card numbers and CVVs are targeted.
Cyberstalking:
Harassment or stalking using digital communication and online platforms.
Involves persistent and unwanted online attention towards a victim.
Uses technology to intimidate, control, and cause fear in victims.
Cyber extortion:
Demanding money or something of value through online threats or attacks.
Impact on victims’ finances, reputation, and operational continuity.
Can lead to financial losses, data exposure, and damage to brand image.
Crypto jacking:
Illegitimate use of others’ computing resources to mine cryptocurrencies.
To generate digital currency for the attacker’s benefit.
Methods involve infecting devices with malware to mine cryptocurrencies.
Cyberbullying:
Insulting, harassing, or threatening via the internet.
Harassing, intimidating, or targeting individuals using digital communication.
Involves repetitive and harmful behavior through online platforms.
Cyber Espionage:
Covert and unauthorized gathering of sensitive information through digital means.
Aim is to obtain valuable data for political, economic, or military advantage.
Can lead to compromised diplomatic relations, financial losses, and weakened defense.
Social Engineering:
Cybercriminals make contact through calls, emails, or in person.
Pretend as legitimate entities to gain trust.
Aim: Obtain personal and important information.
Malicious Software and Spam
Malicious Software
Malware stands for malicious software, targeting computers and networks.
It encompasses harmful programs intended to delete, modify, block, or copy data without authorization.
Coined by Yisrael Radai in 1990, but examples of malware date back to earlier times.
One of the earliest instances is the Creeper virus in 1971, an experiment by Robert Thomas.
Different Types of Malware
Computer Virus:
Malicious software that self-replicates and attaches to other files.
Activates secretly when the host program is run.
Types: Memory-Resident, Program File, Boot Sector, Stealth, Macro, Email Viruses.
The example of computer virus include
Install the operating system, stay in RAM from boot to shutdown.
Rare due to modern OS security and Internet precautions.
Infects executable files (e.g., .EXE, .COM) to increase chances of execution.
Distributed through email messages, activated when attachments or links are interacted with.
Encoded as macros embedded in documents, often in applications like Word and Excel.
Worm:
Malicious software that self-replicates like viruses.
Automatically executes itself, unlike viruses that need a host program.
Spreads over networks quickly, capable of causing substantial damage rapidly.
Trojan Horse:
Non-replicating program.
Appears legitimate but contains malicious code.
Gains trust and performs harmful activities when executed.
Used by hackers for stealing passwords, data destruction, and more.
Difficult to detect due to its deceptive nature.
Logic Bomb:
Malicious code triggered by specific events or conditions.
Remains dormant until triggered.
Used for unauthorized access, data destruction, or harm.
Hidden within legitimate software.
Difficult to detect until activation.
Causes damage or disruption at a specific time/event.
Zombies:
Compromised computers/devices controlled by remote attackers.
Part of a botnet network for malicious activities.
Used for DDoS attacks, malware spreading, and data theft.
Devices include computers, smartphones, IoT devices, etc.
Users may not be aware of their devices being used.
Prevention requires security measures and updates.
Phishing:
Phishing is a cyberattack that tricks users into revealing sensitive information or performing actions.
Attackers use deceptive emails, websites, or messages to appear legitimate.
Goals include stealing passwords, financial data, or installing malware.
Phishing preys on human psychology and social engineering techniques.
Users should be cautious and verify the authenticity of requests before sharing information.
Spyware:
Secretly records user information.
Sends collected data to third parties.
Information can include accessed files, online activities, and keystrokes.
Adware:
Displays advertising banners during program execution.
Can function like spyware, collecting confidential information.
Aims to gather data from victim’s computer for various purposes.
Ransomware:
Ransom malware that blocks user access to files/programs.
Demands ransom payment through online methods.
Paid ransom allows user to regain access to their system
Rootkit:
Malicious software altering OS functionality stealthily.
Enables hacker to gain complete control as system administrator.
Designed to hide their presence on the victim’s system.
Botnet:
Compromised computer/device networks under remote control.
Used for various malicious activities.
DDoS attacks, spam distribution, data theft, etc.
Infected devices become “bots” or “zombies.”
Central control by operators for coordinated attacks.
Prevention requires security practices and updates.
Spam:
Unsolicited and often mass emails sent to numerous recipients.
Promotes products, services, scams, or fraudulent schemes.
Can include email, SEO, social networking, mobile, and messaging spam.
Aims to manipulate search results, exploit social platforms, and target mobile users.
Clogs inboxes, distracts from legitimate emails, and can be ignorable.
Spreads across various digital communication channels.
Adverse effects include annoyance, deception, and potential security risks.
Symptoms of Malware attack:
Unexpected Crashes
Slow System
Excessive Hard Drive Activity
Strange Windows
Peculiar Messages
Bad Program Activity
Random Network Activity
Erratic Email
Blacklisting IP Address
Unexpected Antivirus Disabling
Protection from Cybercrime
Keep your computer and software updated:
Regularly apply patches and software updates to prevent vulnerabilities.
Use a non-administrator account whenever possible:
limiting the privileges of the user, reducing the potential impact of security breaches or malicious activities.
Think twice before clicking links or downloading anything:
When clicking links or downloading files is essential to prevent potential exposure to malware, phishing, and other online threats.
Be careful about opening email attachments or images:
When opening email attachments or images is important to avoid potential risks of malware infection, phishing attempts, and other malicious activities.
Don’t trust pop-up windows that ask you to download software:
Being sceptical of pop-up windows that prompt you to download software is important to prevent unwittingly installing malicious or unwanted programs on your device.
Limit your files-sharing:
Limiting file sharing helps control the exposure of sensitive information and reduces the risk of unauthorized access or sharing of confidential data.
Use antivirus/antimalware software:
Utilizing antivirus and antimalware software enhances your device’s protection by identifying and mitigating potential threats, ensuring a safer online experience.
Secure your Network:
To prevent unauthorized access, data breaches, and cyberattacks by implementing strong passwords, encryption, and proper network configuration.
Backup your Files:
Regularly backing up your files ensures that important data is not lost in case of hardware failure, malware attacks, or other unforeseen events.
Use Multiple Strong Passwords:
Avoid repeating passwords on different sites.
Create complex passwords with letters, numbers, and symbols.
Consider using a password management application.
Keep Your Social Media Accounts Private:
Set privacy settings on social networking profiles.
Be cautious about sharing personal information online.
Intellectual Property Right (IPR)
Legal rights safeguarding intellectual creations like inventions, artistic works, and more.
Provides exclusive use of intangible assets for a specific period.
Encompasses copyrights, patents, trademarks, and trade secrets.
Types of Intellectual Property Right
Copyright and related rights:
Copyright is an IPR that safeguards literary, artistic, and technological creations, including writings, music, fine arts, computer programs, and databases.
Patents:
Patent is an exclusive right granted to inventors to prevent unauthorized commercial use of their invention for a limited time, in exchange for public disclosure of the invention’s details.
Trademarks:
Trademark is a distinguishing sign that identifies goods or services of one entity from others. It has historical roots in artisans’ marks and serves to establish brand identity.
Industrial designs:
Industrial design pertains to the aesthetic aspects of an article, encompassing both three-dimensional features like shape and surface, as well as two-dimensional elements like patterns and colors.
Geographical indications:
Geographical indications and appellations of origin are signs used on goods with a specific geographical origin, indicating qualities and characteristics linked to that place of origin, often identified by the name of the place.
Trade secrets:
Trade secrets are confidential and exclusive information such as procedures, systems, formulas, etc., that provide a competitive advantage to a company, contributing to its success.
Why should we promote and protect intellectual property?
Encourages innovation and creativity.
Drives economic growth and job creation.
Preserves cultural heritage and traditional knowledge.
Ensures fair competition and prevents unauthorized use.
Attracts investment and foreign direct investment.
Supports research and development activities.
Facilitates global collaboration and knowledge sharing.
Benefits consumers by ensuring product quality and origin.
Fosters cultural and artistic expression.
Intellectual property rights (IPRs)
Legal rights protecting intellectual creations.
Encompass inventions, art, products, and more.
Types include copyrights, patents, trademarks, trade secrets.
Encourage innovation, creativity, and economic growth.
Foster fair competition and prevent unauthorized use.
Attract investment and support research.
Preserve cultural heritage and traditional knowledge.
Ensure product quality and origin for consumers.
Facilitate global collaboration and partnerships.
Digital Signature
Electronic form of signature to authenticate sender’s identity or document signer.
Ensures original content integrity and prevents tampering.
Transportable and not easily imitated.
Provides non-repudiation, authentication, and message integrity.
The Government of Nepal adopted digital signatures officially on December 2, 2015.
Utilizes cryptographic measures for authenticity, non-repudiation, and integrity.
Working mechanism of digital signature
Two keys are generated : Private key and Public key.
Private key kept by signer and kept securely.
Public key owned by the receiver to decrypt the message.
Hash function:
Hash function generates a fixed-length string from data using a mathematical algorithm.
It works for files of any size, like emails, documents, or images.
The generated hash is unique to the input data.
Hashing is a one-way process; you can’t reverse it to find the original data.
Even a small change in input data produces a significantly different hash.
Used in data integrity verification, password storage, digital signatures, etc.
Public Key Infrastructure (PKI):
PKI facilitates digital signatures and more.
It involves a private-public key pair for each transaction.
Private key is kept secret and used for signing.
Public key is used for validating signatures.
Ensures secure key generation, usage, and storage.
Involves a trusted Certificate Authority (CA).
Certificate Authority (CA):
Digital signatures rely on public-private key pairs.
Assurance of secure key creation and usage is vital.
CAs are trusted third-party organizations.
CAs ensure key security and provide digital certificates.
CAs validate identities before issuing certificates.
Digital certificates are digitally signed by CAs.
Digital Certificate:
Issued by a Certificate Authority (CA).
Contains public key and associated identity.
Used to confirm the key’s ownership.
CA acts as a guarantor of authenticity.
Valid for a specified time.
Necessary for creating a digital signature.
Advantage and Disadvantages of Digital Signature:
Advantage of Digital Signature:
Enhanced security and resistance to forgery.
Authenticates sender’s identity.
Ensures data integrity.
Provides non-repudiation.
Saves costs and time.
Increases efficiency in workflows.
Globally accepted for legal purposes.
Positive environmental impact.
Simplifies audit trail creation.
Integrates well with digital workflows.
Disadvantage of Digital Signature:
Dependence on technology and digital infrastructure.
Complex implementation and management.
Key management challenges.
Variability in legal recognition.
Infrastructure requirements for both parties.
Initial costs for implementation.
User acceptance and familiarity concerns.
Potential for misuse or fraudulent activities.
Complex revocation processes.
Risk of sensitive data exposure during transfer.
Cyber Law in Nepal
Governs legal matters related to computers, internet, data, software, and networks.
Encompasses legal issues in cyberspace.
Pertains to preventing internet-related crimes.
Area of Cyber Law
Electronic and Digital Signature:
Computer Crime:
Intellectual Property:
Data Protection and Privacy:
Telecommunication Laws:
Cyber law in Nepal
Cyber Law covers diverse issues tied to the internet and technology.
Encompasses intellectual property, privacy, expression, and jurisdiction.
Nepal’s first cyber law is the Electronic Transaction Act, 2063.
Responds to the increasing internet use in Nepal.
Addresses commercial, private sector, and criminal aspects.
Covers digital signatures, intellectual property, and cybercrime.
Consists of 12 sections and 80 clauses.
Focuses on computer networks and cybercrime.
Brings cybercriminals to court and imposes penalties like other crimes.
Provisions included in the laws:
Comprehensive coverage of cyber activities.
Key legislation for Nepal’s IT industry development.
Criminal and civil consequences for hacking, data theft, and more.
Penalties include imprisonment up to 5 years or fines.
Focus on severity and repetition of the crime.
Enhanced security for electronic banking transactions.
Boosts economic activities over the internet in Nepal.
Legal recognition for government websites and digital signatures.
Applies to e-banking, e-commerce, and more electronic media.
ICT Policy in Nepal
ICTs are essential for sustainable development and economic growth worldwide.
They transform social interactions and public service delivery.
Nepal considers ICTs crucial for poverty reduction and development goals.
Efficiency is a key indicator of competitiveness, and ICTs contribute to efficiency.
ICTs play a role in better governance, education access, healthcare outreach, and economic growth.
Challenges arise from the fast-paced nature of ICT innovation and evolving policy needs.
Policy formulation needs to adapt to technological trends, including cybersecurity, data protection, privacy, and intellectual property rights.
Addressing challenges of technological convergence and regulatory governance is important.
As telecom connectivity expands, focus shifts to strengthening demand-side fundamentals.
ICTs offer a tool to bridge development gaps and improve citizens’ quality of life.
Vision
Goal to transform Nepal into an information and knowledge-based society and economy.
Mission
To create conditions for the intensified development and growth of ICT sector as a key driver for
Nepal’s sustainable development and poverty reduction
Major Objectives
Make ICT accessible and affordable to all citizens.
Develop and expand ICT infrastructure.
To promote good governance through the use of ICT.
Achieve sustainable and inclusive socio-economic development through the use of ICT
Create the opportunities of human resources development through the use of ICT.
Policy:
Promote a stable, fair and competitive investment climate.
Facilitate the development of e-Trade and E-Commerce activities.
Enhance competitiveness of farmers through ICT in agriculture.
Improve communication systems for tourism development.
Support e-Government planning and strategies.
Develop ICT services to bridge the digital divide.
Ensure efficient use of ICT infrastructure for resilience.
Enhance institutional capacity for ICT education in educational institutions.
Increase enrollment and output of students in key ICT-related skills.
Deploy ICTs in education for better outcomes and expanded access.
Facilitate youth and women’s participation in ICT, media, and content development.
Address gender-based inequalities in ICT initiatives.
Promote use of free and open source software in government.
Develop a competitive and regulated ICT industry through innovation and partnership.
Attract ICT-related foreign investments, especially in the IT-ITES/BPO sector.
Utilized ICT for social and economic development.
Expand broadband services through national telecommunications infrastructure.
Utilize regional and international telecom infrastructure for economic integration.
Safeguard public sector information and investments from negative ICT impacts.
Facilitate e-Trade and E-Commerce with a stable investment climate.
Introduction to Multimedia
Combines text, graphics, audio, and video on computers.
Enables navigation, interaction, creation, and communication.
Offers various ways to communicate information.
TV, animated films, radio broadcasts use different media.
Integration and interactivity through digitization.
Easy feedback enhances interaction.
Flexibility for different situations and audiences.
Applicable to individuals and groups.
Useful for web page creation.
Enables distance education and video conferencing.
Disadvantage of Multimedia:
Information overload: Can present too much information at once.
Compilation time: Takes time to create the original draft.
Cost: Utilizing various resources can be expensive.
Practicality: Large files (video, audio) affect loading times.
Limited distribution: Accessibility issues in remote or poor areas.
Application of Multimedia
1) Education:
Education is a human right for all.
Challenges like geography, technology, lack of higher education options.
Distance education options available: CBT (CD-based) and WBT (Web-based).
CBT offers CD-based courses, while WBT provides online courses.
Smart education tools in schools and colleges for interactive learning.
Many universities offer online degrees and distance education.
Learning becomes engaging and enjoyable.
2) Entertainment and Games:
Education is a human right for all.
Challenges like geography, technology, lack of higher education options.
Distance education options available: CBT (CD-based) and WBT (Web-based).
CBT offers CD-based courses, while WBT provides online courses.
Smart education tools in schools and colleges for interactive learning.
Many universities offer online degrees and distance education.
Learning becomes engaging and enjoyable.
3) Business:
Includes product demos, instant messaging.
Voice and live conferencing are excellent applications.
Engages audiences and widely used in programs.
Mechanics and various professionals can benefit.
Easy-to-use authoring tools for program creation.
Applications enhance smooth and effective operations.
4) Communication:
Multimedia tools allow cost-effective communication via live text, audio, and video chats.
This enhances daily communication’s ease, efficiency, and effectiveness.
Interactive multimedia-based social networking platforms like Facebook, Twitter, and Hi5 make communication faster across different time zones.
Communication through these platforms comes at a nominal cost.
5) Training:
Various systems available for training students.
Covers subjects from mathematics to complex medical procedures.
Incorporates audio clips and multi-angled views for practical skills.
Equipped with decision-making utilities for personalized training.
Uses video sequences to clarify concepts.
6) Web Page Designing:
Websites today serve as information sources for organizations and individuals.
Multimedia tools like images, audios, videos, and animations are used to interactively share information with users.
This approach enhances clarity in delivering information to recipients.
Various types of websites, such as news, educational, medical, business, and personal sites, adopt dynamic layouts for attractive and engaging web pages.
7) Journalism:
Modern journalists have expanded roles, including reporting, photography, editing, interpretation, and design.
Proficiency in multimedia tools is crucial for effectively designing and editing news articles.
Journalists gather diverse field footage to create captivating audio and visual content.
This multimedia approach ensures easy global accessibility to news content.
8) Engineering:
Software engineers frequently employ multimedia tools for tasks like computer graphics, simulations, and product demonstrations.
These tools have versatile applications, spanning scientific research to entertainment design.
Utilizing multimedia tools yields productive results for business entrepreneurs.
The impact of such usage extends to future societal implications.
9) Advertising:
Internet’s rise changed advertising.
Multimedia is crucial in advertising.
Used in both print and electronic ads.
Created using professional software.
Presents to target audiences effectively.
10) Virtual Reality:
Enables user interaction with computer-simulated environments.
Environment can mimic the real world or be completely different.
Used in training (pilot, combat, surgery) and games.
Built on multimedia technology.
11) Medicine:
Doctors trained with virtual surgery and disease simulations.
Develop techniques to prevent virus and bacteria spread.
Multimedia aids practical training and skill development.
Introduction to Web Development
Webpage and Website
Webpages:
Digital document on the World Wide Web.
Written in languages like HTML, CSS, JavaScript.
Contains text, images, videos, links, and more.
Delivers information, media, and functionality.
Retrieved from a web server using a URL.
Accessed through browsers via URLs.
Contains text, graphics, and hyperlinks.
Can be static (unchanging) or dynamic (changing content).
Dynamic pages use scripting languages like PHP, Perl, ASP, JSP.
Scripts on server generate content like date, time, and database info.
Content returned as HTML code.
Browsers translate HTML for display.
Websites:
Collections of interconnected web pages.
Hosted on a single domain or web address.
Accessed through web browsers.
Provide information, resources, and services.
Created using HTML, CSS, JavaScript.
Can include multimedia elements.
Accessed via URLs in web browsers.
Collection of interconnected web pages.
Grouped together and linked.
Referred to as “web site” or “site.”
Created by individuals, groups, businesses, or organizations.
Serve various purposes and functions.
Accessed through web browsers.
Enter URL in browser’s address bar to visit a site.
Search engines help find websites.
Web Browsers and Search Engines
Software for locating, retrieving, and displaying web content.
Enables access to web pages, images, videos, and files on the World Wide Web.
Allows users to enter website addresses and browse the internet.
Essential for accessing websites and online content.
Early browsers like Mosaic and Netscape Navigator rendered HTML and supported bookmarks.
Modern browsers handle HTML, JavaScript, AJAX, multimedia, and more.
Many browsers offer extensions and plugins for added functionality.
Examples include Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge, Internet Explorer.
Web Development Process
Planning and Requirement Analysis:
Define the purpose, goals, and target audience of the website.
Gather requirements, features, and functionalities.
Design:
Create wireframes or mockups outlining the layout and structure.
Design the user interface (UI), including colors, typography, and visual elements.
Development:
Write HTML, CSS, and sometimes JavaScript code to create the user interface.
Ensure responsiveness for various devices and screen sizes.
Develop the server-side logic and databases.
Implement functionality, data processing, and interactions.
Integration:
Combine the front-end and back-end components.
Test for compatibility and data flow between both ends.
Testing Deployment:
Perform comprehensive testing, including functionality, usability, performance, and security.
Identify and fix bugs and issues.
Upload the website to a web server or hosting platform.
Configure domain, server settings, and databases.
Launch:
Make the website live and accessible to the public.
Monitor for any issues that might arise after launch.
Overview of Various Internet & Web Technologies
Overview of Internet
Global network of interconnected computers.
Allows communication and sharing of information worldwide.
Built on a decentralized architecture.
Uses standardized protocols like TCP/IP.
Enables access to websites, email, file sharing, and more.
Originated from ARPANET in the 1960s.
Internet Service Providers (ISPs) provide access.
Web browsers are used to access web content.
Facilitates online communication, commerce, and collaboration.
Continuously evolving with new technologies and services.
Uses of Internet
Communication
Information Access
Education
Entertainment
E-Commerce
Research
Work and Business
Social Networking
Banking and Finance
Healthcare
Misuses of Internet
Copyright Infringement
Cyber Crime
Hate Speech
Spread of Misinformation
Web Technology
Refers to technology operating on the World Wide Web.
Enables businesses to enhance tasks and databases with mobility.
Accessible from any location through the Internet.
Also known as SaaS (Software as a Service).
Paid based on usage, no software installation required.
Accessible via simple signup and browser URL.
Example: Configuring devices through a web-based console.
Includes mark-up languages (HTML, CSS, XML), CGI, JavaScript, and HTTP.
Encompasses programming languages, web servers, databases, and business applications.
Protocol
Set of rules for data transmission.
Governs communication between devices/systems.
Defines format, order, and timing of messages.
Enables effective and standardized interaction.
Essential for networks, telecommunications, software applications.
URL
Uniform Resource Locator (URL).
Used to locate resources on the internet.
Includes protocol, domain/IP, and path to the resource.
Standardized way to access web content and files.
Domain Name System
Hierarchical system.
Translates domain names to IP addresses.
Enables user-friendly web addressing.
Facilitates internet resource access.
Email
Digital messages sent over the internet.
Include text, images, attachments, links.
Use protocols like SMTP, POP3/IMAP.
Sent, received, and organized via email clients or webmail services.
Types of Email: Email Client, Webmail.
Content Management System (CMS)
Introduction
Stands for Content Management System.
Manages content using a database.
Used for website development.
Updates content and structure.
Often open-source and free.
May offer paid options like templates and plugins.
Example: WordPress, Wix, Web flow, Tumblr, etc
Content Management Application (CMA), Content Delivery Application (CDA) are two parts of CMS.
Feature of CMS:
User Management: Manage user roles and information.
Theme System: Modify site appearance and functionality.
Extending Plugins: Add custom features using plugins.
Search Engine Optimization (SEO): Built-in SEO tools.
Media Management: Organized and upload media files.
Multilingual: Supports content translation.
HTML the Language of the Web
Scripting language for creating hypertext documents on the web.
Invented by Tim Berners-Lee around 1990.
Based on SGML (Standard Generalized Markup Language).
Later evolved into XHTML (Extensible Markup Language) by W3C.
Uses tags to define structure and presentation of content.
Platform-independent, works on various operating systems.
Browsers interpret HTML tags to display content.
Provides tags for graphics, fonts, colors, and hyperlinks.
Versions include HTML 1.0 (1990), HTML 2.0 (1995), HTML 4.0 (1998), XHTML (2000), HTML 4 (2014).
Objectives of HTML:
Create web pages for websites.
Essential markup language for web pages.
Allows adding graphical elements like videos, images, rich text.
Facilitates customization with HTML5 and newer versions.
Learn coding tools: code editor and browser developer tools.
Create hypertext links to various online resources.
Structure of HTML:
Divided into two parts: the head and the body.
Start with the declaration: ‘<!DOCTYPE html>’.
Four primary container tags: ‘<html>’, ‘<head>’, ‘<title>’, and ‘<body>’.
Tags must appear as pairs with both opening and closing tags.
Published and Hosting (Web Publishing and Web Hosting)
Web Publishing:
Process of sharing content on the internet.
Involves creating websites, updating pages, and posting blogs.
Content includes text, images, videos, and more.
Requires web development software, internet connection, and web server.
Software can be professional tools or web-based interfaces.
Internet connection is needed for uploading content to servers.
Web hosting:
Web hosting can be dedicated or shared.
Web publishing is cost-effective, as it doesn’t require physical materials.
Offers a global audience accessible through an internet connection.
Service for posting websites on the internet.
Web host provides technologies for website viewing.
Websites are stored on servers.
Users access websites by typing the domain in their browser.
Domain ownership often required for hosting.
Choose a reliable web host with good support and minimal downtime.
Pay a monthly fee based on disk space and bandwidth needs.
Estimate site size and traffic before signing up for hosting.
HTML Tags vs. Attributes
Definition of a tag: Group of characters surrounded by ‘<‘ and ‘>’.
Tag sections: Name, attributes, attribute value.
Tag name: Unique identifier.
Attributes: Tag properties, diverse attribute values.
Example: <body> tag, bgcolor attribute with value green.
Two tag types: Single tag, Pair tag.
Basic Tags of HTML
<html> tag
Marks the start and end of an HTML document.
<head> tag
Contains document title and general information (author, copyright, keywords, description).
<body > tag
Defines webpage content displayed in the browser.
Allows use of various HTML tags.
Common attributes of <body> tags are:
Color code format: “#rrggbb”.
rr for red, gg for green, bb for blue.
Values range from 00 to ff in hexadecimal
<meta> tag
‘<meta>’ tag provides metadata about the HTML document.
Includes information like character encoding, author, viewport settings, etc.
Often placed within the ‘<head>’ section of the document.
Heading Tag (H1 to H6) and Attributes (ALIGN)
Heading Tags
Six levels: ‘<h1>’ to ‘<h6>’.
Importance increases from ‘<h1>’ to ‘<h6>’.
Default display: larger and bolder font.
‘<h1>’ is most important, ‘<h6>’ is least important.
Font size decreases from ‘<h1>’ to ‘<h6>’.
Font Tag and Attributes (Sizes: 1 to 7 Levels, BASEFONT, SMALL, BIG, COLOR)
<font> Tag
Sets font properties: color, face, size.
Default font size is 3.
Default color is red.
Default font face is Times New Roman.
<basefont> Tag
Default font size is three.
Modify default size with <basefont> tag.
Use “size” attribute to specify font size.
No closing tag for <basefont>.
Paragraph Formatting (P)
<p> Tag
Marks a block of text as a paragraph.
Adds space between paragraphs in a webpage.
Break Line BR
<br> Tag and <hr> Tag
‘<br>’ tag: Empty element to break a line without space.
‘<hr>’ tag: Insert horizontal rule to visually separate content.
‘<hr>’ is a single tag.
Comment in HTML (<! >)
Comment Tag and Space Character
Start with ‘<!’ and end with ‘>’.
Can span multiple lines.
Can be placed anywhere in the document.
Contents not displayed in browsers.
Formatting Text (B, I, U, Mark, Sup, Sub, EM, BLOCKQUOTE, PREFORMATTED)
General Text Formatting
Utilize tags like bold, italic, underline, font, paragraph, heading, etc.
Basic formatting elements for text.
<br> tag creates line breaks.
<marquee> Tag and <pre>
<marquee> tag:
Creates simple text animations.
Attributes include direction, behavior, width, bgcolor, scrollamount.
<pre> tag:
Maintains formatting from text editor.
Displays HTML code as it’s written.
Special Characters
Ordered List- OL (LI, Type- 1, I, A, a; START, VALUE)
List
Uses numbers for list items.
Defined by <ol> and </ol> pair tags.
Attributes and values can be specified.
Attributes include “type” and “start”.
Unordered List – UL (Bullet Type- Disc, Circle, Square, DL, DT, DD)
Uses bullets for list items.
Supported bullet types: disc, circle, square.
Defined by ‘<ul>’ and ‘</ul>’ pair tags.
Definition List
Represents term and description pairs.
Starts and ends with ‘<dl>’ and ‘</dl>’.
Terms enclosed with ‘<dt>’.
Descriptions enclosed with ‘<dd>’.
Can also be used to create dialogues.
ADDRESS Tag
‘<address>’ tag in HTML shows contact info of a person/organization.
In ‘<body>’, it’s document contact info; in ‘<article>’, it’s article contact info.
Text inside ‘<address>’ appears in italic.
Browsers may add line breaks before and after the ‘<address>’ element.
Inserting Image:
‘<img>’ tag inserts images in web pages.
It’s a pair tag.
Browsers display limited image types: GIF, JPG, and some support PNG.
GIF and JPG are widely supported; modern browsers handle PNG.
JPG is ideal for high quality, compression, and color variety.
JPG format offers attributes and values for customization.
Inserting Object:
Objects are external files like pictures, audio, video, etc.
Create a table named “employees” with columns for id (integer, primary key), name (varchar), age (integer), and department (varchar).
Answer:CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(255), age INT, department VARCHAR(255));
Create a table named “products” in the “company” database with columns for id (integer, primary key), name (varchar), price (decimal), and quantity (integer).
Answer:CREATE TABLE company.products (id INT PRIMARY KEY, name VARCHAR(255), price DECIMAL(10, 2), quantity INT);
Alter the “employees” table to add a new column named “salary” (integer).
Update the price of the product with id 2 to 549.99 in the “products” table.
Answer:UPDATE company.products SET price = 549.99 WHERE id = 2;
Update the stock of the product with id 1 to 40 and its price to 899.99 in the “products” table.
Answer:UPDATE company.products SET stock = 40, price = 899.99 WHERE id = 1;
Update the age of the employee with id 1 to 30 in the “employees” table.
Answer:UPDATE employees SET age = 30 WHERE id = 1;
Update the department of the employee with id 2 to ‘Finance’ in the “employees” table.
Answer:UPDATE employees SET department = 'Finance' WHERE id = 2;
Delete the record with id 3 from the “products” table in the “company” database.
Answer:DELETE FROM company.products WHERE id = 3;
Delete all records from the “products” table where the price is less than 100.
Answer:DELETE FROM company.products WHERE price < 100;
Delete all records from the “products” table.
Answer:DELETE FROM company.products;
Delete all records from the “employees” table where the age is greater than 50.
Answer:DELETE FROM employees WHERE age > 50;
Delete the employee with id 3 from the “employees” table.
Answer:DELETE FROM employees WHERE id = 3;
Select all columns from the “employees” table.
Answer:SELECT * FROM employees;
Select only the “name” and “age” columns from the “employees” table.
Answer:SELECT name, age FROM employees;
Select all employees from the “employees” table where the department is ‘IT’.
Answer:SELECT * FROM employees WHERE department = 'IT';
Select all employees from the “employees” table where the age is between 25 and 35.
Answer:SELECT * FROM employees WHERE age BETWEEN 25 AND 35;
Select all employees from the “employees” table sorted by age in ascending order.
Answer:SELECT * FROM employees ORDER BY age ASC;
Select the oldest employee from the “employees” table.
Answer:SELECT * FROM employees ORDER BY age DESC LIMIT 1;
Retrieve unique values from the “department” column in the “employees” table.
Answer:SELECT DISTINCT department FROM employees;
Retrieve the first 10 records from the “orders” table, ordered by the “order_date” column in descending order.
Answer:SELECT * FROM orders ORDER BY order_date DESC LIMIT 10;
Find the total number of records in the “products” table.
Answer:SELECT COUNT(*) FROM products;
Update the “price” column of the “products” table to 50 where the “category” is ‘Electronics’.
Answer:UPDATE products SET price = 50 WHERE category = 'Electronics';
Delete all records from the “employees” table where the “department” is ‘HR’.
Answer:DELETE FROM employees WHERE department = 'HR';
Retrieve the average salary of employees from the “employees” table.
Answer:SELECT AVG(salary) FROM employees;
Find the highest salary from the “employees” table.
Answer:SELECT MAX(salary) FROM employees;
Retrieve the names of employees who have joined after ‘2020-01-01’.
Answer:SELECT name FROM employees WHERE join_date > '2020-01-01';
Retrieve the second highest salary from the “employees” table.
Answer:SELECT MAX(salary) FROM employees WHERE salary < (SELECT MAX(salary) FROM employees);
Calculate the total sales amount for each product from the “sales” table and group them by product ID.
Answer:SELECT product_id, SUM(amount) AS total_sales FROM sales GROUP BY product_id;
Retrieve all orders where the order amount is greater than $1000 from the “orders” table.
Answer:SELECT * FROM orders WHERE order_amount > 1000;
Find the number of orders placed by each customer from the “orders” table and group them by customer ID.
Answer:SELECT customer_id, COUNT(order_id) AS order_count FROM orders GROUP BY customer_id;
Find the top 5 best-selling products from the “products” table based on the quantity sold.
Answer:SELECT product_id, SUM(quantity_sold) AS total_quantity FROM products GROUP BY product_id ORDER BY total_quantity DESC LIMIT 5;
Retrieve all columns from the “employees” table where the salary is greater than $50000.
Answer:SELECT * FROM employees WHERE salary > 50000;
Find the total number of customers from the “customers” table.
Answer:SELECT COUNT(*) FROM customers;
Retrieve the names and ages of customers from the “customers” table who are older than 30 years.
Answer:SELECT name, age FROM customers WHERE age > 30;
Update the “status” column of the “orders” table to ‘Completed’ where the “order_date” is before ‘2023-01-01’.
Answer:UPDATE orders SET status = 'Completed' WHERE order_date < '2023-01-01';
Delete all records from the “products” table where the “category” is ‘Books’.
Answer:DELETE FROM products WHERE category = 'Books';
Retrieve the names and email addresses of customers from the “customers” table where the email address contains ‘@gmail.com’.
Answer:SELECT name, email FROM customers WHERE email LIKE '%@gmail.com%';
Find the average salary of employees in the “sales” department from the “employees” table.
Answer:SELECT AVG(salary) FROM employees WHERE department = 'Sales';
JavaScript Practical Questions
Write a JavaScript function to add two numbers.
Create a function to subtract two numbers.
Write a function to multiply two numbers.
Create a function to divide two numbers.
Write a JavaScript function to find the square of a number.
Create a function to find the cube of a number.
Write a JavaScript function to find the maximum of two numbers.
Create a function to find the minimum of two numbers.
Write a function to check if a number is positive, negative, or zero.
Create a JavaScript function to check if a number is even or odd.
Write a function to check if a number is a multiple of another number.
Create a JavaScript function to check if a year is a leap year.
Write a function to calculate the area of a rectangle given its length and width.
Create a function to calculate the perimeter of a rectangle given its length and width.
Write a JavaScript function to calculate the area of a circle given its radius.
Create a function to calculate the circumference of a circle given its radius.
Write a function to convert Celsius to Fahrenheit.
Create a JavaScript function to convert Fahrenheit to Celsius.
Write a function to generate a random integer between two specified values.
Create a function to generate a random number between 0 and 1.
Write a JavaScript function to generate an array of specified lengths filled with random integers.
Create a function to find the factorial of a given number.
Write a JavaScript function to check if a given number is prime.
Create a function to find the sum of all numbers in an array.
Write a function to find the average of numbers in an array.
Create a JavaScript function to find the largest element in an array.
Write a function to find the smallest element in an array.
Create a function to find the median of numbers in an array.
Write a JavaScript function to reverse a string.
Create a function to check if a given string is a palindrome.
Write a function to count the number of vowels in a string.
Create a JavaScript function to count the number of words in a sentence.
Write a function to find the longest word in a sentence.
Create a function to remove duplicates from an array.
Write a JavaScript function to sort an array of numbers in ascending order.
Create a function to shuffle elements in an array.
Write a function to truncate a string to a specified length.
Create a JavaScript function to capitalize the first letter of each word in a sentence.
Write a function to find the difference between two dates in days.
Create a function to check if two arrays are equal.
Write a JavaScript function to find the intersection of two arrays.
Create a function to merge two sorted arrays into one sorted array.
Write a function to remove a specific element from an array.
Create a JavaScript function to remove all false values from an array.
Write a function to find the most frequent element in an array.
Create a function to check if an array contains a specific value.
Write a JavaScript function to flatten a nested array.
Create a function to rotate elements in an array to the left by a given number of positions.
Write a function to generate a Fibonacci sequence up to a specified number of terms.
Create a JavaScript function to check if a string contains unique characters.\
C Programming Practical Questions
Write a C program to find the sum of two numbers using a function.
Create a program to calculate the factorial of a number using a function.
Write a C program to check if a number is prime using a function.
Create a program to find the maximum of two numbers using a function.
Write a C program to reverse a string using a function.
Create a program to swap two numbers using call by reference.
Write a C program to sort an array of integers using functions.
Create a program to find the length of a string using a function.
Write a C program to concatenate two strings using functions.
Create a program to find the square of a number using a function.
Write a C program to implement a structure representing a student with fields for name, roll number, and marks in three subjects.
Create a program to calculate the average marks of a student using a structure.
Write a C program to display details of students stored in an array of structures.
Create a program to find the student with the highest marks using structures.
Write a C program to implement a union representing the details of an employee with fields for employee ID, name, and salary.
Create a program to display details of employees stored in an array of unions.
Write a C program to find the employee with the highest salary using unions.
Create a program to swap two numbers using pointers.
Write a C program to reverse an array using pointers.
Create a program to find the sum of elements in an array using pointers.
Write a C program to find the length of a string using pointers.
Create a program to concatenate two strings using pointers.
Write a C program to implement a linked list to store integers.
Create a program to insert a node at the beginning of a linked list.
Write a C program to insert a node at the end of a linked list.
Create a program to delete a node from a linked list.
Write a C program to search for a node in a linked list.
Create a program to reverse a linked list.
Write a C program to implement a stack using an array.
Create a program to push an element into a stack.
Write a C program to pop an element from a stack.
Create a program to implement a queue using an array.
Write a C program to enqueue an element into a queue.
Create a program to dequeue an element from a queue.
Write a C program to implement a stack using linked list.
Create a program to push an element into a stack implemented using linked list.
Write a C program to pop an element from a stack implemented using linked list.
Create a program to implement a queue using linked list.
Write a C program to enqueue an element into a queue implemented using linked list.
Create a program to dequeue an element from a queue implemented using linked list.
Write a C program to copy contents of one file to another.
Create a program to count the number of characters, words, and lines in a file.
Write a C program to find the largest word in a file.
Create a program to append text to a file.
Write a C program to merge two files into a third file.
Create a program to sort lines of text in a file alphabetically.
Write a C program to encrypt and decrypt text in a file.
Create a program to find and replace a word in a file.
Write a C program to search for a specific line in a file.
Create a program to display the contents of a file in reverse order.
PHP Practical Questions
Write a PHP script that connects to a MySQL database and inserts user input from a form into a database table.
Create a PHP script that retrieves user input from a form using the POST method, performs a calculation, and displays the result.
Write a PHP script that retrieves user input from a form using the GET method, performs a database query based on the input, and displays the results.
Create a PHP script that connects to a MySQL database, retrieves user input from a form, updates a specific record in the database based on the input, and displays a success message.
Write a PHP script that connects to a MySQL database, retrieves user input from a form using both POST and GET methods, performs a calculation based on the input, and displays the result.
Create a PHP script that retrieves user input from a form, validates the input, performs a database query to check if the input exists in the database, and displays appropriate messages.
Write a PHP script that connects to a MySQL database, retrieves user input from a form using the POST method, inserts the input into multiple database tables, and displays a success message.
Create a PHP script that retrieves user input from a form using the GET method, performs a database query to fetch relevant data based on the input, and displays the data in a formatted manner.
Write a PHP script that connects to a MySQL database, retrieves user input from a form using the POST method, performs a calculation based on the input, and updates the result in the database.
Create a PHP script that retrieves user input from a form using the GET method, performs a database query to fetch relevant data based on the input, calculates the total based on the retrieved data, and displays the total to the user.
DBMS Viva Question
What is the difference between Data and Information?
Data: Raw facts or symbols without context. “100”, “Ram Shrestha”, “Red”, “12.5°C” are all examples of raw facts or symbols.
Information: Processed data with context and meaning. “There are 100 units of Red product in stock.”, “The temperature is 12.5 degrees Celsius.” are examples of data that have been processed and organized into meaningful contexts, providing useful insights or understanding.
What do you mean by Field, Attribute, Record, Table, and Database?
Field: A single piece of data within a record or row.
Attribute: A characteristic or property of an entity. (Column)
Record: A collection of data in a single row. (Row, Tuple)
Table: A collection of related data organized into rows and columns.
Database: A structured collection of data organized and managed for efficient retrieval and manipulation.
What is a Database Management System?
A software system that allows users to define, create, maintain, and control access to databases. Ex: MySQL, PostgreSQL, Oracle, SQLServer, MS Access, etc.
What are the types of keys in DBMS?
Primary Key: Unique identifier for a record in a table.
Foreign Key: Establishes a relationship with the primary key of another table.
Candidate Key: Minimal set of attributes that uniquely identify a record.
Alternate Key: Candidate key not selected as the primary key.
What are the advantages of DBMS over Excel?
Data Integrity: Enforces data accuracy and consistency.
Data Security: Provides robust access control and encryption.
Concurrent Access: Allows multiple users to manipulate data concurrently.
Scalability: Efficiently handles large volumes of data.
Data Analysis: Supports advanced querying and reporting capabilities.
DML (Data Manipulation Language): Manipulates data (INSERT, UPDATE, DELETE, SELECT).
What is SQL?
SQL stands for Structured Query Language. It is a standard language used for managing and manipulating relational databases.
What is the purpose of SQL?
The purpose of SQL is to manage and manipulate data in relational databases.
What is the purpose of the SELECT statement in SQL?
The SELECT statement is used to retrieve data from one or more tables in a database.
What is the meaning of * in Select Statement in SQL?
* means all. So it will select all columns.
What is the difference between DELETE and Drop commands?
DELETE command is used to remove specific rows from a table, while DROP command is used to remove entire database objects, such as tables, views, indexes, or constraints, from the database.
What is the difference between DELETE and TRUNCATE commands?
DELETE command is used to remove specific rows from a table, while TRUNCATE command is used to remove all rows from a table.
What is the purpose of the WHERE clause in SQL?
The WHERE clause is used to filter records based on a specified condition.
What is the purpose of the INSERT statement in SQL?
The INSERT statement is used to add new rows of data into a table.
What is the purpose of the UPDATE statement in SQL?
The UPDATE statement is used to modify existing data in a table.
What is the purpose of the DELETE statement in SQL?
The DELETE statement is used to remove existing rows of data from a table.
What is the purpose of the ORDER BY clause in SQL?
The ORDER BY clause is used to sort the result set of a query based on specified columns.
JavaScript Viva Question
What is client-side scripting, and how does it differ from server-side scripting?
Client-side scripting manipulates web page content on the client’s browser, while server-side scripting generates content on the server.
Name some popular client-side scripting languages.
JavaScript, HTML, and CSS.
How do we create comments in JavaScript?
In JavaScript, you can create comments using two different methods:
Single-line comments: These comments begin with // and continue until the end of the line. They are used for brief explanations or annotations.
// This is a single-line comment
Multi-line comments: These comments begin with /* and end with */. They can span multiple lines and are typically used for longer explanations or commenting out blocks of code.
/*
This is a multi-line comment.
It can span multiple lines and is useful for longer explanations.
*/
Explain about Global and Local Variable.
Global Variables:
Declared outside of any function.
Accessible from anywhere in the program.
Exist throughout the entire program execution.
Example:
var globalVar = 10;
functionmyFunction()
{
console.log(globalVar);
}
Local Variables:
Declared within a function.
Accessible only within the function where they are declared.
Exists only during the execution of the function.
Example:
functionmyFunction()
{
var localVar = 20;
console.log(localVar);
}
Differentiate between null and undefined.
null:
It represents the intentional absence of any object value.
null is a primitive data type.
It is explicitly assigned to a variable to indicate the absence of a value.
Example:
var x = null;
undefined:
It represents the absence of a value, typically when a variable has been declared but not assigned a value.
undefined is a primitive data type.
It is automatically assigned to variables that have not been initialized or do not have a value assigned.
Example:
var y;
How do you create an array in JavaScript?
var myArray = [10, 20, 30, 40, 50];
console.log(myArray[0]); // Output: 10
console.log(myArray[2]); // Output: 30
Explain the concept of event handling in client-side scripting.
Responds to user actions or browser events, like clicks or page loads.
What is JavaScript, and how does it enhance web development?
JavaScript is a scripting language used for creating interactive and dynamic web content, enhancing user experience through client-side scripting.
Explain the various methods to include JavaScript code in an HTML page.
Methods include inline scripting, external script files, and script tags within the HTML document.
What are the different attributes of the <script> tag, and how do they affect script execution?
Attributes include src (for external scripts), type (specifying the script type), and async or defer (for controlling script execution).
Discuss the placement of <script> tags within an HTML document and its implications.
Placing scripts in the <head> delays rendering, while placing them at the end of the <body> improves page loading.
Explain the concept of inline JavaScript and its advantages and disadvantages.
Inline JavaScript is embedded directly within HTML tags. Advantages include simplicity, but it can clutter HTML and reduce code maintainability.
Explain how to use JavaScript to manipulate HTML elements and modify the content and style of a web page.
JavaScript can access and modify HTML elements using methods like getElementById, querySelector, and properties like innerHTML and style.
Explain the difference between JavaScript and Java.
JavaScript is a scripting language primarily used for client-side web development, while Java is a general-purpose programming language often used for server-side applications.
What are the basic building blocks of JavaScript programs?
The basic building blocks include variables, data types, operators, control structures (like if statements and loops), functions, and objects.
What are data types in JavaScript?
Data types in JavaScript include number, string, boolean, null, undefined, and symbol (introduced in ES6).
Discuss the role of type coercion in JavaScript and provide examples.
Type coercion is the automatic conversion of one data type to another. For example, 5 + '5' results in the string '55' due to implicit type coercion.
What is a variable in JavaScript, and how do you declare one?
A variable is a named storage location for holding data. You declare a variable using the var, let, or const keyword, followed by the variable name.
Explain the rules for naming variables in JavaScript.
Variable names must begin with a letter, dollar sign $, or underscore _, followed by letters, digits, dollar signs, or underscores. They cannot be reserved words.
Discuss the difference between var, let, and const for declaring variables.
var declares a variable with function scope, let declares a variable with block scope, and const declares a constant variable that cannot be reassigned.
Explain the concept of hoisting in JavaScript variable declaration.
Hoisting is a JavaScript mechanism where variables and function declarations are moved to the top of their containing scope during compilation, allowing them to be used before they are declared.
What are operators in JavaScript, and what categories do they fall into?
Operators in JavaScript perform operations on operands. They fall into categories such as arithmetic, assignment, comparison, logical, bitwise, and ternary.
Discuss the difference between unary, binary, and ternary operators, providing examples of each.
Unary operators operate on a single operand (e.g., ++x), binary operators operate on two operands (e.g., x + y), and ternary operators operate on three operands (e.g., condition ? value1 : value2).
Explain the use of arithmetic operators in JavaScript with examples.
Arithmetic operators perform mathematical calculations. Examples include addition +, subtraction -, multiplication *, division /, and remainder %.
Discuss the importance of operator precedence and associativity in JavaScript expressions.
Operator precedence determines the order in which operators are evaluated, while associativity determines the order of evaluation for operators with the same precedence.
Explain the use of comparison operators and logical operators in JavaScript with examples.
Comparison operators compare two values and return a Boolean result (true or false). Logical operators perform logical operations and return a Boolean result.
What are the various pop-ups in JavaScript?
In JavaScript, you can create various types of pop-ups to interact with users.
Alert:
Displays a message in a dialog box with an OK button.
Syntax:
alert("Message");
Prompt:
Displays a dialog box with a message, an input field for the user to enter data, and OK and Cancel buttons.
Syntax:
var result = prompt("Enter your name:", "");
Confirm:
Displays a dialog box with a message and OK and Cancel buttons.
Syntax:
var result = confirm("Are you sure?");
Differentiate between console.log() and document.write()?
console.log():
Used for debugging and logging information to the browser’s console.
Logs messages, variables, objects, or other data to the console.
Messages logged with console.log() are visible only to developers in the browser’s console and are not displayed on the webpage itself.
Example:
console.log("Hello, world!");
document.write():
Used to write HTML content directly to the document.
Writes the specified content directly to the webpage, altering the document’s HTML structure.
Content written with document.write() is added directly to the document and is visible to users on the webpage.
Example:
document.write("<h1>Hello, world!</h1>");
How do we convert a string with numeric value to integer data type?
parseInt() and Number() are both functions in JavaScript used for converting values to numbers.
var result = parseInt(“123”); // Returns 123
var result = Number(“123”); // Returns 123
What is a function in JavaScript?
A function is a block of reusable code that performs a specific task when called or invoked.
How do you declare a function in JavaScript?
You can declare a function using the function keyword followed by the function name, parameters (if any), and function body enclosed in curly braces.
Explain the difference between function declarations and function expressions.
Function declarations are defined using the function keyword followed by a name, while function expressions are created by assigning a function to a variable.
What are the parameters and arguments in a function?
Parameters are variables listed in the function definition, while arguments are the actual values passed to the function when it is called.
Explain the concept of return values in functions.
Return values are values returned by a function after it has been executed. They can be any data type and are specified using the return keyword.
What is the if-else statement, and how is it used in JavaScript?
The if-else statement is a conditional statement used to execute code blocks based on whether a condition is true or false.
Explain the syntax and usage of the if-else-if statement in JavaScript.
The if-else-if statement allows you to test multiple conditions sequentially and execute corresponding code blocks.
How do you use the switch-case statement in JavaScript?
The switch-case statement evaluates an expression and executes code blocks based on matching cases.
What are the types of loops in JavaScript?
for loop
while loop
do…while loop
for…in loop
for…of loop
Discuss the syntax and usage of the for loop in JavaScript.
The for loop is used to repeatedly execute a block of code a specified number of times. It consists of initialization, condition, and iteration expressions.
Explain the syntax and usage of the while loop in JavaScript.
The while loop executes a block of code as long as a specified condition evaluates to true.
How do we create exception handling in JavaScript?
In JavaScript, you can perform exception handling using try, catch, and finally blocks.
try {
var result = 10 / 0; // This will throw a division by zero error
console.log(result); // This line won’t be executed }
catch (error) {
console.error(“An error occurred:”, error); }
finally {
console.log(“Execution completed.”); // This line will always be executed
}
Explain the concept of objects in JavaScript.
Objects in JavaScript are collections of key-value pairs, where each value can be a primitive data type, another object, or a function.
How do you create objects in JavaScript?
Objects can be created using object literals {}, constructor functions with the new keyword, or Object.create() method.
What are events in JavaScript, and how are they triggered?
Events in JavaScript are actions or occurrences that happen in the system or in the DOM, triggered by user interaction or browser actions.
How do you handle events in JavaScript?
Events are handled by attaching event listeners to DOM elements using methods like addEventListener().
What is the Image object in JavaScript?
The Image object represents an HTML <img> element, allowing manipulation of images dynamically within JavaScript.
How do you create an Image object in JavaScript?
You create an Image object using the new Image() constructor or by assigning a new image element to a variable.
What properties and methods does the Image object provide?
Properties include src, width, height, alt, and methods include addEventListener(), removeEventListener(), complete, onload, and onerror.
What is the Form object in JavaScript?
The Form object represents an HTML <form> element, providing access to its properties and methods for form manipulation.
How do you access a Form object in JavaScript?
You access a Form object using the document.forms collection or by using the getElementById() or querySelector() methods.
What properties and methods does the Form object provide?
Properties include action, method, elements, and methods include submit(), reset(), and addEventListener().
What is form validation, and why is it important in web development?
Form validation ensures that user input meets specified criteria before submission, maintaining data integrity and enhancing user experience.
Explain the difference between client-side and server-side form validation.
Client-side validation occurs in the browser before form submission, while server-side validation occurs on the server after submission.
What are some common techniques for client-side form validation in JavaScript?
Common techniques include using JavaScript functions, regular expressions, and HTML5 form validation attributes like required, minlength, etc.
What is jQuery, and how does it simplify DOM manipulation and event handling?
jQuery is a JavaScript library that simplifies DOM manipulation, event handling, and AJAX interactions by providing concise and cross-browser-compatible methods.
How do you include jQuery in a web page, and what is the jQuery syntax for selecting elements?
Include jQuery by adding a <script> tag referencing the jQuery library. Syntax for selecting elements: $(selector).
C Programming Viva Question
What is a function in C programming?
A function is a block of code that performs a specific task. It has a name, a return type, parameters (optional), and a body.
What is the purpose of using functions in C?
Functions allow code reusability, modular programming, and easier maintenance by breaking down a program into smaller, manageable parts.
How do you define a function in C?
Function definition includes specifying the return type, function name, parameters (if any), and the function body enclosed in curly braces.
What is the difference between a function declaration and a function definition?
A function declaration provides the function signature (return type, name, parameters) without the function body. A function definition includes both the function signature and the body.
What is a function prototype in C?
A function prototype is a declaration of the function that provides its signature (return type, name, parameters) without the function body. It informs the compiler about the function’s existence.
What is the difference between a library function and a user-defined function?
A library function is provided by the programming language or external libraries, while a user-defined function is created by the programmer.
What are the advantages of using functions in programming?
Functions promote code reusability, improve code readability, facilitate modular programming, and simplify debugging and maintenance.
What are function parameters?
Function parameters are variables declared in the function header that receive values passed from the calling code.
How are function parameters passed in C?
Function parameters in C are typically passed by value, meaning a copy of the parameter’s value is passed to the function. However, C also supports passing parameters by reference using pointers.
What is the difference between call by value and call by reference?
In call by value, a copy of the parameter’s value is passed to the function, while in call by reference, the address of the parameter is passed, allowing the function to directly modify the original value.
How do you specify the return type of a function in C?
The return type is specified before the function name in the function declaration and definition.
Can a function return multiple values in C?
No, C functions can only return one value. However, you can use pointers or structures to simulate returning multiple values.
What is recursion in C?
Recursion is the process in which a function calls itself directly or indirectly.
What are the necessary conditions for recursion?
A base case to terminate the recursion and a set of rules to reduce all other cases towards the base case.
How does recursion work in C?
Recursion works by breaking down a complex problem into smaller, similar subproblems and solving them recursively until reaching the base case.
What is a structure in C programming?
A structure is a user-defined data type that allows combining different types of variables under a single name.
How do you define a structure in C?
A structure is defined using the struct keyword followed by the structure name and a list of member variables enclosed in curly braces.
What is the difference between structure definition and declaration?
Structure definition specifies the structure’s layout and member variables, while structure declaration creates variables of the defined structure type.
How do you initialize a structure in C?
A structure can be initialized by providing values for its member variables within curly braces at the time of declaration.
How is the size of a structure calculated in C?
The size of a structure is determined by summing the sizes of its member variables, with padding added for alignment purposes.
How do you access members of a structure in C?
Members of a structure are accessed using the dot (.) operator followed by the member name.
What is an array of structures in C?
An array of structures is a collection of multiple structures of the same type stored consecutively in memory.
What is a union in C programming?
A union is a user-defined data type that allows storing different types of data in the same memory location.
How do you define a union in C?
A union is defined using the union keyword followed by the union name and a list of member variables enclosed in curly braces.
What is the difference between a union and a structure in C?
In a structure, all member variables have their own memory locations, while in a union, all member variables share the same memory location. Additionally, a structure allocates memory for the largest member, whereas a union allocates memory just enough to hold the largest member.
What is a pointer in C programming?
A pointer is a variable that stores the memory address of another variable or object.
What is a data file in C programming?
A data file is a file used to store data persistently on a storage device, such as a hard drive or flash drive, for later retrieval and manipulation by a program.
What is the purpose of using data files in programming?
Data files allow programs to store and retrieve data between different program runs, enabling data persistence and sharing across multiple instances of the program.
What is a sequential file?
A sequential file is a type of data file where records are stored in sequential order, and data is accessed sequentially from start to end.
What is a random file?
A random file is a type of data file where records are stored at specific locations within the file, allowing for direct access to individual records using their record numbers or keys.
What is the purpose of putw() and getw() functions in C?
The putw() function is used to write an integer to a binary file, while the getw() function is used to read an integer from a binary file.
Explain the usage of putc() and getc() functions in C.
The putc() function is used to write a character to a file, while the getc() function is used to read a character from a file.
What are fscanf() and fprintf() functions used for in C?
fscanf() is used to read formatted data from a file, while fprintf() is used to write formatted data to a file.
How do you open a file in C for reading?
You can open a file for reading using the fopen() function with the “r” mode.
What is the difference between writing and appending to a file?
Writing to a file overwrites its existing contents, while appending to a file adds new data to the end of the file without overwriting existing data.
How do you close a file in C after reading or writing?
You can close a file using the fclose() function, passing the file pointer as an argument.
PHP Viva Questions
What is server-side scripting, and how does it differ from client-side scripting?
Server-side scripting generates web content on the server before sending it to the client. Client-side scripting executes on the client’s browser.
Name some popular server-side scripting languages.
PHP, Python (with Django or Flask), Ruby (with Ruby on Rails), Java (with Spring Boot), and Node.js.
How does a server-side script interact with a web server?
It receives HTTP requests, processes them, interacts with databases or resources, and sends back dynamic content as an HTTP response.
Explain the typical workflow of a server-side script.
Receive request, process input, execute logic, interact with databases, generate content, and send response.
What are the advantages of server-side scripting?
Better security, easier database integration, improved performance, and SEO support.
What are the hardware and software requirements for running PHP?
PHP can run on various operating systems like Windows, Linux, macOS, etc. It requires a web server such as Apache or Nginx and a PHP interpreter installed.
Explain the concept of object-oriented programming in PHP.
Object-oriented programming (OOP) in PHP allows us to structure code into classes and objects. It facilitates concepts like encapsulation, inheritance, and polymorphism.
What is the basic syntax of PHP?
PHP code is embedded within HTML, typically enclosed in <?php ?> tags. Statements end with a semicolon. It’s loosely typed, so variables do not need to be declared.
What are the various data types supported by PHP?
PHP supports data types like integers, floats, strings, booleans, arrays, objects, and resources.
Discuss the different types of operators in PHP.
PHP supports arithmetic, logical, and comparison operators. Arithmetic operators perform mathematical operations, logical operators deal with boolean logic, and comparison operators compare values.
How do you manipulate variables in PHP?
Variables in PHP can be manipulated by assigning new values, concatenating strings, performing mathematical operations, or using built-in functions for manipulation.
Explain database connectivity in PHP.
Database connectivity in PHP involves establishing a connection between PHP scripts and a database server, typically using functions like mysqli_connect() or PDO.
What are the steps involved in connecting a server-side script to a database in PHP?
The steps include establishing a connection to the database server, selecting the appropriate database, executing SQL queries, fetching results, and handling errors.
How do you make SQL queries in PHP?
SQL queries in PHP are made using functions like mysqli_query() or PDO::query(), passing the SQL statement as a parameter.
What does fetching data sets mean in PHP?
Fetching data sets in PHP refers to retrieving rows of data from a database after executing an SQL query.
How do you create an SQL database using server-side scripting in PHP?
You can create an SQL database using PHP by executing SQL commands like CREATE DATABASE using functions like mysqli_query() or PDO::exec().
Discuss the process of displaying queries in tables using PHP.
To display queries in tables, you fetch data from the database, iterate over the results, and output them in HTML table format using echo or print statements.
How do you define a class in PHP?
A class in PHP is defined using the class keyword followed by the class name and a pair of curly braces containing properties and methods.
What is the significance of the ‘new’ keyword in PHP?
The ‘new’ keyword is used to instantiate objects from a class in PHP. It allocates memory for the object and calls the class constructor.
Explain the difference between == and === operators in PHP.
The == operator checks for equality of values, while the === operator checks for equality of both values and data types.
How do you declare and initialize variables in PHP?
Variables in PHP are declared using a dollar sign ($) followed by the variable name, and they can be initialized with an initial value using the assignment operator (=).
What is SQL injection, and how can it be prevented in PHP?
SQL injection is a type of security vulnerability where malicious SQL statements are inserted into input fields. It can be prevented in PHP by using prepared statements with parameterized queries.
Discuss the role of the mysqli and PDO extensions in PHP.
The mysqli and PDO extensions in PHP provide interfaces for interacting with databases. They offer functions and classes for executing SQL queries, fetching results, and managing connections securely.
How do you handle errors during database connectivity in PHP?
Errors during database connectivity can be handled using functions like mysqli_connect_error() or PDO::errorInfo(), which provide error messages and codes for debugging.
Explain the concept of inheritance in object-oriented programming with PHP.
Inheritance allows a class (subclass) to inherit properties and methods from another class (superclass). It promotes code reusability and allows for the extension of functionality.
What are the different types of loops supported in PHP?
PHP supports various loops like for, while, do-while, and foreach loops for iterating over arrays, executing code repeatedly based on conditions, or looping through database query results.
Discuss the role of constructor and destructor methods in PHP classes.
Constructor methods are called automatically when an object is instantiated, while destructor methods are called when the object is destroyed. Constructors are typically used for initialization tasks, while destructors are used for cleanup tasks.
How do you execute conditional statements in PHP?
Conditional statements in PHP are executed using if, else, elseif, and switch statements, allowing the program to make decisions based on specified conditions.
Explain the concept of method overloading in PHP.
PHP does not support method overloading in the traditional sense where multiple methods with the same name but different signatures can exist within a class. However, you can achieve similar functionality using variable-length argument lists and default parameter values.
What is the purpose of the php.ini file in PHP?
The php.ini file is a configuration file used to customize PHP settings such as error reporting level, maximum upload file size, and database connection parameters.
How do you retrieve data from a form submitted via POST method in PHP?
Data from a form submitted via POST method can be retrieved using the $_POST superglobal array in PHP, where the keys are the names of form fields.
Explain the process of handling file uploads in PHP.
File uploads in PHP are handled using the $_FILES superglobal array, which contains information about the uploaded file such as name, type, size, and temporary location. The file is then moved to a permanent location on the server.
What are the different types of errors that can occur in PHP scripts?
PHP scripts can encounter syntax errors, runtime errors, and logical errors. Syntax errors occur due to incorrect PHP syntax, while runtime errors occur during script execution, and logical errors result in unexpected behavior.
How do you include external PHP files within a script?
External PHP files can be included using include, require, include_once, or require_once statements in PHP, allowing reusable code to be incorporated into multiple scripts.
What is the purpose of the ‘use’ keyword in PHP namespaces?
The ‘use’ keyword in PHP namespaces allows for the importing of classes or namespaces into the current scope, enabling shorter and cleaner code by avoiding fully qualified names.
Discuss the concept of autoloading classes in PHP.
Autoloading classes in PHP allows for the automatic loading of class files when they are first accessed, eliminating the need to manually include or require each class file.
Explain the difference between GET and POST methods in form submissions.
The GET method submits form data in the URL, visible to users and limited in length, suitable for non-sensitive data. The POST method sends form data in the request body, not visible in the URL, and suitable for sensitive data.
What is the purpose of the global keyword in PHP?
The global keyword in PHP is used to access global variables from within a function’s scope, allowing variables defined outside the function to be manipulated within the function.
How do you handle sessions in PHP?
Sessions in PHP are handled using the $_SESSION superglobal array, which allows data to be stored and retrieved across multiple pages during a user’s visit to a website.
Explain the concept of method chaining in PHP.
Method chaining in PHP involves calling multiple methods on the same object in a single statement by returning the object itself from each method call, enabling a fluent interface.
What is the purpose of the header() function in PHP?
The header() function in PHP is used to send HTTP headers to the client, allowing for tasks such as redirection, setting cookies, and specifying content types.
Discuss the significance of sanitizing user input in PHP.
Sanitizing user input in PHP is essential for preventing security vulnerabilities such as SQL injection and cross-site scripting (XSS) attacks by removing or escaping potentially harmful characters.
What is the purpose of the empty() function in PHP?
The empty() function in PHP is used to determine whether a variable is empty, meaning it does not exist, has a value of null, an empty string, or zero.
Explain the concept of method visibility in PHP classes.
Method visibility in PHP classes determines the accessibility of methods from outside the class. PHP supports public, private, and protected visibility modifiers, controlling access levels for methods.
How do you define constants in PHP?
Constants in PHP are defined using the define() function or the const keyword, providing a name and a value that cannot be changed during script execution.
Discuss the role of namespaces in PHP.
Namespaces in PHP provide a way to organize code into logical groups, preventing naming conflicts between classes and functions with the same name but different namespaces.
What is the purpose of the setcookie() function in PHP?
The setcookie() function in PHP is used to set cookies in the client’s browser, allowing data to be stored and retrieved across multiple page requests.
Explain the difference between require and include statements in PHP.
The require statement includes a file and generates a fatal error if the file cannot be included, whereas the include statement includes a file and generates a warning if the file cannot be included.
What is Number System?
Mathematical notation for representing numbers consistently.
Uses symbols/digits to express quantities and values.
Used in math, computing, engineering, etc.
Types of Number System:
Non-positional Number System
Early counting used fingers, stones, or sticks.
Additive approach or non-positional system.
Symbols like I, II, III used for values.
Symbols added for total value.
Hard for arithmetic; led to positional systems.
Example: Roman Numeric
2. Positional Number System
Positional systems use digits with varying values.
Digit’s value is based on itself, position, and base.
Different systems based on base value:
Decimal
Binary
Octal
Hexadecimal
Radix of a Number System:
Radix of a number: Also called its base.
Represents the number of unique symbols in a number system.
Determines counting and positional structure.
Decimal system (base-10) has a radix of 10 (0 to 9).
Binary system (base-2) has a radix of 2 (0 and 1).
Hexadecimal system (base-16) has a radix of 16 (0-9 and A-F).
Radix influences mathematical operations and representation rules.
Why Binary number system is used in computer system?
Digital Nature: Computers operate using electronic components that have two stable states: “on” and “off,” corresponding to binary digits 1 and 0.
Simplicity: Binary representation aligns with the basic operation of electronic switches, like transistors, which can have two states.
Reliability: Binary states are distinct, making it easier to differentiate between them and accurately detect changes.
Efficiency: Binary arithmetic involves straightforward operations (addition, subtraction), which can be efficiently implemented using digital circuits.
Memory Cells: Computer memory cells store individual bits, aligning well with binary representation (0 or 1).
Compatibility: Binary representation allows seamless communication between computer components, such as processors, memory, and input/output devices.
Logical Operations: Binary logic gates (AND, OR, NOT) are essential for designing computer components and executing instructions.
Error Handling: Binary representation simplifies error detection and correction mechanisms, ensuring data integrity.
Encoding: Communication protocols use binary encoding for transmitting and storing data accurately.
Uniformity: Binary representation provides a standardized way to handle various tasks and data types consistently in computer systems.
Decimal/Binary/Octal/Hexadecimal Number System & Conversion
Decimal Number System:
Base-10 system.
Digits 0-9.
Positional: Each place represents power of 10.
Common for human calculations.
Binary Number System:
Binary system: 0 and 1.
Base-2 system, simplest due to two digits.
Binary digits called “Bits”.
4 Bits = nibble, 8 Bits = byte.
Represents devices’ ON and OFF states.
Base value of binary is 2 (subscripted as B).
Example: (1010)2 or (1010)B.
Octal Number System:
Octal system: 8 digits – 0 to 7.
Base-8 system, simpler than binary.
Easier handling compared to binary arrays.
Octal array shorter than binary.
Base value of octal is 8 (subscripted as O).
Grouping bits for binary representation.
Used in some assembly languages for instructions and addresses.
Early computing systems with word sizes divisible by three.
Hexadecimal Number System:
Hexadecimal: 10 digits (0-9) and 6 letters (A-F).
A-F represent 10-15.
Base-16 system, used in microprocessors.
Different systems represent same quantities.
Symbols change, quantities stay constant.
Compact representation of binary data.
Common for memory addresses, debugging, and low-level programming.
Representing colors in graphics (HTML/CSS).
Network addresses (IPv6) and file formats.
Number System Conversion
Decimal to Other System Conversion
Conversion from decimal to binary
Rules:
Divide the decimal number by the base value of binary (2) and list the remainder.
The process is continuing till the quotient becomes zero.
Write the remainders left to right from bottom to top.
Example:
Convert (34)10 into Binary.
Solution:
Given number: 34
Let’s convert it to binary:
∴ (34)10 = (100010)2
Fractional conversion (Decimal to Binary):
Rules:
Successively multiply the fraction by 2 (base 2) to generate binary digits.
Repeat until the fraction becomes 0 or until the desired accuracy is reached.
If the fraction becomes 0, terminate the process.
If the fraction does not become 0 after 5 iterations, terminate the process after the 5th iteration.
Example:
Convert (23.84)10 into Binary.
Solution:
Given number: 23.84
Let’s convert the non fractional part first:
∴ (23)10 = (10111)2
Now, let’s convert the fractional part:
∴ (.84)10 = (.11010)2
Finally,
(23)10 + (.84)10 = (10111)2 + (.11010)2
∴ (23.84)10 = (10111.11010)2
Converting Decimal to Octal
Rules:
Divide the decimal number by the base value of Octal (8) and list the remainder.
The process is continuing till the quotient becomes zero.
Write the remainders left to right from bottom to top.
Example:
Convert the decimal number 109 into octal.
Solution:
Given number: 109
Let’s convert it to octal:
∴ (109)10 = (155)8
Fractional conversion (Decimal to Octal):
Rules:
Successively multiply the fraction by 8 (base 8) to generate binary digits.
Repeat until the fraction becomes 0 or until the desired accuracy is reached.
If the fraction becomes 0, terminate the process.
If the fraction does not become 0 after 5 iterations, terminate the process after the 5th iteration.
Example:
Convert (23.84)10 into Octal.
Solution:
Given number: 23.84
Let’s convert the non fractional part first:
∴ (23)10 = (27)8
Now, let’s convert the fractional part:
∴ (.84)10 = (.65605)8
Finally,
(23)10 + (.84)10 = (27)8 + (.65605)8
∴ (23.84)10 = (27.65605)8
Converting Decimal to Hexadecimal
Rules:
Divide the decimal number by 16 and list the remainder.
The process is continuing till the quotient becomes zero.
Write the remainders left to right from bottom to top.
Example:
Convert the decimal number 53 into Hexadecimal number.
Solution:
Given number: 53
Let’s convert it to octal:
∴ (53)10 = (35)16
Example:
Convert decimal number 235 into Hexadecimal number.
Solution:
Given number: 235
Let’s convert it to Hexadecimal:
Here, since it is hexadecimal values, we know:
14 = E
11 = B
∴ (235)10 = (EB)16
Fractional conversion (Decimal to Hexadecimal):
Rules:
Successively multiply the fraction by 16 (base 16) to generate binary digits.
Repeat until the fraction becomes 0 or until the desired accuracy is reached.
If the fraction becomes 0, terminate the process.
If the fraction does not become 0 after 5 iterations, terminate the process after the 5th iteration.
Example:
Solution:
Given number: 31.84
Let’s convert the non fractional part first:
Here, since it is hexadecimal values, we know:
15 = F
∴ (31)10 = (1F)16
Now, let’s convert the fractional part:
Here, since it is hexadecimal values, we know:
13 = D
10 = A
∴ (.84)10 = (.D70A3)16
Finally,
(31)10 + (.84)10 = (1F)16 + (.D70A3)16
∴ (31.84)10 = (1F.D70A3)16
Other System to Decimal Conversion
Converting From Binary to Decimal
Rules:
Multiply each binary digit with its place value i.e. positive powers of two with its positional weight.
Add all the products.
Example: Convert Binary number 111111 into decimal no.
Given number: 11111
Let’s first find out positional weight for each binary digit:
Therefore ( E F . B 1 )16 = ( 2 3 9 . 6 9 1 4 0 6 )10
Binary to Octal and Hexadecimal Conversion
Conversion from Binary to Octal
Method 1:
Write the Binary number in group of 3 from right hand side.
If any digits are inadequate for such group of 3, then add zeros before the number.
Write its corresponding value of octal from the table or convert it to decimal as before.
Example: Convert Binary number 10110 into Octal.
Binary number: 10110
Grouped Binary Number: 010 110
Corresponding Octal Value: 2 6 [Taken from the table]
Or
Given number: 10110
Let’s first find out positional weight for each binary digit:
Now, let’s convert:
= ( 0 × 22 + 1 × 21 + 0 × 20)
= 0+2+0
= 2
Similarly,
= ( 1 × 22 + 1 × 21 + 0 × 20)
= 4+2+0
= 6
Concatenating above results. We get:
∴ (10110 )2= (26)8
Method -2:
First convert the Binary number into Decimal number.
Now convert the decimal number into Octal number.
Example: Convert Binary number 10110 into Octal.
Given number: 10110
Let’s first find out positional weight for each binary digit:
Now, let’s convert to decimal first:
= (1 × 2 4 + 0 × 23 + 1 × 22 + 1 × 21 + 0 × 20)
= 16 + 0 + 4 + 2 + 0
= 22
Therefore, (10110)2 = (22)10
Again, let’s convert decimal to octal:
Therefore (22)10 = (26)8
∴ (10110)2 = (26)8
Fractional conversion (Binary to Octal):
Example: Convert (0110 011.1011)2 into base 8
Binary number = (0110 011.1011)2
Group of 3 bit of Binary = (0 110 011 . 101 1)2
= (110 011 . 101 100)2
Now, let’s convert:
= ( 1 × 22 + 1 × 21 + 0 × 20)
= 4+2+0
= 6
Similarly,
= ( 0 × 22 + 1 × 21 + 1 × 20)
= 0+2+1
= 3
Similarly,
= ( 1 × 22 + 0 × 21 + 1 × 20)
= 4+0+1
= 5
Similarly,
= ( 1 × 22 + 0 × 21 + 0 × 20)
= 4+0+0
= 4
Concatenting above results. We get:
Thus, (0110 011.1011)2 = (63.54)8
∴ (0110 011.1011)2 = (63.54)8
Conversion from Binary to Hexadecimal
Method -1:
Write the binary number in a group of 4 from right to left.
If any digits are inadequate for such a group 4, then add 0 before the number as much is necessary.
Write the equivalent Hexadecimal number from the table or convert binary to decimal as before.
Example: Convert Binary number 10110 into Hexadecimal.
Binary Number: 10110
Grouped Binary Number: 0001 0110
Equivalent Hexadecimal number: 1 6 [taken from the table]
Or
Now, let’s convert:
= ( 0 x 23 + 0 × 22 + 0 × 21 + 1 × 20)
= 0+0+0+1
= 1
Similarly,
= ( 0 x 23 + 1 × 22 + 1 × 21 + 0 × 20)
= 0+4+2+0
= 6
Therefore, (10110) 2 = (16)16
Method -2:
Convert the given binary number into Decimal number
Now convert decimal number into Hexadecimal number.
Example: Convert Binary number 10110 into Hexadecimal.
Let’s first find out positional weight for each binary digit:
Now, let’s convert to decimal first:
= (1 × 2 4 + 0 × 23 + 1 × 22 + 1 × 21 + 0 × 20)
= 16 + 0 + 4 + 2 + 0
= 22
Therefore, (10110)2 = (22)10
Again, let’s convert decimal to octal:
Therefore (22)10 = (16)16
∴ (10110)2 = (16)16
Fractional conversion (Binary to Hexadecimal):
Method -1:
Write the binary number in a group of 4 from right to left.
If any digits are inadequate for such a group 4, then add 0 before the number as much is necessary.
Write the equivalent Hexadecimal number from the table or convert binary to decimal as before.
Example: Convert (11110.01011)2 into Base 16
Binary Number: 11110.01011
Grouped Binary Number: 0001 1110 01011000
Equivalent Hexadecimal number: 1 14/E58 [taken from the table]
∴ (11110..01011)2 =(1E.58)16
OR,
Binary number = (11110..01011)2
Group of 4 bit of Binary = (0001 1110 . 0101 1000)2
Now, let’s convert:
= (0 × 23 + 0 × 22 + 0 × 21 + 1× 20)
= 0 + 0 + 0 + 1
= 1
Similarly,
= (1 × 23 + 1 × 22 + 1 × 21 + 0 × 20)
= 8 + 4 + 2 + 0
= 14
= E
Similarly,
= (0 × 23 + 1 × 22 + 0 × 21 + 1 × 20)
= 0 + 4 + 0 + 1
= 5
Similarly,
= (1 × 23 + 0 × 22 + 0 × 21 + 0 × 20)
= 8 + 0 + 0 + 0
= 8
Concatenating above results. We get:
∴ (11110.01011)2 = (1E.58)16
Octal and Hexadecimal System to Binary Conversion
Conversion from Octal to Binary
Method – 1
Write the equivalent 3 bits of binary number of octal from the table.
Example: Convert octal number 35 into Binary number.
Octal Number: 3 5
Equivalent Binary number: 011 101 [taken from the table]
Therefore, (35)8 = (011101)2
Method -2:
First convert octal number into Decimal number.
Now convert Decimal number into Binary number.
Example: Convert octal number 35 into Binary number.
Octal number: 3 5
Positional weight: 10
Conversion: = (3 × 81 + 5 × 80)
= 24+5
Therefore, (35)8 = (29)10
Thus, (35)8 = (11101)2
Conversion from Hexadecimal to Binary
Method – 1
Convert the Binary number in the group of 4 bits for each hexadecimal number.
Provide base 2 to the result.
Example: Convert Hexadecimal number A2C into Binary.
Hexadecimal Number: A 2 C
Equivalent Binary Number 1010 0010 1100
Therefore, (A2C)16 = (1010 0010 1100)2
Method – 2
First convert the Hexadecimal number into decimal.
Then convert the decimal number into a Binary number.
Hexadecimal Number: A 2 C
Positional weight: 2 1 0
Conversion: = (10 × 162 + 2 × 161 + 12 × 160)
(A=10, C=12 taken from the table)
= (10 × 256 + 2 × 16 + 12 × 1)
= (2560+32+12) = 2604
Therefore, (A2C)16 = (2604)10
Fractional conversion (Hexadecimal to Binary):
Octal to Hexadecimal Conversion and Vice Versa
Conversion from Octal to Hexadecimal
Method-1:
Convert each octal digit into 3 bit of binary equivalent.
Now, form the group of 4 digits of binary numbers from right hand side.
Write the equivalent Hexadecimal value from the given table.
Example: Convert octal number 420 into Hexadecimal number.
Octal Number: 4 2 0
3 Bit of Binary equivalent: 100 010 000
Group of 4 bit of Binary digits 0001 0001 0000
Equivalent Hexadecimal number: 1 1 0
Thus, (420)8 = (110)16
Method -2:
First convert octal number into Decimal number.
Now convert Decimal number into Hexadecimal number.
Conversion from Hexadecimal to Octal
Method -1
Convert each hexadecimal number into 4 bit of binary equivalent.
Then form the group of 3 bits of binary digits from right hand side.
If any digits are inadequate for such group of 3, then add zero before the number.
Now, write the equivalent octal value for each group from the table.
Example: Convert Hexadecimal number 183 into Octal.
Hexadecimal number: 1 8 3
4 bits of Binary equivalent 0001 1000 0011
3 bits of Binary grouping 000 110 000 011
Equivalent octal number 0 6 0 3
Hence, (183)16 = (603)8
Method – 2
First convert Hexadecimal number into decimal number
Then convert decimal number into octal number.
Hexadecimal number: 1 8 3
Positional weight: 2 1 0
Conversion: = (1 × 162 + 8 × 161 + 3 × 160)
= (256+128+3)
= 387
Thus, (183)16 = (387)10
Fractional conversion (Hexadecimal to Octal):
Binary Calculations
Uses 0 and 1 digits.
Arithmetic operations yield results in 0s and 1s.
Binary Addition
Binary Subtraction
Note: Borrowing is necessary when we have to subtract a larger number from a smaller one. A borrow will cause a 1 in the minuend to become 0 and a 0 to become 1. In the second case the preceding 0s in the minuend are changed to 1s until a 1 can be changed to a 0.
Binary Multiplication
Binary Division
Binary division guidelines:
Subtract divisor from dividend.
If subtracting is possible, quotient digit is 1 and subtract.
If not possible, quotient digit is 0.
Bring down next dividend digits to continue.
Repeat until divisor is smaller than dividend.
One’s and Two’s Complement Method for Binary Subtraction
1’s complement method for binary subtraction
Methods for binary subtracting by using 1’s complement.
Make equal no. of bits by placing 0 in front of negative number to make equal with the first number.
Convert 1’s complement of the second number i.e. 1 to 0 and 0 to 1
Add it to the main value.
If an overflow bit occurs, remove it and add it to the remaining number.
If there is not extra bit, find 1’s complement of result in step 2 and add (-ve) sign.
Example: Subtract 11 from 100 by using 1’s complement.
2’s complement method for binary subtraction
Methods for binary subtracting by using 2’s complement
Make equal no. of bits by placing 0 in front of negative number to make equal with first number.
Convert 1’s complement of the second number i.e. 1 to 0 and 0 to 1 and adding 1 to inverted value.
Add it to the main value.
If overflow bit occurs, remove it and the remaining is answer.
If there is no extra bit, find 2’s complement of result in step 2 and add (-ve) sign.
Example: Subtract 11 from 100 by using 1’s complement.
Logic Function & Boolean Algebra
George Boole: Born 1815, Lincoln, England; Died 1864, Cork, Ireland.
Book “The Laws of Thought” (1854) explained human reasoning.
Boolean algebra for logical relationships and binary variables.
Used in logical circuit design and analysis.
Rules for symbolic manipulation by Boole.
True/false outcomes, used in digital logic.
AND, OR, NOT gate operations fundamental.
Unique feature of Boolean Algebra:
Boolean algebra: 0 and 1 values.
No subtraction, division; only logical addition, multiplication.
Unique laws: A + A = A, A . A = A.
Distributive law: A + (B.C) = (A+B).(A+C).
Graphical methods specific to Boolean algebra.
Introduction to Boolean Values, Truth Table, Boolean Expression and Boolean Function
Truth Table
Truth table shows input-output relationships.
Represents input combinations in binary.
Uses Boolean operations.
Example: A, B input; C output.
Shows all possible combinations.
Boolean Expression or Functions
Boolean expression: Represents logic using symbols.
Consists of variables, operations (AND, OR, NOT).
Describes the logic relationship between variables.
Translated into truth tables or simplified.
Used in digital logic design.
Some Example are:
F 1= AB + B’
F2 = AB’C
The function F = 1 when the value of A = 0, B = 0 and C = 1, otherwise F = 0. The Boolean functions can also be represented in a truth table. To represent a Boolean function in a truth table, we need a list of the possible combinations of binary 0 and 1, the combination is formed by 2n where n is the number of binary variables. Above function is illustrated in the following truth table.
The Boolean functions may be represented from an algebraic expression into a logic diagram, which is composed of different logic gates: AND, OR, NOT, etc. The above Boolean function is represented with logic diagram as:
Basic Logical/Boolean Operation
Three basic Boolean operations: OR, AND, NOT.
Operate on binary values 0 and 1.
Binary variables hold 0 or 1.
Essential operations in Boolean algebra.
AND Operation
Denoted by . or AND.
Binary operation, works on 2 or more variables.
Input: Binary variables X and Y.
Output: Binary variable Z.
Logical equation: z = x . y.
Above table illustrates that the output is 1 (TRUE) if all of the given input is 1 (TRUE), otherwise it provides 0 (FALSE) result.
OR Operation
Denoted by + or OR.
Binary operation, works on 2 or more variables.
Input: Binary variables X and Y.
Output: Binary variable Z.
Logical equation: z = x + y.
Above table illustrates that the output is 1 (TRUE) if one of the given input is 1 (TRUE), it provides a 0 (FALSE) result if all the given inputs are 0 (FALSE).
NOT operation
The NOT operation is denoted by bar ( ), prime (‘) or tilde (~). The logical equation of NOT operation is shown as:
Logic Gate
Core of digital systems.
Electronic circuits with inputs and one output.
Represented by graphical symbols.
Interpret logical values, produce logical outputs.
Essential components in digital design.
Include basic gates with distinct functions.
AND Gate
Multiple inputs, one output.
Performs AND operation (logical multiplication).
TRUE output if all inputs are TRUE.
FALSE output if any input is FALSE.
Boolean expression: F = A . B.
The symbol used for the AND gate, truth table and the Venn-diagram is shown in the following figure.
OR Gate
Multiple inputs, one output.
Performs OR operation (logical addition).
TRUE output if any input is TRUE.
FALSE output if all inputs are FALSE.
Boolean expression: F = A + B.
The symbol used for the OR gate, truth table and the Venn-diagram is shown in the following figure.
NOT Gate
One input, one output (unary gate).
Performs NOT operation (logical complement).
TRUE output if input is FALSE, and vice versa.
Boolean expression: F = A’.
The symbol used for the NOT gate, truth table and the Venn-diagram is shown in the following figure.
NAND Gate
Complement of AND gate.
Multiple inputs, one output.
Output is complement of AND operation.
Boolean expression: F = (A . B)’.
The symbol used for the NAND gate, truth table and the Venn-diagram is shown in following figure.
NOR Gate
Complement of OR gate.
Produces TRUE if all inputs are TRUE.
Produces FALSE if any input is TRUE.
Boolean expression: F = (A + B)’.
The symbol used for the NOR gate, truth table and the Venn-diagram is shown in the following figure.
X-OR Gate
XOR gate: Two inputs, one output.
TRUE output when inputs are different.
FALSE output when inputs are the same.
Boolean expressions: F = A’B + AB’ or F = A ⊕ B.
The symbol used for the AND gate, truth table and the Venn-diagram is shown in the following figure.
X-NOR Gate
XNOR gate: Complement of XOR gate.
TRUE output when inputs are both 0 or both 1.
FALSE output when inputs are different.
Algebraic expressions: F = AB + A’B’ or F = A ⊙ B.
The symbol used for the AND gate, truth table and the Venn-diagram is shown in the following figure.
Universal Gate
NAND gate as Universal gate:
NAND and OR gates: Universal gates.
NAND gates can replace other gates.
NAND gates can realise AND, OR, NOT operations.
NAND gate is versatile and widely used.
demonstrated in the following diagram.
NOR gate as universal gate:
NOR gate: Another universal gate.
Can implement AND, OR, NOT functions.
NOR gates replace other gates.
NOR gate is versatile and universal.
The figure below shows how the NOR gate can be used as NOT gate
All NOR input pins connected to the input signal A give an output A’.
The figure below shows how the NOR gate can be used as OR gate.
An OR gate can be replaced by NOR gates as shown in the figure. The OR is replaced by a NOR gate with its output complemented by a NOR gate inverter.
The figure below show how the NOR gate can be used as AND gate.
An AND gate can be replaced by NOR gates as shown in the figure. The AND gate is replaced by a NOR gate with all its inputs complemented by NOR gate inverters.
Laws of Boolean Algebra
Duality Principle
Replacing AND(.) with OR(+) and vice versa.
1 with 0, vice versa keeps variable and complements and variable unchanged.
For example:
Let us consider a Boolean expression
F = A + B . 0
Then it’s duality would be
FD = A . B + 1
And both expressions will be the same. It would be verified by the following truth table.
Boolean Postulates
Rules no needs to verify.
Laws of Boolean Algebra
Identify Laws
A + 0 = A A . 1 = A
2. Complement Laws
A + A’ = 1 A . A’ = 0
3. Idempotent Laws
A + A = A A. A = A
4. Bounded Laws
A + 1 = 1 A . 0 = 0
5. Absorption Laws
A + (A . B) = A A. (A + B) = A
6. Commutative Laws
A + B = B + A A . B = B . A
7. Associative Laws
(A + B) + C = A + (B + C)(A B) C = A (B C)
8. Distributive Laws
A (B + C) = A B + A C A + (B C) = (A + B) (A + C)
9. Involution Laws
(A’)’= A
10. De Morgan’s Laws
(A + B)’ = A’.B’(A.B)’ =A’+B’
Statement and Verification of Laws of Boolean Algebra using Truth Table
Identity Law
These laws state that combining a Boolean variable with its complement (negation) results in the original variable.
(a) A + 0 = A
(b) A . 1 = A
Complement Law
This law states that the sum of a Boolean variable and its complement is always equal to 1.
(a) A + A’ = 1
(b) A . A’ = 0
Commutative Law
These laws state that the order of variables in an operation doesn’t affect the result.
(a) A + B = B + A
(b) A . B = B . A
Associative Law
These laws state that the grouping of variables in an operation doesn’t affect the result.
(a) A + (B + C)=(A + B) + C
The above table shows that (A + B) + C = A + (B + C) is equal for all possible combinations of inputs.
(b) A.(B.C)=(A.B).C
Distributive Law
These laws relate the operations of addition and multiplication.
(a) A (B + C) = A B + A C
The above table shows that A . ( B + C) = (A . B) + (A . C) is equal for all possible combinations of inputs.
(b) A + (B C) = (A + B) (A + C)
DeMoragan’s Theorem
Complement of OR is equivalent to AND of complements: ¬(A OR B) = ¬A AND ¬B
Complement of AND is equivalent to OR of complements: ¬(A AND B) = ¬A OR ¬B
Useful for Boolean expression simplification. Applies to binary variables.
Theorem 1
The above table shows that (A+B)’ = A’.B’ is equal for all possible combinations of inputs. Let us see: when the value of A = 0 and B = 0, the value of (A+B)’ = 1 and A’.B’ = 1. Similarly we can see all the combinations of A and B, all the time (A+B)’ = A’.B’ are equal.
Theorem 2
The above table shows that (A.B)’ = A’+B’ is equal for all possible combination of inputs. Let us see: when the value of A = 0 and B = 0, the value of (A.B)’ = 1 and A’.B’ = 1. Similarly we can see all the combinations of A and B, all the time (A.B)’ = A’+B’ are equal.
Simplification of Boolean Expression
Apply algebraic rules.
Combine terms and eliminate redundancies.
Complex Boolean expressions can be simplified using Boolean algebra.
Difference laws of Boolean algebra are applied for simplification.
Simplification aids logic circuit design.
Reduces complexity and cost of circuits.
Introduction to Computer
Definition of Computer:
Computer – Common Operating Machine Particularly Used for Trade, Education and Research.
‘Computer’ comes from the Latin word “computare” which means to calculate.
An electronic device that can perform a variety of tasks in accordance with a set of instructions called a program.
Accepts data from an input device, processes it into useful information and displays the output.
Characteristics of Computer:
Speed: Computer can work very fast. It can process millions of pieces of information in seconds.
Storage: Computers can store a large amount of data (text, graphic, pictures, audio, video, etc.) temporarily or permanently, as required in various storage devices such as hard disk, pen drive etc.
Accuracy: Computers can process data without any errors. But if there are faults in data, instruction or program, it will result in wrong output. It is known as Garbage in Garbage out (GIGO).
Versatility: Computers can perform various tasks such as surfing the internet, playing games, playing songs, watching movies, working on documents, printing, sending email, mathematical calculation, programming etc.
Diligence: Computers do not have feelings or emotion, taste, knowledge and experience. Thus, it never feels tired or boring to do a task repeatedly for a long time.
Automation: Computers can be programmed to perform complex tasks automatically. For example: Email Scheduling, Automated reply on social media etc.
Non-intelligent: Computer is just a dumb machine and cannot take its own decisions. Human’s have to provide some instructions to perform so that computers can perform any task.
Word Length: It is the number of bits CPU can process in parallel at a time for example 8, 16, 32, 64, 128. Higher the word length, the better the performance of the computer.
Advantages and Disadvantages of Computer
Advantages:
Accurate and reliable machine.
Much faster than humans.
High storage capacity.
Never feels tired and exhausted like a human being.
Versatile device
Error free result
Disadvantages:
Expensive device
Required skilled manpower to operate
Discourage physical activities / affect human health
Rise of computer crimes like hacking, virus, pornography etc.
Need repair, update and maintenance frequently.
Depend on electricity to work.
Application of Computers
Bank:
Online accounting facility like checking current balances, deposits etc.
ATM machines – interconnected computer system
Internet banking for accessing accounts, transferring money, and paying bills.
Engineering:
Work with CAM/CAD software packages like AutoCAD, CATIA, Etabs etc..
Designing and developing machine drawings, building drawings, circuit drawings, 3D views etc.
Medicine:
Diagnosing illness and monitoring patient’s status
Look inside a person’s body and study in detail with the help of automated imaging techniques like UltraSound, CT scans, MRI scans etc.
Storage of patients data in an efficient manner.
Education:
Used as information resource, teaching aid, library system, result system, students record etc.
Remote learning, audio-visual packages, interactive exercises etc.
Online registration, mock exams, entrance exam and interviews
Interactive learning and taking virtual field trips with the help of AR/VR
Ticketing:
Book tickets for flight, bus, movies
Online hotel reservations
Defense:
Information of defense system,
Secured database and record
Tracking, surveillance and controlling the flight, targeting ballistic missiles
Control the access to atomic bombs
Business:
Online buying and selling of goods and services
Collaborating with business partners and suppliers, conducting electronic transactions
File management, calculating the bills, office communication, administrative work, decision making etc.
Multimedia:
Working with graphics and images. Ex: Photoshop
Audio or video composition, editing. Ex: Adobe Premiere Pro, Da Vinci Resolve
Making special effects like VFX in science fiction movies.
Desktop publishing:
Create page layouts for magazines, newspapers, books etc. Ex: Adobe Illustrator, InDesign etc.
Communication:
Real time communication(chatting, video call) over the internet. Ex. Zoom call
Connects with people around the world with the help of emails, social media etc. For example Gmail, Facebook, Instagram, WhatsApp etc.
Government:
Data processing and maintenance of database of citizens record
Create paperless environment
Aid in country’s defense organizations like missile development, satellite, rocket launches etc.
Planning and Scheduling:
Store contact information, generate plans, schedule appointments and deadlines etc.
For example: Project management with Jira, Gmail Scheduling etc.
History of Computer
Mechanical Calculating Era:
a) Abacus
Abacus: earliest calculating device, still in use today.
Originated in China 3000 years ago.
“ABACUS” derived from Roman words “ABAC” and “ABAX” (dust and sand).
Wooden frame, beads on parallel bars for counting.
Experienced users perform fast calculations, rivaling electronic calculators.
b) Napier’s Bone
1617AD: John Napier invented rods for simple multiplication.
‘Bones’: rods with carved numbers for easy multiplication.
Napier is better known for inventing logarithms.
c) Slide Rule
1620 AD: William Oughtred invented the Slide Rule, combining logarithm and Napier’s bones.
Slide Rule used logarithmic scales for rapid multiplication, division, and other calculations.
Engineers and mathematicians extensively used slide rules until electronic calculators replaced them.
d) Pascaline
Around 1642 AD: Blaise Pascal invented a simple mechanical calculator.
Pascal’s calculator used gears and wheels to register numbers.
It could add and subtract easily but couldn’t multiply or divide.
Recognized as the first mechanical calculating device.
e) Stepped Reckoner
Stepped Reckoner: Mechanical calculator invented by Gottfried Wilhelm Leibniz in 1671AD.
Modified the Pascaline and made his own.
Used until replaced by electronic calculators in the 1960’s.
f) Babbage ‘s Engine (Difference Engine and Analytical Engine)
1822AD: Charles Babbage developed the Difference Engine for algebraic equations.
1833 AD: Designed Analytical Machine, inspired by Jacquard’s punched cards.
Prototype of the modern computer with input, storage, output, and program control.
Babbage’s ideas ahead of his time, technology limitations prevented completion.
Babbage is known as the Father of Modern Computers.
g) Lady Augusta Ada
Ada Lovelace: Mathematician, Lord Byron’s daughter.
Assisted Babbage, advocated a binary system.
First computer programmer.
“Ada” programming language named after her by U.S. Defense.
Recognized for significant computer science contributions.
h) George Boole
19th Century (1950s): English mathematician, symbolic logic.
Discovered Boolean Algebra in mathematics.
Pioneered modern electronic computers with 0 and 1 representation.
Introduced “on” and “off” states for communication.
i) Tabulating Machine
1886: Hollerith’s Tabulating Machine inspired by Jacquard.
Used punch cards for faster census calculation.
Founded Tabulating Machine Company (TMC).
1923: TMC merged, formed IBM.
IBM: Top computer manufacturer today.
2) Electro-Mechanical Era:
a) Mark I
Also known as IBMASCC (IBM Automatic Sequence Control Calculator).
Speakers are soft output devices for computer systems.
They receive audio input from the computer’s sound card.
Produce audio output in the form of sound waves.
Most computer speakers are active, with an internal amplifier.
Can increase the volume or amplitude of the sound.
Typically come in pairs for stereo sound from two separate audio channels.
Hardware Interfaces
Hardware interface architecture is used to connect two devices together.
It includes the design of plugs and sockets, wires, and electrical signals.
Connectors and ports in a computer establish communication between the CPU and storage devices.
Serial Port:
Serial ports (COM ports) support sequential data transmission and are bi-directional.
Bi-directional communication allows devices to both receive and transmit data.
Serial ports serialize data, transmitting 8 bits one at a time.
Advantages include lower cable costs and smaller cables.
Disadvantages include slower data transmission compared to parallel ports.
Used to connect external modems, scanners, and older computer mice.
Comes in two versions: 9-pin and 25-pin. 9-pin is the current standard.
Data travels at 115 Kb per second.
Parallel Port:
Parallel ports (LPT ports) were developed to connect printers to PCs.
Data is sent 8 bits (1 byte) at a time and transmitted in parallel, all at once.
Standard parallel port can send 50 to 100 kilobytes of data per second.
Originally, parallel ports were unidirectional, sending data in one direction for each pin.
Bi-directional parallel ports (SPP) were introduced with the PS/2 in 1987.
Bi-directional communication allows devices to both receive and transmit data.
USB Port:
USB stands for “Universal Serial Bus.”
It is the most common type of computer port used in today’s computers.
USB can connect various peripherals, including keyboards, mice, printers, cameras, etc.
USB allows the connection of up to 127 peripherals using USB hubs.
USB is faster than older ports like serial and parallel, with USB 1.1 supporting up to 12Mb/sec and USB 2.0 supporting up to 480 Mbps.
It was introduced in 1997 but gained popularity with the introduction of the Apple iMac in late 1998.
USB is a widely-used cross-platform interface for both Macs and PCs.
HDMI:
HDMI stands for “High Definition Multimedia Interface.”
It is a digital interface used to connect High Definition and Ultra High Definition devices like HDTVs, monitors, gaming consoles, cameras, and Blu-Ray players.
HDMI carries audio signals (compressed/uncompressed) and video signals.
It has 19 pins, and HDMI 2.0 is the latest version, supporting digital video signals.
Slots:
Expansion slots are found on the motherboard and hold expansion cards to enhance a computer’s functionality, like video, network, or sound cards.
The expansion cards are directly connected to the motherboard through the expansion slots, providing direct access to the hardware.
It’s essential to check the available expansion slots in a computer before buying an expansion card.
Older systems may require a riser board for additional expansion cards, but modern computers often have integrated features on the motherboard, reducing the need for extra expansion cards.
Artificial Intelligence
AI stands for Artificial Intelligence. It is a concept of giving human-like intelligence to the machines. Though the computers do their work faster and better than the human beings, the intelligence of them is zero because they just follow the set of instructions given by the user. In case of wrong instruction, they do wrong processing. It is because they do not have intelligence of their own. So, the scientists are in research of giving them artificial intelligence, so that they can understand the natural languages of the human beings and interact. They can express their feelings and many more.
Components of AI
Different disciplines contributed their ideas, viewpoint, and techniques to plan the foundation of Al that acts as components of Al. Some of the major contributions of various disciplines an given below:
Philosophy: It introduces the concept of logic and methods of reasoning and studying the mind as a physical system. It creates the foundation for learning language, and rationality. It also expresses knowledge-based action to be embedded into the machine to act with AI
Mathematics: It introduces the concepts of the formal representation of facts and proof, algorithms, computation, and reasoning with uncertain information.
Economics: It introduces the concepts of the formal theory of rational decision.
Neuroscience: It introduces the concepts of mental activity which can be introduced into the machine.
Psychology: It introduces the concepts of the brain as an information processing device and phenomenon of perception and sensory-motor control.
Linguistics: It introduces the concepts of knowledge representation and grammar and how does language relates to thought.
Control Theory and cybernetics: It introduces the concepts of designing the system that maximizes an objective function over time. This is roughly similar to the concepts of Al that behave optimally. It describes how artifacts (objects) can operate under their own control. That is, it introduces the concept of a self-controlling machine.
Computer science and engineering: This component introduces the concept of hardware, software, and operating system. Apart from this, it also discusses the programming language and tools used in Al.
Uses/Applications of Al
The potential applications of Artificial Intelligence are abundant (plentiful). They stretch from the military for autonomous control and target identification, to the entertainment industry for computer games and robotic pets. Let’s also not forget big establishments dealing with huge amounts of information such as hospitals, banks, industries, and insurances, which can use Al to predict customer behavior and detect trends.
Game playing:
General game playing (GGP) and General video game playing (GVGP) is the concept and designs for artificial intelligence programs to successfully play plenty of games. For video games, game rules have to be either learned over multiple repetitions by artificial players or are predefined manually in a domain-specific language and sent in advance to artificial players. For instance, the GGP of chess, computers are programmed to play these games using a specially designed algorithm. It was considered a necessary landmark on the way to Artificial General Intelligence. The first commercial practice of general game-playing technology was Zillions of Games in 1998.
Speech recognition:
In speech recognition, the input is given to the computer in the form of vibrations produced by the sound. This is done with the help of an analog to digital converter that converts the vibrations produced by the sound into digital format.
Then, a set of complex algorithms runs on that data to recognize the speech and return a text as a result. Depending upon the goal, the end result may vary to some extent. For example, Google Voice typing converts spoken words into suitable text format while personal assistants like Siri and Google Assistant take the sound as input and convert it into both voice and text format, giving output as per the user’s requirement.
Understanding natural language:
Natural language understanding is a branch of artificial intelligence that uses computer software to take the input in the form of sentences using text or speech. It simply reduces the gap between humans and computers allowing them to interact easily with each other.
Computer vision:
Computer vision is a field of artificial intelligence (AI), which enables the computer and its systems to get input in the form of digital images and videos and take action based on the provided input.
Expert systems:
An expert system is a computer system that mimics or even surpasses the decision-making ability of a human expert. It is generally designed to solve complex problems by surfing through bodies of knowledge. It is further divided into two subsystems; the knowledge base (which represents facts and rules) and inference engine (which applies the rules to the known facts to deduce new facts).
Robotics:
Artificial intelligence (AI) in robotics is the ability of the computer or the robot to perform multiple tasks performed by humans, which require human intelligence and discernment. It gives robots a computer vision to navigate, sense, and calculate their reaction accordingly For example: Robotic packaging uses various forms of Al for quicker and accurate packaging at a lower price. Likewise, Sophia which is also marked as a “social robot” is successfully able to mimic social behavior and induce feelings of love in humans.
Theorem proving:
Proving theorems requires high intelligence as many of the practical problems can be cast in terms of theorems. If knowledge is expressed by logic, proving theorem is reasoning. It uses various AI techniques such as heuristic search.
Symbolic mathematics:
Symbolic mathematics refers to the manipulation of formulas, rather than doing arithmetic on numeric values. It is often used in conjunction with ordinary scientific computation as a generator of programs, used to actually do the calculations.
Robotics:
Artificial intelligence (AI) in robotics is the ability of the computer or the robot to perform multiple tasks performed by humans, which require human intelligence and discernment. It gives robots a computer vision to navigate, sense, and calculate their reaction accordingly For example: Robotic packaging uses various forms of Al for quicker and accurate packaging at a lower price. Likewise, Sophia which is also marked as a “social robot” is successfully able to mimic social behavior and induce feelings of love in humans.
Theorem proving:
Proving theorems requires high intelligence as many of the practical problems can be cast in terms of theorems. If knowledge is expressed by logic, proving theorem is reasoning. It uses various AI techniques such as heuristic search.
Symbolic mathematics:
Symbolic mathematics refers to the manipulation of formulas, rather than doing arithmetic on numeric values. It is often used in conjunction with ordinary scientific computation as a generator of programs, used to actually do the calculations.
Cloud Computing
Cloud computing is the use of various services, such as software development platforms, servers, storage, and software, over the Internet, often referred to as the “cloud”. It is defined as a type of computing that relies on sharing computing resources rather than having handle applications. In cloud computing, the word cloud is used to represent “the Internet,” so the phrase cloud computing means “a type of Internet-based computing,” where different services – such as servers, storage, and applications are delivered to an organization’s computers and devices through the Internet. Cloud computing allows application software to be operated using internet-enabled devices.
Types of Clouds
Clouds can be classified as public, private, and hybrid. Public cloud is made available to the general public or a large industry group. Private cloud computing environment resides within the boundaries of an organization and is used exclusively for the organizational benefits Hybrid cloud is the combination of both public and private cloud. Sensitive With this cloud organizations might run non-core applications in a public cloud, while maintaining core applications and data in a private cloud.
Service Models of Cloud Computing
IaaS (Infrastructure as a Service): In this service, computing infrastructural components like server hardware, storage, bandwidth, and other fundamental computing resources are provided through the cloud.
SaaS (Software as a Service): This service includes complete software on the can access software hosted on the cloud without installing it on the user’s own computer.
PaaS (Platform as a Service): It allows the user to rent virtualized servers and associated services used to run existing applications, or to design, develop, test, deploy and host applications. It provides clients with access to the basic operating software and optional services to develop and use software applications without the need to buy and manage the underlying computing infrastructure.
Advantages of Cloud Computing:
Some of the advantages of this technology are:
Cost-efficient: It is probably the most efficient method to use, maintain and upgrade.
Almost unlimited storage: Storing information in the cloud gives us almost unlimited storage capacity.
Backup and recovery: Since, all the data is stored in the cloud, backing it up and restoring the same is relatively much easier than storing the same on a physical device.
Automatic software integration: In the cloud, software integration is usually something that occurs automatically. It also allows us to customize the options with great ease.
Easy access to information: Once the user is registered in the cloud, the user can access the information from anywhere, where there is an Internet connection.
Quick deployment: Once the method of functioning is selected, the entire system can be fully functional in a matter of few minutes.
Disadvantages of Cloud Computing:
Despite its many benefits, as mentioned above, cloud computing also has its disadvantages.
Technical issues: This technology is always prone to outages and other technical issues. Even the best cloud service providers run into this kind of trouble. Despite keeping up high standards of maintenance.
Security in the cloud: Storing all the sensitive information to a third-party cloud service provider could potentially put the company at great risk.
Prone to Attack: Storing information in the cloud could make the company vulnerable to external threats and attacks.
Big Data
Big Data refers to complex and large data sets that have to be processed and analyzed to uncover valuable information that can benefit businesses and organizations. It has features like:
It refers to a massive amount of data that keeps on growing exponentially with time.
It is so voluminous that it cannot be processed or analyzed using conventional data processing techniques.
It includes data mining, data storage, data analysis, data sharing, and data visualization.
The term is an all-comprehensive one including data, data frameworks, along the tools and techniques used to process and analyze the data.
According to Gartner, the definition of Big Data- “Big data is high-volume, velocity, and information assets that demand cost-effective, innovative forms of information processing for enhanced insight and decision making.”
Types of Big Data
Big data can be classified as Structured, unstructured, and semi-structured.
Structured: It means that data can be processed, stored, and retrieved in a fixed format. It refers to highly organized information that can be readily and seamlessly stored and accessed from a database by simple search engine algorithms.
Unstructured: It refers to the data that lacks any specific form or structure whatsoever. This makes it very difficult and time-consuming to process and analyze unstructured data.
Semi-structured: It relates to the data containing both the formats mentioned above, that is structured and unstructured data. To be precise, it refers to the data that although has not been classified under a particular repository (database), yet contains vital information or tags that segregate individual elements within the data.
Characteristics of Big Data
The main characteristics of big data are:
Variety: It refers to the variety of data gathered from multiple sources. The variety can be structured, unstructured, or semi-structured.
Velocity: It refers to the speed at which data is being created in real-time. It also comprises the rate of change, linking of incoming data sets at varying speeds, and activity bursts.
Volume: Big Data indicates huge ‘volumes of data that are being generated daily from various sources like social media platforms, business processes, machines, networks, human interactions, etc.
Veracity: It refers to the reliability or trustworthiness of the data. Due to the large volume of data, we have uncertainty about the validity, the accurateness of data.
Value: It refers to the worth of business value of the collected data.
Variability: It refers to the inconsistency of the big data and how the big data can be used and formatted.
Application Areas of Big Data
Major application of big is data is:
Healthcare or Medical sector.
Academia.
Banking.
Manufacturing.
Information Technology (IT).
Retail business.
Transportation.
Advantages of Big Data Processing:
Some of the advantages of big data processing are:
Businesses can utilize outside intelligence while taking decisions.
Improved customer service.
Early identification of risk to the product/services,
Better operational efficiency.
Big data analysis derives innovative solutions. It helps in understanding and targeting customers. It helps in optimizing business processes.
Disadvantages of Big Data Processing:
Despite its many benefits, big data processing has the following disadvantages.
Traditional storage can cost a lot of money to store big data.
Big data analysis is not useful in the short run. It needs to be analyzed for a longer duration to leverage its benefits.
Big data analysis results are sometimes misleading.
Virtual Reality
Virtual reality (VR) is a term that expresses computer-based simulated environments. Which can perceive as in the real world, as well as in unreal worlds. The virtual reality environments are primarily concerned with the visual experiences, displayed either on a computer screen or through special stereoscopic displays, but some simulations include additional sensory information, such as sound through speakers or headphones.
Virtual reality creates such a realistic artificial environment that the s/he should feel as in the real world. Today the Virtual reality (VR) technology is applied to advance fields of medicine, engineering, education, design, training, and entertainment.
Some of the application areas of virtual reality are:
It can be used in medical studies to enable students to know the human body.
It can be used in scientific research laboratories so that scientists can easily research a structure.
It can be used in entertainment like games and movies to make the gaming experience more real and to allow individuals to experience adventures under extreme conditions.
It can be used in driving schools as it gives a real look at roads and traffic.
It can be used in military training for the soldiers to get familiar with different areas on the battlefield.
Advantages of Virtual Reality:
Some of the advantages of virtual reality are:
Virtual reality creates a realistic world.
It enables users to explore places.
Through Virtual Reality, users can experiment with an artificial environment.
Virtual Reality makes education easier and more comfortable.
Disadvantages of Virtual Reality:
Some of the disadvantages of virtual reality are:
The equipment used in virtual reality are very expensive.
It consists of complex technology.
In virtual reality environment we can’t move by our own like in the real world.
e-Commerce, e-Medicine, e-Governance
e-Commerce
Electronic commerce (e-Commerce) is a process of buying and selling or exchanging products, services, and information using electronic media. There are many definitions for electronic commerce that include elements of electronic transactions and the buying and selling of goods and services online.
e-Commerce is a modern business methodology that addresses the needs of organizations, merchants, and consumers to cut costs while improving the quality of manufactured goods, services and increasing the speed of service delivery. More commonly, e-commerce is associated with the buying and selling of products, and services via computer networks. The main platforms of e-commerce remain the Internet, e-mail, fax, telephone orders.
Classification of e-Commerce
B2B (Business to Business) Sells products or services to other businesses. e.g. www.freemarkets.com
B2C (Business to Consumer) Sells products or services directly to consumers. eg.. www.amazon.com, www.yahoo.com.
C2B (Consumer to Business) Consumer fixes a price on their own, which businesses accept or decline, e.g., www.priceline.com
C2C (Consumer to Consumer) Consumer sells directly to other consumer. e.g. www.ebay.com
Advantage of e-Commerce
Some of the advantages of e-commerce are:
It enables more individuals to work at home, and to do less traveling for shopping, resulting in less traffic on the roads, and lower air pollution.
It allows some merchandise to be sold at lower prices, benefiting less affluent people.
It enables people in Third World countries and rural areas to enjoy products and services which otherwise are not available to them.
Facilitates delivery of public services at a reduced cost, increases effectiveness, and/or improves quality.
It enables consumers to shop or do other transactions 24 hours a day, all year round from almost any location.
It provides consumers with more selections or choices.
It provides consumers with less expensive products and services by allowing them to shop in many places and conduct quick comparisons.
It allows quick delivery of products and services, especially with digitized products. 9. Consumers can receive relevant and detailed information in seconds, rather than in days or weeks walk-around to search a product.
It makes it possible to participate in virtual auctions. It allows consumers to interact with other consumers in electronic communities and exchange ideas as well as compare price-tag.
It facilitates competition, as a result of substantial discounts.
It expands the marketplace to national and international markets. It decreases the cost of creating processing, distributing, storing, and retrieving paper based information.
Disadvantage of e-Commerce
Businesses often calculate return on investment numbers before committing to any new technology. Costs, which are a function of technology, can change dramatically during even short-lived e-commerce implementation projects.
Many companies have had trouble recruiting and retaining employees with the technological, design, and business process skills needed to create an effective e commerce presence.
The difficulty of integrating existing databases and transaction-processing software designed for traditional commerce into the software that enables e-commerce.
Many businesses face cultural and legal impediment (barrier) to e-commerce. Some consumers are still fearful (afraid) of sending their credit card numbers over the Internet.
Consumers are simply resistant to change and are uncomfortable viewing merchandise on a computer screen rather than in person.
e-Medicine
e-Medicine is an online clinical medical knowledge database, which is an approach to providing health care service to a large number of people spread in different locations. It is mainly beneficial for the people of rural areas with limited or no medical facilities. e Medicine is targeted to provide high-quality healthcare service. It minimizes the time and cost required for treatment.
e-Medicine usually contains up-to-date, searchable, peer-reviewed medical journals, online physician reference textbooks, and a complete article database on medical specialties. This Internet medical library and clinical knowledge base are available to physicians, medical students, nurses, other health professionals, and patients.
With the use of e-Medicine, doctors and patients who are physically apart can connect so that patients can share his/her problem with the doctor, and the doctor can suggest treatment or any test required.
e-Governance
e-Governance is the use of information and communication technology (ICT) to enhance the access and delivery of government services to benefit citizens, business partners, and employees. It transforms the traditional government using ICT to make it clear, effective, and accountable. However, it doesn’t mean that putting more computers on the desks of government officials is e governance.
Governance is more than just a government website on the Internet. Political, social, economic, and technological aspects determine e-governance. It establishes a relationship between government officials and citizens, providing greater access to government information and services by making the government accessible online, promoting citizen participation by enabling citizens to interact more conveniently with government officials, such as by requesting government service and filing required documents through the website, increasing government accountability by making its operations more transparent, thereby reducing the opportunities for corruption, and supporting development goals by providing business, rural and traditionally underserved communities with information, opportunities, and communications capabilities.
⮚ E-Governance refers to the provision of online public services to citizens and businesses.
⮚ Services for citizens include the registration to government services such as health care, education, or employment benefits.
⮚ For businesses, E-Governance services can take the form of online alerts for public procurements or funding opportunities as well as information and support on applicable legislation in a given sector.
⮚ E-Governance helps to cut down their administrative costs, speed up procedures and therefore increase efficiency and reactivity.
⮚ It could improve and accelerate administrative efficiency.
Challenges of implementing e-Governance
The key challenges of implementing E-Governance mainly in developing countries like Nepal are
⮚ High-speed infrastructure to access the Internet is required.
⮚ Creating trust and transparency of successful delivery of E-Governance service.
⮚ The digital divide exists in developing countries. All the citizens may not have ICT knowledge.
⮚ Network security and protection against viruses, spam, unwanted attacks, etc.
⮚ Online privacy.
⮚ All the citizens may not have access to computing resources.
Mobile Computing
Mobile computing is a generic term describing one’s ability to use technology while moving as opposed to portable which is only practical for use while deployed in a stationary configuration. A mobile computing device is created using mobile components, such as mobile hardware and software. Mobile computing devices are portable devices capable of operating executing, providing services and applications like a computing device. It is a computing device used in transit. Users can access data and information from wherever they are.
Many types of mobile computers have been introduced since the 1990s, including a wearable computer, PDA, enterprise digital assistant, smartphone, UMPC (Ultra-mobile PC), Tablet PC.
Features of Mobile Computing Device
Features of Mobile Computing devices are
⮚ It is a portable device that can be used during mobility.
⮚ It has limited processing and storage capability.
⮚ It includes mobile communication, mobile hardware, and mobile software.
⮚ It usually contains a touch screen for providing input.
⮚ It contains an on-screen or virtual keyboard for proving text inputs. However, an external keyboard can be connected by using the USB port, infrared, or Bluetooth.
⮚ It contains a camera, speaker, and microphone.
⮚ It contains handwriting recognizing software.
⮚ Most mobile computing devices contain a memory card slot to expand the storage capacity.
⮚ It has wireless connectivity such as Bluetooth, Wi-Fi to connect the Internet or with other computing devices as well as a wired connection through the USB port connectivity services like need either Wi-Fi.
⮚ The most mobile computing device can synchronize their data with applications on users’ computers.
⮚ It can be used for cloud computing and remote access.
⮚ It uses a mobile computing operating system such as Android, iOS, Windows Mobile OS, Palm OS.
⮚ It can include GPS (Global Positioning System) receiver for navigation.
Advantages of Mobile Computing
Advantages of mobile technology are:
⮚ It enables users to work from any location at any time.
⮚ It saves time for accessing data and information.
⮚ It helps to increase the productivity of users reducing the time and cost.
⮚ It has made research easier.
⮚ It is one of the major handheld sources of entertainment of users at present.
⮚ Nowadays, Business processes are easily available through secured mobile connections.
⮚ It is portable.
⮚ It supports cloud computing.
⮚ It provides remote access to the organizational data from any location.
⮚ It is an independent platform. It can be accessed from any hardware or software.
Disadvantages of Mobile Technology
⮚ Mobile technology requires faster and quality or GPRS or 3G or 4G connectivity.
⮚ It has security concerns; most wireless connectivity is unsafe.
⮚ Large power consumption is due to the use of batteries continuously and they do not tend to last long.
⮚ The danger of misrepresentation i.e., credential
⮚ Extensive use of mobile devices results in health problems.
Internet of Things (IoT)
Internet of things (IoT) is the network of physical devices, vehicles, home appliances, and other items embedded with electronics, software, sensors, actuators, and connectivity, which enables these things to connect, collect and exchange data.
The Internet of Things (IoT) is a system of interrelated computing devices, mechanical and digital machines, objects, animals, or people that are provided with unique identifiers (UIDs) and the ability to transfer data over a network without requiring human-to-human or human to-computer interaction.
By combining these connected devices with automated systems, it is possible to “gather information, analyse it and create an action” to help someone with a particular task or learn from a process. A thing in the internet of things can be a person with a heart monitor implant, an animal with a biochip transponder, an automobile that has built-in sensors to alert the driver when tire pressure is low, or any other natural or man-made object that can be assigned an Internet Protocol (IP) address and can transfer data over a network.
Advantages of IoT:
⮚ It automates tasks and helps to improve the quality of a business’s services and reduces.
⮚ It helps to operate the business operations more efficiently, better understand customers to deliver enhanced customer service.
⮚ It supports to improve decision-making and increases the value of the business.
⮚ It has the ability to access information from anywhere at any time on any device.
⮚ It provides improved communication between connected electronic devices.
⮚ Transferring data packets over a connected network saves time, effort, and money.
Disadvantages of IoT:
⮚ As the number of connected devices increases and more information is shared between devices, the chances of the system being attacked also increases.
⮚ Organizations may eventually have to deal with massive numbers (maybe even millions) of IoT devices, and collecting and managing the data from all those devices will be challenging.
⮚ If there’s a bug in the system, every connected device will likely become corrupted.
⮚ Since there’s no international standard of compatibility for IoT, it’s difficult for devices from different manufacturers to communicate with each other.
e-Learning
e-Learning applies to a learning/teaching or understanding about a topic with the help of Information and Communication Technology. e-Learning allows us to learn anywhere and usually at any time, as long as we have a properly configured computer, networks, devices, etc. e-Learning can be CD ROM-based, Network-based, Intranet-based, or Internet-based.
It can include text, video, audio, animation, and virtual environments. It can be a very rich learning experience that can even go beyond the lecture-based crowded classroom. It’s a self paced, hands-on learning experience. The quality of the electronic-based training, as in every form of training, is in its content and its delivery. However, e-learning can suffer from many of the same pitfalls (drawbacks) as classroom training, such as boring slides, monotonous speech, and little opportunity for interaction. The beauty of e-learning is that new software that allows the creation of very effective learning environments that can overcome the classic material being used in traditional learning. For example, http://www.howstuffworks.com/
The concept of e-learning has become more popular throughout the globe because of the Covid 19 pandemic. The tools like Zoom, Microsoft Teams, Cisco Webex Meetings, Google Meet are also used for learning purposes.
m-Commerce
m-Commerce (mobile commerce) is the buying and selling of goods and services through wireless technology i.e., handheld devices such as cellular telephones and personal digital assistants (PDAs).
Industries affected by m-commerce include:
⮚ Financial services, including mobile banking (when customers use their handheld devices to access their accounts and pay their bills), as well as brokerage services (in which stock quotes can be displayed and trading conducted from the same handheld device).
⮚ Telecommunications, in which service changes, bill payment, and account reviews can all be conducted from the same handheld device.
⮚ Service/retail as consumers is given the ability to place and pay for orders on the fly.
⮚ Information services, which include the delivery of entertainment, financial news, sports figures, and traffic updates to a single mobile device.
Social Media
Social Media is a computer-based technology that is used for the creation and sharing of information, ideas, interests, and other forms of expression via virtual communities and networks. Facebook, Twitter, YouTube are popular social media tools.
Advantages of Social Media:
⮚ It provides easier and faster way to communicate.
⮚ It provides worldwide real-time sharing of news and educational content.
⮚ It is one of the effective marketing/advertising tools at present.
⮚ It is the major source of entertainment at present.
⮚ It helps to understand better the latest trends and events.
Disadvantages of Social Media:
⮚ It has increased cyber-crime.
⮚ Productive times is lost due to time waster in social media.
⮚ It is a common tool at present for spreading rumours and fake news/updates.
⮚ It has a high risk of fraud.
⮚ It has decreased privacy.
Software Project Concept
Program:
The program is a sequence of instructions. It is the set or collection of instructions.
Instruction:
An instruction is a command given to the computer to perform a certain specified operation on given data.
Software:
A set of programs written for a computer to perform a particular task is called software or the logical components or set of procedures to routines or instructions are called software is the interface between the computer and the user. It is a group of commands that tells the computer what to do and how to do it.
Project:
A project is a well-defined task, which is a collection of several operations done in order to achieve a goal (for example, software development and delivery).
Software Project Concept:
A software project is the complete procedure of software development from requirement identification to testing and maintenance, carried out according to the execution methodologies, in a specified period of time and budget in order to achieve intended software product.
Software Development Process
⮚ Software development process defines a sequence of tasks that must be carried out to build new software.
⮚ It groups the development activities into a sequence of phases.
⮚ A phase in sequence can only commence on the previous phase has been completed.
⮚ A report is produced at the end of each phase, describing what has been achieved and outlining the plan for the next phase.
Fundamental activities for the software development process are
Software Specification: The functionality or software and constraints on its operations must defined.
Software design and implementation: The software to meet the specifications must produce.
Software validation: The software must be validated to ensure that it does what the customer wants.
Software evolution: The software must evolve to meet changing customer needs.
System Development Life Cycle (SDLC)
System:
System is a set of interacting or interdependent components forming an integrated whole. A system can be described as a set of objects joined together for a common objective.
Development:
It is the process of step by step changing or growing of any program and system.
Information System:
Information system is a system which processes supplied/collected data and generates information that can be used for decision making at different levels.
SDLC
SDLC (Software/System Development Life Cycle) is an organized way to develop a software/system. System Development Phase or System Development Life Cycle or Software Development Life Cycle (SDLC) is a methodology used to develop, maintain, and replace software/information systems.
⮚ It is a systematic process of developing any software. It helps in establishing a system, or software or project, or plan. It gives an overall list of processes and sub-processes required for developing a system.
⮚ SDLC consists of a set of development activities that have a prescribed order. It is the development of software in chronological order.
System Development Life Cycle (SDLC), which is also known as Application Development Life Cycle, is a term used in system that describes the process of planning, creating, testing and deploying an information system.
Importance and the necessity of SDLC
It helps to determine the needs of the user.
It supports constant communication between the developer and the user.
SDLC helps for easy identification of missing requirements.
It ensures that the software meets the needs of its users.
It supports proper analysis and design of the software.
It ensures proper development and testing.
Proper documentation support for future upgrade and maintenance.
It provides flexibility for adding features even after the software is developed.
SDLC Phases
The different phases of SDLC are as follows:
System Study or Preliminary Investigation and Feasibility study.
System analysis or Determination of system requirements.
System design.
System development or development of software.
System Testing.
System Implementation.
System Maintenance and Reviews or Evaluation.
System study:
A system is intended to meet the needs of an organization. Thus the first step in the design is to specify these needs or requirements. The top manager of the organization takes the basic decision to use a computer based (information) system for managing the organization.
During this phase, the development team focuses on completing three tasks:
– Survey the system by collecting the inputs from various sources.
– Analyzing the current system (manual or automated) in depth and developing possible solutions to the problem.
– Selecting to the best solution and defining its function with a feasibility study.
System analysis:
System analysis is the dissection of a system into its component pieces to study how those component pieces interact and work.
⮚ System analysis is a term that collectively describes the early phases of development.
⮚ It is defined as those phases and activities that focus on the business problem, independent of technology.
In this stage, the development team once again goes to the organization and studies very minutely to collect all the drawbacks and details of information from the users, management and data processing personnel.
Then the system analyst analyzes the information and proposes the following specifications.
Goals and objectives of the proposed system.
Fundamental actions that must take place in the software.
Outputs to be produced.
Inputs to be used.
Processes to be performed.
Interfaces to be provided.
Performance requirements to be met.
Organizational and other constraints’ to be met.
Feasibility study:
Feasibility study is the most important activity in the system analysis phase. It analyses the proposed system from different aspects so that it makes us clear that how practical or beneficial the system will be to the organization. So it tells us whether the system is feasible to design nor not.
Need of feasibility study
⮚ It determines whether the system meets the goal of the clients or not.
⮚ It determines the strength and limitations before starting to develop the system.
⮚ It focuses on the boundary of the system’s outline.
⮚ It suggests new opportunities through the investigations process.
⮚ It provide quality information for decision making.
⮚ To provide documentation of the investigated system.
The different levels of feasibility study are as:
1) Economic feasibility: it concerns with cost effectiveness of the system. The main objective of economic feasibility is to calculate approximate cost-both the development cost and the operational cost and the benefits from the system.
2)Technical feasibility: it concerns with the availability of the hardware, software and the support equipment for the complete development of the system.
3)Operational feasibility: it concerns with smooth operation of the system. It is all about the problems that may occur during operation of the system after its development.
4) Behavior feasibility: it concerns with behavior of the users and the society towards the new system. Generally, most of the traditional employees are not easily ready to upgrade them with the new system.
5)Social Feasibility: It is a determination of whether a proposed system will be acceptable to the people or not.
6)Management Feasibility: It is a determination of whether a proposed system will be acceptable to management or not.
7)Schedule(Time) feasibility: it is the process of splitting project into tasks and estimate time and resources required to complete each task. It determines the deadline to complete a system and schedule the task accordingly.
8)Legal feasibility: it concerns with legal issue of the system. If the system is illegal then the system designing is meaningless. Everything is measured whether it is legal or illegal. It considers copyright law, foreign law, foreign trade, tax, etc.
System design:
The next step is to develop the logical design of the system. During this phase, the logic of the system, namely, the information requirement of users, and use this to find the necessary database.
System design is concerned with the design of new system. It involves designing of various things such as output design, input design, files design, processing and general program design etc.
Logical Design: Theoretically designing of the system is called logical design. The system could be designed on the basis of the requirements.
Physical Design: The conversion of logical design into designing tools and techniques is called physical design. It is more detail and complex jobs describing the solution of the problem. It uses algorithms, flowcharts, pseudo codes, decision table, decision tree, E-R diagram, Data flow diagram etc.
Theoretically designing of the system is called logical design. The system could be designed on the basis of the requirements.
The conversion of logical design into designing tools and techniques is called physical design. It is more detail and complex jobs describing the solution of the problem.
To create the logical design different kinds of tools are used.
⮚ Algorithm ⮚ Decision Table
⮚ Flowchart ⮚ Decision Tree
⮚ Pseudo codes ⮚ Data flow diagram
⮚ Structured English ⮚ E-R diagram
System development: after designing a logical diagram of a system then next step is to convert into program. This process is called system development. Flowchart, algorithm, Pseudo code, etc. are the outlines the procedures for taking the input data and processing it into usable output.
System testing: it is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. System testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation.
Implementation: implementation involves testing the installed system, converting from the old system to the new one and training the users. This phase consists of implementation of the system into a production environment, and resolution of the problem identified in testing phase.
Maintenance and review: it begins after the system is implemented. Like any system, there is an ageing process that requires periodic maintenance of hardware and software. The content of the review will include objectives met, cost, performance, standards and recommendation.
System Analyst:
System analyst is person who is involved in analyzing, designing, implementing and evaluating computer based information systems to support the decision making activities and operations of an organization.
A good system analyst is:
Understanding and commitment to the organization
People skills
Conceptual skills and
Technical skills
⮚ A system analyst is information specialist. To be a system analyst, one must be knowledgeable about the technical aspects of analyzing, designing and implementing computer-based systems.
⮚ A system analyst is a person who conducts a study, identifies activities and objectives and determines a procedure to achieve the objectives.
Designing and implementing systems to suit organizational needs are the functions of the systems analyst. One plays a major role in seeing the business benefits from computer technology. An analyst is a person with unique skills. One uses these skills to coordinate the efforts of different types of persons in an organization to achieve business goals.
The characteristics (attributes) of system analyst are as follows:
Knowledge of organization.
Technical Knowledge.
Interpersonal Communication Skill.
Character and Ethics.
Problem-Solving Skill.
➔ Defining the problem
➔ Analyzing the problem
➔ Evaluating many alternatives
➔ Choosing the best alternatives
➔ System analysis and Design skills
The roles of system analyst area as follows:
Change event
Investigator and event
Architect
Psychologist
Motivator
Intermediary and diplomat
Duties and Responsibilities of System Analyst
Defining Requirements
Prioritizing Requirements
Analysis and Evaluation
Solving Problems
Drawing up functional specification
Designing System
Evaluating System
SDLC (System Development Life Cycle):
Describes in Details:
System study or Preliminary Investigation :
In this stage, the development team studies the present and identifies the drawbacks. They interact with the users and gathers information from different sources to recognize the problems of present system.
System Analysis:
In this stage, the development team once again goes to the organization and studies very minutely to collect all the drawbacks and details of information from the users, management and data processing personnel.
Then the system analyst analyzes the information and proposes the following specifications.
Goals and objectives of the proposed system.
Fundamental actions that must take place in the software.
Outputs to be produced.
Inputs to be used.
Processes to be performed.
Interfaces to be provided.
Performance requirements to be met.
Organizational and other constraints’ to be met.
Feasibility study:
Feasibility study is the most important activity in the system analysis phase. It analyses the proposed system from different aspects so that it makes us clear that how practical or beneficial the system will be to the organization. So it tells us whether the system is feasible to design nor not. Thus it is necessary before system design.
The different levels of feasibility study are as:
Economic feasibility: it concerns with cost effectiveness of the system. The main objective of economic feasibility is to calculate approximate cost-both the development cost and the operational cost and the benefits from the system.
Technical feasibility: it concerns with the availability of the hardware, software and the support equipment for the complete development of the system.
Operational feasibility: it concerns with smooth operation of the system. It is all about the problems that may occur during operation of the system after its development.
Behavior feasibility: it concerns with behavior of the users and the society towards the new system. Generally, most of the traditional employees are not easily ready to upgrade them with the new system.
Schedule feasibility: it is the process of splitting project into tasks and estimate time and resources required to complete each task. It determines the deadline to complete a system and schedule the task accordingly.
Legal feasibility: it concerns with legal issue of the system. If the system is illegal then the system designing is meaningless. Everything is measured whether it is legal or illegal. It considers copyright law, foreign law, foreign trade, tax, etc.
System Design:
System design is concerned with the design of new system. It involves designing of various things such as output design, input design, files design, processing and general program design etc. This state consists of logical design and physical design of the system.
a. Logical Design: Theoretically designing of the system is called logical design. The system could be designed on the basis of the requirements.
b. Physical Design: The conversion of logical design into designing tools and techniques is called physical design. It is more detail and complex jobs describing the solution of the problem. It uses algorithms, flowcharts, pseudo codes, decision table, decision tree, E-R diagram, Data flow diagram etc.
System Design Tools:
The tools which are used to design the system in known as system design tools. They are used during system analysis and design phase of the system development
a. Algorithm: An algorithm is defined as the finite sequences of instructions for solving a problem
b. Flowchart: A flowchart is the pictorial representation of an algorithm which is classified into two types’ system flowchart and program flowchart. The different symbols used in system flowchart are defined below:
I) System flowchart:
System flowchart describes the internal architecture of a system that describes how data are moved inside the internal components of a system.
II) Program flowchart:
Program flowchart describes to solve the application types of real world problem.
c. DFD (Data flow diagram):
DFD is the logical diagram to describe the flow of data inside the components of system. It is easier to understand or grasp when being explained and most important to all, it is much more precise and less ambiguous than a narrative one. The main components are: process, data store, data flow, external entities.
d. Context Diagram:
It is combination of many other DFD. It is the highest level of DFD. It contains only one process, representing the entire system, the process is given the symbol circle. The external entities are denoted by rectangle. The flow of data is described by arrow.
e. ER (Entity Relationship) diagram:
The E-R diagram is an overall logical structure of a database that can be expressed graphically. It was developed to facilitated database design and the simplicity and pictorial clarity of this diagramming technique have done great help in the designing part of database. The main components are attributes, entities and relationship.
The diagrammatic representation of entities attributes and their relationship is described by E-R diagram.
E-R diagram
f. Case diagram:
Computer aided software engineering tool is automatic computer based program that helps for software engineering and SDLC process. It is very fast and effective tools for the development of big scale software. It helps in analysis, design, implementation, testing and maintenance.
g. UML:
Unified Modeling Language is a standardized general purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created by, the object management group. UML includes a set of graphic notation techniques to create visual models of object-oriented software.
h. Decision Table:
A table allows us to identify the exact course of actions for given conditions in tabular form. Decision table is a tabular representation of the logic of a decision, which specifies the possible conditions for the decision and the resulting actions.
Parts of Decision Table.
i. Decision Tree:
Decision tree is also a technique to represent condition and actions in a diagrammatic form in computer. A decision tree allows us to identify the exact course of actions for given conditions in tree structures.
j. Pseudo Code:
It is a kind algorithm for solving a problem and the instructions of pseudo code are written by using English phrase and mathematical expressions.
5.System Development:
Programmers begin to develop the program by using a suitable High Level Language. In System developments following processes are done.
Convert logical structure in to programs in programming language.
Database is created.
User operational documents are written.
Users are trained.
The internal documentation of a system is prepared.
System testing:
It is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. System testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation.
1. White box testing: white box testing of software is predicted on close examination of procedural Logical path through the software and collaborations between components are tested by providing test case that exercises specific sets of conditions or loops. It is used when the tester has access it the internal data structures and algorithms including the code that implement these.
Black box testing: black box testing treats the software as a black box without any knowledge of internal implementation. Black box testing methods include: equivalence partitioning, boundary value analysis, specification based testing, etc. it is also called functional testing because it tests whether a system is functioning or not.
Implementation:
Implementation involves testing the installed system, converting from the old system to the new one and training the users. This phase consists of implementation of the system into a production environment, and resolution of the problem identified in testing phase.
Types of Implementation:
Direct Conversion: All users stop using old system at the same time and then begin using the new. This option is very fast, less costly but more risky.
Parallel conversion: Users continue to use old system while an increasing amount of data is processed through the new system. Both the systems operate at the same time until the new system works smoothly. This option is costly but safe approach.
Phased conversion: Users start using the new system component by component. This option works only for systems that can be compartmentalized. This option is safe and conservative approach.
Pilot conversion: Personnel in a single pilot-site use the new system, and then the entire organization makes the switch. Although this option may take more time, it is very useful in big organizations where a large number of people make the conversion.
Maintenance and review:
It begins after the system is implemented. Like any system, there is an ageing process that requires periodic maintenance of hardware and software. The content of the review will include objectives met, cost, performance, standards and recommendation.
Types of Maintenance
Corrective Maintenance: it corrects the run time errors during the operation.
Adaptive Maintenance: It modifies or adds new features in the system.
Perfective Maintenance: It makes the system perfect, up-to-date and improve the life of the system.
System Development Model:
During software development or system development for organizations, a common process framework is established, defining a small number of framework activities that are applicable to all software projects, regardless of their size complexity. For a better paradigm of a software process, several models are designed and implemented. It is the choice of system analyst which model is used to achieve the goal. The different models are:
Waterfall model:
Waterfall model is a systematic and sequential model to develop software that begins with requirements analysis to operation and maintenance. It describes a development method that is linear and sequential. It is an oldest type of model for software engineering. The fundamental processes of waterfall model are as follows:
Requirements analysis and definition: it is the first stage of waterfall model. In this stage, the developer should identify the actual requirements of the given problem.
System design: in this stage the systems design process partition the requirements to either hardware or software systems.
System Development: During this stage, the system design is converting into development.
Integration and system Testing: The individual program units or programs are integrated and tested as a complete system to ensure that the software requirements have been met.
Operation and maintenance: in this stage, the system is installed to the desire location. The maintenance involves correcting errors which were not discovered in earlier stages of the life cycle, improving the implementation of system units and enhancing the system’s service as new requirements are discovered.
Advantages:
It is simple model suitable for small size project.
It is less expensive.
Disadvantages:
It has no back track mechanism.
It is not suitable for large size project.
It has lack of proper documentation.
Prototyping model:
It is the iterative process of system development which is more appropriate for developing new system where there is no clear idea of requirements, inputs and outputs. These systems are then continuously modified until the user is satisfied.
Identify the user needs: the system analyst interviews the user to obtain an idea of what is required from the system.
Develop a prototype: the system analyst, working uses one or more prototyping tools to develop a prototype.
Determine if prototype is acceptable: the analyst educates the user in prototype use and provides an opportunity from becoming familiar with the system.
Use the prototype: the prototype becomes the operational system.
Advantages:
The users get a better understanding of the system being developed.
Errors can be detected much earlier as the system is made side by side.
Quicker user feedback is an available leading to better solutions of the system.
Disadvantages:
It leads to implementing and repairing way of building systems.
It may increase the complexity of the system as scope of the system may expand beyond original plans.
Spiral system:
In this model, process is represented as a spiral rather than as a sequence of activities with backtracking. It is a software development process combining the elements of both waterfall and prototyping model. The spiral model is intended for large, expensive and complicated projects. This is the most realistic model because it uses multidimensional approach for software development. The activities in SDLC are organized in a spiral structure that has many cycles which starts from the center of the spiral and goes out as it program and becomes matured. Each of the complete spiral segment is divided into four different attributes knows as:
Planning: the project is reviewed and a decision made whether to continue with a further loop of the spiral. If it is decided to continue, plans are drawn up for the next phase of the project.
Risk analysis: for each of the identified project risks, a detailed analysis is carried out. Steps are taken to reduce the risk. For example, if there is a risk that the requirements are inappropriate, a prototype system may be developed.
Software development (Engineering): after risk evaluation, a development model for the system is chosen.
User evaluation: specific objectives for the phase of the project are defined by the evaluation of users. Constraints on the process and the product are identified. And a detailed management plan is drawn up.
Advantages:
It emphasizes quality.
It is effective for regular updating the system.
It emphasizes risk reduction techniques.
Disadvantages:
Full scale risk analysis requires training, skill so it may appropriate only for large projects.
This model is relatively untested.
Agile Software Development:
It is a software development method based on iterative and incremental development in which requirement and solutions evolve through collaboration between self-organizing, cross functional teams.
Documentation:
Documentation is the process of collecting, organizing, storing and maintaining a complete record of system and other documents used or prepared during the different phases of the life cycle of the system. It consists of the detail description about software requirements specification, feasibility report, and software designing report, description about input-output and processing mechanism, source code, comments, manuals, guides and effective help desk.
Types of Documentation
Internal Documentation: It is used by the system analyst and the programmer during development process. It is very useful for the development period and also useful in future for the modification and maintenance for the software.
External Documentation: It is used by the user during the running time of the software. It includes the detail description in terms of manuals, guide and help files. It is mainly deals with how to effective use of software.