Thursday, August 26, 2021

Institute of electrical and electronics engineers (IEEE)

         The Institute of Electrical and Electronics Engineers (IEEE) is a professional organization for electronic and electrical engineering (and related disciplines), with headquarters in New York City and an operations center in Piscataway, New Jersey. The American Institute of Electrical Engineers and the Institute of Radio Engineers merged in 1963 to form this organization.



        IEEE has a regional and technical structure that complements each other, with organizational units based on location and technical focus. It oversees a separate organizational entity (IEEE-USA), which makes policy recommendations and implements initiatives that benefit IEEE members, the profession, and the general public in the United States.

American national standard institute (ANSI)

 


    The American National Standards Institute (ANSI) is a private non-profit organization in the United States that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel.  In addition, the organization coordinates U.S. standards with international standards so that American products can be used globally.




    Standards developed by representatives of other standards organizations, government agencies, consumer groups, companies, and others are accredited by ANSI. These standards ensure that product characteristics and performance are consistent, that definitions and terms are used consistently, and that products are tested consistently. In addition, ANSI accredits organizations that perform product or personnel certification in accordance with international standards.


Networking Fundamental

     In Networking fundamental we study the building blocks of modern network design .Where we learn about the many different types of networks, networking concepts, network architecture, network communications and network design .

                                          

       Network is a group of two or more computer systems or other devices that are linked together to exchange data. Networks share resources, exchange files and electronic communications.

Why we study network fundamental?

    Network Fundamental is important to ensure that hardware and software can work together. Without Fundamental you could not easily develop a network to share information . Along with fundamental here are some standards that are categorized in two ways 

De facto

De jure




                            : Click standards to study network standards :



Networking Standards

Who creates a formal standards?

        An official industry or government group creates a formal standard. For example, formal standards exist for Web browsers (e.g., HTTP, HTML), network layer software (e.g., IP), data link layer software (e.g., Ethernet IEEE 802.3), and physical hardware (e.g., Ethernet IEEE 802.3). (e.g., V.90 modems).Formal standards take several years to establish, during which time technology evolves and makes them outdated.


 standards that are categorized in one of two ways 

De facto

    De facto refers to something that has happened in the past or is proven to be true. Without any formal planning, these standards are developed. Because of historical developments, these standards have emerged. Many organizations around the world continue to follow these guidelines. The widely accepted SNA is an example of this.

De jure

    De jure refers to a legal or regulatory framework. These standards were created after extensive research to meet the needs of data communication. The following are the major organizations that develop communication protocols and standards:

  1. American national standard institute (ANSI)
  2. Institute of electrical and electronics engineers (IEEE)
  3. International standard organization (ISO)
  4. International telecommunications union – telecommunication standards sector (itu-t)
  5. The electronic industries association (EIA)

                                                :Click above for detail:

Wednesday, August 11, 2021

OOP

 What is OOP ?

        OOP stands for Object-oriented programming . the computer programming model based on the concept of "objects" . in OOP software is organized around data or object instead of function and logic .


        OOP focuses on the objects that developers want to handle rather than the logic required to handle them. This approach to programming is well-suited for programs that are large, complex and needs actively updates or to be  maintained. This includes programs for manufacturing and design, as well as mobile applications; for example, OOP can be used for manufacturing system simulation software.

        In OOP projects are divided into groups .plus benefits of OOP include code reusability, scalability and efficiency.

 The structure of object-oriented programming





The structure building blocks of object-oriented programming are  four as follows:
-  Classes
-  OBJECTS
-  Methods
-  Attributes / properties

  • Classes are user-defined data types that act as the blueprint for individual objects, attributes and methods.
  • Objects are instances of a class created with specifically defined data. Objects can correspond to real-world objects or an abstract entity. When class is defined initially, the description is the only object that is defined.
  • Methods are functions that are defined inside a class that describe the behaviors of an object. Each method contained in class definitions starts with a reference to an instance object. Additionally, the subroutines contained in an object are called instance methods. Programmers use methods for reusability or keeping functionality encapsulated inside one object at a time.
  • Attributes are defined in the class template and represent the state of an object. Objects will have data stored in the attributes field. Class attributes belong to the class itself.

There are four main principles of OOP:



1- Encapsulation.
2- Abstraction.
3- Inheritance
4- Polymorphism.

1- Encapsulation.
      This principle states that all important information is contained inside an object and only select information is exposed.

2- Abstraction.
     Objects only reveal internal mechanisms that are relevant for the use of other objects, hiding any unnecessary implementation code.

3- Inheritance.
     Classes can reuse code from other classes. Relationships and subclasses between objects can be assigned, enabling developers to reuse common logic while still maintaining a unique hierarchy.


4- Polymorphism.
     Objects are designed to share behaviors and they can take on more than one form. The program will determine which meaning or usage is necessary for each execution of that object from a parent class, reducing the need to duplicate code .




Popular pure OOP languages include:

  • Ruby
  • Scala
  • JADE
  • Emerald

Programming languages designed primarily for OOP include:

  • Java
  • Python
  • C++


In any next blog we will Discuss about OOP benefits .

Thursday, June 10, 2021

KEYS in RDBMS

 What are keys in DBMS ?

      key in DBMS is an attribute or a set of attributes that help to uniquely identify a row in a relation of table. Keys are also used to create relationships between the different tables and columns of a relational database .


There are different types of keys as shown in above figure


Super Key

     A super key is a set of one or more attributes (columns), which can uniquely identify a row in a table. Super key is a superset of a candidate key.

FOR example:- 

  In EMPLOYEE table,  the name of two employees can be the same, but their EMPLYEE_ID can't be the same. Hence, The super key would be EMPLOYEE-ID.

candidate key

 A super key with no redundant attribute is known as candidate key . The remaining attributes except for primary key are considered as a candidate key. The candidate keys are as strong as the primary key.

FOR example:-

 In the EMPLOYEE table, id is best suited for the primary key. Rest of the attributes like SSN, Passport Number, and License Number, etc. are considered as a candidate key.

Primary key

  It is used to identify one and only one instance of an entity uniquely . It is a column or set of columns in a table that uniquely identifies rows in that table.

FOR example

In the EMPLOYEE table, ID can be primary key since it is unique for each employee. In the EMPLOYEE table, we can even select License Number and Passport Number as primary key since they are also unique.

Foreign key

  It is also like a primary key just the difference is that it is for the column. Foreign keys are the columns of a table that points to the primary key of another table. They act as a cross-reference between tables.

FOR example

  In a company, every employee works in a specific department, and employee and department are two different entities. So we can't store the information of the department in the employee table. That's why we link these two tables through the primary key of one table.

Composite key

   A key that has more than one attributes is known as composite key. It is also known as compound key. but when it taken individually it does not guarantee uniqueness. Composite key is a key which is the combination of more than one field or column in a table. It may be a candidate key or primary key.

FOR example



Alternate key

     A table can have many candidate keys. Among these candidate keys, only one key can be used as primary key a table can have multiple candidate keys. With these candidate keys, only one key gets selected as primary key, the remaining keys are known as alternative or secondary keys. key, the remaining keys are known as alternative or secondary keys.

FOR example 

 EMPLOYEE table can have the following attributes: 

Employee SSN: The SSN number of employees is stored in this field.

Employee Id: An attribute that stores the value of the employee identification number.

Employee name: An attribute that stores the name of the employee holding the specified employee id.

Employee email: An attribute that stores the email id of the specified employees.

CANDIDATE key will be as follows:

Employee SSN

Employee ID

Employee email

 From the above key only one can be selected as primary key and other two will be the alternate key

Employee ID will be the primary key (which we have discussed before)

other employee ID and employee email both will be used as alternate key .


" In this blog we have discussed six keys that are used at the basics " 









Saturday, May 8, 2021

E.R model

                E.R MODEL

E.R model stands for an Entity-Relationship model.ER model stands for an Entity-Relationship model. It works around real-world entities and the associations among them. At view level, the ER model is considered a good option for designing databases. (ER Modeling) is a graphical approach to database design.





 Entity

   An Entity is a thing or object in real world that is distinguishable from surrounding environment . An entity may be any object, class, person or place. In the ER diagram, an entity can be represented as rectangles.

    An Entity is an object of Entity Type and set of all entities is called as entity set 
An entity set is a collection of similar types of entities. An entity set may contain entities with attribute sharing similar values.  

        For example:-

   A Students set may contain all the students of a school; likewise a Teachers set may contain all the teachers of a school from all faculties. Entity sets need not be disjoint.

Attributes

The attribute is used to describe the property of an entity. Attributes are the properties which define the entity type. For example, Roll No, Name, DOB, Age, Address, Mobile No are the attributes which defines entity type Student.

Types of Attributes

  • Simple attribute − Simple attributes are atomic values, which cannot be divided further. For example, a student's phone number is an atomic value of 10 digits.

  • Composite attribute − Composite attributes are made of more than one simple attribute. For example, a student's complete name may have first_name and last_name.

  • Derived attribute − Derived attributes are the attributes that do not exist in the physical database, but their values are derived from other attributes present in the database. For example, average salary in a department should not be saved directly in the database, instead it can be derived. For another example, age can be derived from data_of_birth.

  • Single-value attribute − Single-value attributes contain single value. For example − Social_Security_Number.

  • Multi-value attribute − Multi-value attributes may contain more than one values. For example, a person can have more than one phone number, email_address, etc.

Thursday, May 6, 2021

E.R Models

 




PHYTHON

 

Python

  Python is a relatively new programming language since it was released in 1989. Still, it has got the attention of programmers and organizations after 2000, when new features and large-scale computations were added. A python is an object-oriented programming language.



     Python is one of the easiest languages to use and work with. Python can create a framework for basically any website need. This language uses simple and straightforward syntax, making it easy for web developers to work with and explain to their users. Some familiar sites that are using this language are Pinterest and Instagram. Python is the fastest-growing programming language.

     The simplicity of coding even complicated structures in Python is a big reason why web application development using Python is on the rise. Python helps software engineers cut development time from hours to minutes.



       You can use Python for web development, Data Science, Scripting, and Automation. Similar to JavaScript, Python also enjoys huge community support and has a lot of useful frameworks, libraries, and tools that can help you create a web application in quick time. Python is also a good programming language to learn Coding

     Its huge standard library and its compatibility with major systems make it come handy for enterprise app developers. Also, it’s easy syntax makes reading and redesigning quite easier.

 


  

   The most favored artificial intelligence programming language among developers that will be boosting in rank in 2020. For beginners, Python is perfect because it is simple, easy to learn, and powerful to create web applications and automation. Python is the best programming language for AI comparing to Java, C#, C++, and Ruby because it supports a functional, object-oriented and procedural-oriented programming approach.

           When compared to other object-oriented programming languages such as Java or C/C++, less coding work is required in Python saving a lot of time. However, it can get messy and complicated for massive projects because of its inability to spot errors as it is an interpreted language. Python is the ideal coding language used for machine learning, NLP, and neural network connections. Python can be used even if you are new to AI development since it is flexible and comes with pre-existing libraries like Pandas, SciPy, and nltk. Python language is lauded for its simple syntax and minimal codes.


 

        Nowadays python is gaining popularity in market. Python undoubtedly tops the list. It is widely accepted as the best programming language to learn first. Python is a fast, easy-to-use, and easy-to-deploy programming language that is being widely used to develop scalable web applications. YouTube, Instagram, Pinterest  are all build in Python coding. Python provides excellent library support and has a large developer community. The programming language provides a great starting point for beginners. Those who are looking for a better job  should definitely learn Python ASAP. A lot of Beginners are using Python as their primary backend stack .

Pros

·         The most noticeable advantage of Python, without a doubt, is the ease of use. New users can learn Python faster than any other language.

·         It is an open-source language with hundreds of built-in libraries; new features are being added to the language continuously, reducing the programmer's efforts.

·         It is paving the way to IoT(Internet of things), machine learning, and data science projects.

                                                                           Cons

·         Unlike other compiled languages, Python is an interpreted language, which may reduce speed. For example, it is slower than C or C++.

·         Python interprets one thread (instruction) simultaneously, and single-threaded programs can cause a decline inefficiency. It needs a lot of memory to perform complicated tasks.

·         Not an excellent option to work with the problematic database.

Sunday, April 25, 2021

Which language learning will be profitable nowadays

 

     After researching that which language is on trend and which is on descend we also have discussed the pros and cons of different languages .We have also compared them to each other to get better outcome .according to me the beginner should start with baby steps from easy basic language which have strong background and wide support .This helps the beginners but no one can just stay on any one basic language because different platform ,users and system demands different language approach .

       due to this we should have multiple language knowledge  if asking me what I would like develop what is  my interest , then my answer will be simple “My interest is in robotics and A.I,I want to design my own robot(not terminator)” anyway talking other then my interest world is also demanding the A.I system in daily life . but A.I is in progress this will take time to gaining the top position . Till that point we can go with language that can be used across the different platform and going popular these days. The top five languages that every programmer should know before jumping off to practical life.

Python:

Nowadays python is gaining popularity in market. Python undoubtedly tops the list. It is widely accepted as the best programming language to learn first. Python is a fast, easy-to-use, and easy-to-deploy programming language that is being widely used to develop scalable web applications. YouTube, Instagram, Pinterest  are all build in Python coding.



 Python provides excellent library support and has a large developer community. The programming language provides a great starting point for beginners. Those who are looking for a better job  should definitely learn Python ASAP. A lot of Beginners are using Python as their primary backend stack .

C/C++

C/C++ is like the bread and butter of programming. Almost all low-level systems such as operating systems, file systems, etc are written in C/C++. If someone want to be a system-level programmer, C/C++ is the language you should learn. C++ is also widely used by competitive programmers owing to the fact that it is extremely fast and stable.



 C++ also provides STL - Standard Template Library. STL is a pool of ready-to-use libraries for various data structures, arithmetic operations, and algorithms. The library support and speed of the language make it a popular choice in the High-frequency.

JAVA

Java is another popular choice in large organizations and it has remained so for decades. Java is widely used for building enterprise-scale web applications. Java is known to be extremely stable and so, many large enterprises have adopted it. If someone looking for a development based job at a large organization, Java is the language that you should learn.



 Java is also widely used in Android App Development. Almost any business today needs an Android Application by the fact  there are billions of Android users today. This opens up a huge opportunity for Java developers.

Swift

    Swift is the programming language that is used to develop iOS applications. IOS-based devices are becoming increasingly popular. Apple iPhone, for instance, has captured a significant market share and is giving a tough competition to Android. So we should know swift for ios based device.

    Before Swift, Objective C was the primary language for development iOS apps. In 2018, Swift got huge popularity and became number 1 programming language for Apple and iOS operating systems. Swift is highly recommended for creating interactive and feature-rich tvOS, iOS and watchOS platforms. 



HTML/CSS

    Both HTML and CSS are fundamental tech skills you can start using to work on real projects within weeks of diving in. And they are the place to start if you want to work in tech, whether you end up going into front end development, back end development, web design, visual design, or even digital marketing.  There is a huge demand for these skills .



  HTML and CSS alone aren’t enough to get you any work in tech is a very narrow way of looking at it. So take a look at the kind of work you can get paid to do with those two skills

      HTML provides the structure while CSS provides the style and helps them to look better and more visually appealing. HTML is the basic building block of an app. This language dictates the structure and contents of a web page. The main disadvantage of HTML is that it can’t help developers make web apps interactive. To enhance HTML pages with an aesthetic style and interface prompts, add a design, and display all HTML elements, developers use CSS.

   HTML language is dynamic and allows you to create a beautiful website using less code. HTML is used to create a starting point for the website and is what most of your static pages starting from. While CSS is the language developers can use to style a website. The style sheet language describes how your website is presented and its layout. CSS is used hand in hand with HTML to add colors, backgrounds, layouts, font sizes, and more.

 Detailed note on each language will be on air stay tuned

Popular Languages

 

1.  Java

      Since Android was officially launched in 2008, Java has been the default development language to write Android apps. This object-oriented language was initially created back in 1995.

                    


       Java was released on 1995 by Sun Microsystems. It is not only a programming language but an ecosystem of tools. It covers almost everything you may need for Java development. Java toolkit includes: JDK (Java Development Kit), JRE (Java Runtime Environment), and IDE (Integrated Development Environment). 

    Java is one of the most famous and most learned languages around the globe. It's celebrating 24 years of successful life-cycle this year. Still today, many developers consider it the best language for developing desktop applications. According to the TIOBE Index, it is the second most used language after C, and it has been in the top 2 since the beginning of the Index.

    Java lies in the middle from a technical and functional point of view. You will need 8 GB of RAM to process its applications effectively. 8 GB RAM is recommended for running, but it can run on relatively lesser specs. It requires at least 50 GB ROM to operate successfully. Furthermore, JDK (Java Development Kit) or JRE (Java Runtime Environment) are a must prerequisite of numerous tools used for development. For example, NetBeans is a great tool if you are starting as a Java developer.

Pros

·  1.      Easy to learn.

     Java programming Language is very easy to learn. This programming language is easy to write, compile, debug, and learn than other programming languages for programmers.

2.      Object-oriented programming language

     Java is a object oriented programming language. It allows programmers to create modular programs and the codes are reusable.

3.      Platform-independent.

   Among the advantages, Java being a platform independent is a major one. Being platform independent, this programming language can be easily from one computer system to another.

4.      Multi-threaded

   Java is a multi-threaded program which means that it can perform several tasks simultaneously within a program.

5.      Secure

   The Java language, compiler, interpreter, and run-time environment were developed to aid for the security purpose.

CONS :

1.      Slow

    In comparison to other programming language, Java is comparatively slower. Slow compilation of the programs annoys a programmer and is one of the drawbacks of the Java programming language.

2.      Occupies More Memory Space

    One of the other disadvantages of Java language is the memory space. Developers of the language haven’t been able to overcome it. Java takes more memory space than the other programming languages like C and C++.

3.      Look and feel

   The default looks and feel of GUI applications which is written in Java using the Swing toolkit is different from other applications written in other compiler language.

4.      Java’s Architecture Code is Inefficient

  Java’s ability to use the code for producing portable, architecturally code is quite inefficient. Once java code is compiled into byte code, a JVM interpreter, mainly designed for a computer architecture, runs the program.

    Most organizations use Java in one way or another. A wide range of use makes these applications almost invisible, which is why the question “where to use Java” is often raised. These domains can be covered by Java:

     Android apps.

    Software products

      Finance programs. 

      Point of sale systems.

      Trading applications. 

      Big data programs.

C++

   C++ is a low-level programming language that adds object-oriented features. It is also known as "C with Classes". It made its first public appearance in 1985, although it was designed in 1979 by Bjarne Stroustrup. C++ is usually used for applications that work directly with hardware and in the gaming industry.



    C++ requires relatively low desktop specs to function. It only takes 24 MB ROM memory and 4 GB RAM. To get maximum productivity, it is a good idea using a multi-core system. Linux also supports the direct installation and function of C++.

It is an extension of the popular C-programming language that can be used for general purposes. This AI programming language is designed to incline to the framework programming that is inserted to adapt to resource-limited software in large systems.               

       With abundant tools, libraries and functions, C/ C++ takes the top slot in Robotics programming platform as most programmers/ aspiring “Robotics Engineer” use C/C++ to ensure the peak performance from the Robot. C/ C++ is a must-learn programming language if you are serious about building a career in the Robotics industry because these two are considered the most mature programming languages in Robotics because they allow easy interaction with low-level hardware.

 The speed of C++ is the greatest benefit since AI development has complex computations and this language can make the calculations faster.  The Arduino microcontroller uses a programming language based on C and is a great way to learn the basics of this important language whilst doing hands-on robotics.

Pros

·         Used by companies like Adobe Systems, Amazon, Facebook, and many others.

·         It is lightweight.

·         Supports multiple inheritances.

Cons

·         It is challenging to learn.

·         You need to manage memory manually.

·         It is not highly promoted like C# (Microsoft) and Java (Oracle), which means there are no releases from these big companies to make developers' life more comfortable.

C#(.NET)

       C# made its way into the programming world in 2002, and it is an object-oriented programming language. Developed by Microsoft, by using their .NET framework, it is used as a framework for many other languages as well, so today, it is used as a general-purpose programming language.

Pros

·         Just like Java, C# is a compiled language. It means that the program execution is fast and multi-threaded.

·         C# is easily integrated into windows, which means it doesn't require any special software or frameworks to run.

·         It comes in handy when a team of developers is working on one project. The code is simple enough to integrate and understand.

Cons

·         The most considerable disadvantage of C# by far is that Microsoft has terminated support for some of the older versions of .NET frameworks, which might create a problem for developers in the long run.

·         C# requires the windows platform as a host to work. It is not the right choice for programmers working in a Linux environment.