Category: Uncategorized

  • Design and Analysis of Algorithms

    Design and Analysis of Algorithms

    Analysis of Algorithms is a fundamental aspect of computer science that involves evaluating performance of algorithms and programs. Efficiency is measured in terms of time and space.

    Design and Analysis of Algorithms Tutorial

    An Algorithm is a sequence of steps to solve a problem. It acts like a set of instructions on how a program should be executed. Thus, there is no fixed structure of an algorithm. Design and Analysis of Algorithms covers the concepts of designing an algorithm as to solve various problems in computer science and information technology, and also analyze the complexity of these algorithms designed.

    The main aim of designing an algorithm is to provide a optimal solution for a problem. Not all problems must have similar type of solutions; an optimal solution for one problem may not be optimal for another. Therefore, we must adopt various strategies to provide feasible solutions for all types of problems.

    This tutorial introduces the fundamental concepts of Designing Strategies, Complexity analysis of Algorithms, followed by problems on Graph Theory and Sorting methods. This tutorial also includes the basic concepts on Complexity theory.

    Why Design and Analysis of Algorithms?

    One computer problem might have several versions of a solution. In this case, every approach taken to solve the computer problem is correct. However, choosing the best-suited solution will improve the efficiency of the program.

    There might be a misconception that smaller algorithms are best-suited solutions in most cases. But, a feasible solution is not based on the length of algorithm, but the one with efficient complexity (time and space complexity).

    We study Design and Analysis of Algorithms to analyse the complexity of all the versions of a solution to a computer problem.

    Design Strategies

    There are various types of strategies in order to design algorithms for various problems. Some of them are listed as follows −

    • Greedy Approach
    • Divide & Conquer Approach
    • Dynamic Programming Approach
    • Randomization Approach
    • Approximation Approach
    • Recursive Approach
    • Branch and Bound Approach

    Analysis of Algorithms

    To analyze the feasibility of an algorithm designed, we calculate the complexity of it. This is represented in three notations, called asymptotic notations. Asymptotic notations are as follows −

    • Worst-Case Scenario − Big Oh and Little Oh Notations
    • Best-Case Scenario − Big Omega and Little Omega Notations
    • Average-Case Scenario − Theta Notation

    Each solution is analyzed in all scenarios of the problem, and the solution having the best worst-case is said to be optimal. Thus, providing an efficient algorithm.

    Applications of DAA

    There are applications of Design and Analysis of Algorithms (DAA) in a wide range of fields. Here are some of the common fields where it is used:

    • Computer programming: Used in computer programming to solve problems efficiently. This includes developing algorithms for sorting, searching, and manipulating data structures.
    • Big data processing: Also used to develop and analyse algorithms for operations such as data mining, machine learning, and natural language processing, in order to handle large sets of data.
    • Networking: Network protocols and algorithms are developed for routing, flow control, congestion control, and network security. DAA is used to design and analyse these algorithms.
    • Artificial intelligence: Used to design and analyse algorithms for tasks in Artificial Intelligence such as computer vision, speech recognition, and natural language understanding.
    • Scientific computing: DAA in scientific computing is used to develop algorithms for operations like numerical integration, optimization, and simulation.
    • Game development: In game development, we use design and analysis of algorithms for pathfinding, collision detection, and physics simulation.
    • Cryptography: DAA is also used in the design and analysis of cryptographic algorithms, such as RSA and AES, which are used to secure data transmission and storage.

    Who Should Learn DAA

    This tutorial has been designed for students pursuing a degree in any computer science, engineering, and/or information technology related fields. It attempts to help students to grasp the essential concepts involved in algorithm design.

    Prerequisites to Learn DAA

    The readers should have basic knowledge of programming and mathematics. The readers should know data structure very well. Moreover, it is preferred if the readers have basic understanding of Formal Language and Automata Theory.

    DAA Jobs and Opportunities

    Many top companies are actively recruiting experts in Design and Analysis of Algorithms, and they offer roles such as Software Engineer, Data Scientist, Machine Learning Engineer, and more. These companies need individuals who can solve complex problems, analyse data, and design algorithms to drive their business forward. Here is the list of few such companies −

    • Google
    • Amazon
    • Microsoft
    • Apple
    • Adobe
    • JPMorgan Chase
    • Goldman Sachs
    • Walmart
    • Johnson & Johnson
    • Airbnb
    • Tesla

    The demand for DAA professionals is continually growing across various sectors. By developing expertise in these areas, you can open up a wide range of career opportunities in some of the world’s leading companies.

    To get started, there are user-friendly tutorials and resources available to help you master DAA. These materials are designed to prepare you for technical interviews and certification exams, and you can learn at your own pace, anytime and anywhere.

  • Default Keyboard Shortcuts

    Default Keyboard Shortcuts

    Alice Koreman edited this page on May 15, 2023 · 21 revisions

    Line Operations

    Windows/LinuxMacAction
    Ctrl-DCommand-DRemove line
    Alt-Shift-DownCommand-Option-DownCopy lines down
    Alt-Shift-UpCommand-Option-UpCopy lines up
    Alt-DownOption-DownMove lines down
    Alt-UpOption-UpMove lines up
    Alt-DeleteCtrl-KRemove to line end
    Alt-BackspaceCommand-BackspaceRemove to linestart
    Ctrl-BackspaceOption-Backspace, Ctrl-Option-BackspaceRemove word left
    Ctrl-DeleteOption-DeleteRemove word right
    Ctrl-OSplit line

    Selection

    Windows/LinuxMacAction
    Ctrl-ACommand-ASelect all
    Shift-LeftShift-LeftSelect left
    Shift-RightShift-RightSelect right
    Ctrl-Shift-LeftOption-Shift-LeftSelect word left
    Ctrl-Shift-RightOption-Shift-RightSelect word right
    Shift-HomeShift-HomeSelect line start
    Shift-EndShift-EndSelect line end
    Alt-Shift-RightCommand-Shift-RightSelect to line end
    Alt-Shift-LeftCommand-Shift-LeftSelect to line start
    Shift-UpShift-UpSelect up
    Shift-DownShift-DownSelect down
    Shift-PageUpShift-PageUpSelect page up
    Shift-PageDownShift-PageDownSelect page down
    Ctrl-Shift-HomeCommand-Shift-UpSelect to start
    Ctrl-Shift-EndCommand-Shift-DownSelect to end
    Ctrl-Shift-DCommand-Shift-DDuplicate selection
    Ctrl-Shift-PSelect to matching bracket
    Ctrl-Shift-MCtrl-Shift-MExpand to matching
    Ctrl-, Ctrl-PCommand-\Jump to matching
    Ctrl-Shift-, Ctrl-Shift-PCommand-Shift-\Select to matching
    Ctrl-Shift-LCommand-Shift-LExpand to line

    Multicursor

    Windows/LinuxMacAction
    Ctrl-Alt-UpCtrl-Option-UpAdd cursor above
    Ctrl-Alt-DownCtrl-Option-DownAdd cursor below
    Ctrl-Alt-RightCtrl-Option-RightAdd next occurrence to multi-selection
    Ctrl-Alt-LeftCtrl-Option-LeftAdd previous occurrence to multi-selection
    Ctrl-Alt-Shift-UpCtrl-Option-Shift-UpMove multicursor from current line to the line above
    Ctrl-Alt-Shift-DownCtrl-Option-Shift-DownMove multicursor from current line to the line below
    Ctrl-Alt-Shift-RightCtrl-Option-Shift-RightRemove current occurrence from multi-selection and move to next
    Ctrl-Alt-Shift-LeftCtrl-Option-Shift-LeftRemove current occurrence from multi-selection and move to previous
    Ctrl-Shift-LCtrl-Shift-LSelect all from multi-selection
    Ctrl-Alt-ACtrl-Alt-AAlign cursors

    Go to

    Windows/LinuxMacAction
    LeftLeft, Ctrl-BGo to left
    RightRight, Ctrl-FGo to right
    Ctrl-LeftOption-LeftGo to word left
    Ctrl-RightOption-RightGo to word right
    UpUp, Ctrl-PGo line up
    DownDown, Ctrl-NGo line down
    Alt-Left, HomeCommand-Left, Home, Ctrl-AGo to line start
    Alt-Right, EndCommand-Right, End, Ctrl-EGo to line end
    PageUpOption-PageUpGo to page up
    PageDownOption-PageDown, Ctrl-VGo to page down
    Ctrl-HomeCommand-Home, Command-UpGo to start
    Ctrl-EndCommand-End, Command-DownGo to end
    Ctrl-LCommand-LGo to line…
    Ctrl-DownCommand-DownScroll line down
    Ctrl-UpScroll line up
    Ctrl-PGo to matching bracket
    Option-PageDownScroll page down
    Option-PageUpScroll page up
    Alt-EF4Go to next error
    Alt-Shift-EShift-F4Go to previous error

    Find/Replace

    Windows/LinuxMacAction
    Ctrl-FCommand-FFind
    Ctrl-HCommand-Option-FReplace
    Ctrl-KCommand-GFind next
    Ctrl-Shift-KCommand-Shift-GFind previous
    Ctrl-Alt-KCtrl-Alt-GFind all
    Alt-KCtrl-GSelect or find next
    Alt-Shift-KCtrl-Shift-GSelect or find previous

    Folding

    Windows/LinuxMacAction
    F2F2Toggle fold widget
    Alt-F2Alt-F2Toggle parent fold widget
    Alt-L, Ctrl-F1Command-Option-L, Command-F1Fold selection
    Alt-Shift-L, Ctrl-Shift-F1Command-Option-Shift-L, Command-Shift-F1Unfold
    Alt-0Command-Option-0Fold all
    Alt-Shift-0Command-Option-Shift-0Unfold all
    Ctrl-Command-Option-0Fold all comments

    Other

    Windows/LinuxMacAction
    F1F1Open command palette
    TabTabIndent
    Ctrl-]Ctrl-]Block indent
    Shift-TabShift-TabOutdent
    Ctrl-[Ctrl-[Block outdent
    Ctrl-ZCommand-ZUndo
    Ctrl-Shift-Z, Ctrl-YCommand-Shift-Z, Command-YRedo
    Ctrl-,Command-,Show the settings menu
    Ctrl-/Command-/Toggle comment
    Ctrl-Shift-/Command-Shift-/Toggle block comment
    Ctrl-TCtrl-TTranspose letters
    Ctrl-EnterCommand-EnterEnter full screen
    Ctrl-Shift-UCtrl-Shift-UChange to lower case
    Ctrl-UCtrl-UChange to upper case
    InsertInsertOverwrite
    Ctrl-Shift-ECommand-Shift-EMacros replay
    Ctrl-Alt-EMacros recording
    DeleteDelete
    Ctrl-LCenter selection
    Ctrl-UCtrl-UTo uppercase
    Ctrl-Shift-UCtrl-Shift-UTo lowercase
    Ctrl-Alt-SCommand-Alt-SSort lines
    Ctrl-Shift-UpAlt-Shift-UpModify number up
    Ctrl-Shift-DownAlt-Shift-DownModify number down
    Ctrl-Shift-BCtrl-Shift-BFormat selection (Beautify)

     

  • Software Requirement Elicitation Technique Basic Concept

    Requirements Elicitation Technique

    Techniques for gathering requirements:

    01. Stakeholder Analysis
    02. Brainstorming
    03. One On One Interview
    04. Group Interview
    05. Document Analysis
    06. Focus Group
    07. Interface Analysis
    08. Observation Social Analysis
    09. Prototyping
    10. Facilitated sessions
    11. Joint Application Development (IAD)
    12. Questionnaire
    13. Survey
    14. Use cases and scenarios (UCD)
    15. Reused Requirements
    16. Request for proposals ( RFPs)
    17. Reverse Engineering

    01. Stakeholder analysis identifies Benefits

    Stakeholder analysis identifies all the users and stakeholders who may influence or be  impacted by the system.
    This helps ensure that the needs of all those involved are taken into stakeholders are taken into account.
    Benefit:
    Ensures that all relevant stakeholders are considered.
    All important stakeholders are captured, and yet that irrelevant actor are not included.
    Drawbacks:
    There is a danger that too much time is spent on identifying roles and relationships, and the team is swamped with data.

    02. Brainstorming

    It is utilized in requirements elicitation  to gather good number of ideas from a group of people.
    Usually brainstorming is used in identifying all possible solutions to problems and simplifies the the brainstorming detail of opportunities. It casts a broad session net determining various discreet possibilities.
    Basic Rules:
    1. Start out
    2. Generate as may
    3. Let your imagination soar.
    4. Do not allow criticism or debate while you are gathering information.
    5. Once information is gathered, reshape and combine ideas.
    Benefits
    Generate a variety of ideas in a short time.
    Produce new and creative ideas
    Risk
    1. The risk of having a bad session.
    2. Making stuff scared to voice their ideas because they were criticized in the session.
    3. Problems normally occur if you only use traditional brainstorming technique.

    03. One On One Interview

    The most common tec nique for gathering requirements is to sit down with the clients and ask them what they need. The • Privacy of everyone discussion should be planned • in-depth a stakeholder’s out ahead of time based on the type of requirements you’re thoughts and get his or king for her perspective
    Risks & Drawbacks
    • Time Consuming
    • Misunderstandings

    04. Group Interview

    If there are more then one person during interview usually 2 or 4 these people must be on • we can get hidden requirements
    some level must be on some level • uncover a richer set of less time required requirements in a shorter period of time
    • Uncover ambiguities
    • Not relaxed environment
    • Conflicts
    • The allotted time have been exhausted

    05. Document Analysis

    Do you Analysis is an important gathering technique.
    Evaluating the documentation of a
    • validating the requirement present system can assist when completeness. making AS-1S process documents ▪ Chunks of information are mostly and also when driving the gap buried in present documents analysis for scoping of the • A beginning point for documenting all current requirements. migration projects.
    ▪ Time Consuming
    ▪ Conflicts
    ▪ Exhausted
    • Not Found Real Figures

    06. focus group

    A focus group is actually gathering of • Managed process with particular people who are customers or users participants
    • refine and validate the already representatives for a product to gain its elicited requirements

    feedback. The feedback can be collected • Allows analyst to rapidly obtain a about opportunities, needs, and wide variety of user views and possibly a consensus.
    problems to determine requirements or it can be collected to refine and validate

    the already elicited requirements. • following the crowd and some
    people think that focus groups are at best unproductive

    • end up with is with least common denominator features.

    • Recruitment effort to

    • Assemble groups. Dominant participants may influence group disproportionately

    07. Interface Analysis

    Interface for any software product will either be human or machine.
    Integration with external devices and systems is another interface. The
    user centric design approaches are quite effective to ensure that you make usable software. Interface analysis- analyzing the touch points with another external system- is vital to ensure that you do not overlook requirements that are not instantly visible to the users.  requirements that are not instantly visible to the users.

    08. Observation or Social Analysis

    Social analysis is also know s

    Observation. Observation is the method
    of collecting requirements by observing • The ability to record and
    report all findings that are
    the people doing their normal work. true
    This method is generally used to find the • it is more practical
    additional requirements needed by the • no long calculation has to be
    user, when the user is unable to explain done

    their expected requirements From the
    new product and problems with the Risks & Drawbacks

    existing product • The viewer’s or researcher’s
    own perception
    ▪ few trials/studiesJor objects
    observed to make an end
    conclusion
    • results may contain human
    error

    09. Prototyping

    Prototyping is a relatively modern technique
    for gathering requirements. In this approach, • prototypes can be ideal
    you gather preliminary requirements that you reduce design risk
    use to build an initial version of the solution ▪ it is more practical
    a prototype. You show this to the client, • Screen mock-ups
    who then gives you additional requirements. • Using animation tools
    You change the application and cycle around • provides an understanding
    with the client again. This repetitive process of functionality
    continues until the product meets the critical
    mass of business needs or for an agreed
    number of iterations.

    • takes time to build
    • more costly to build
    • false sense of security

    10. Facilitated sessions

    in a facilitated session, you bring a larger
    group (five or more) together for a common
    purpose. In this case, you are trying to gather
    a set of common requirements from the group ▪ Less Time
    in a faster manner than if you were to ▪ Reach Group Of People
    interview each of them separately. • Brainstorming sessions
    (virtual or face-to-face)

    • More Expensive
    • need for extra facilities
    to allow for group work
    etc
    • Handouts, readings

    n..■•■Aite— – – _

    11. Joined Application Development

    12. Questionnaire

    Questionnaires are much more informal, and

    they are good tools to gather requirements

    from stakeholders in remote locations or

    those who will have only minor input into the • Less cost

    overall requirements. Questionnaires can also • Reach Large No of People-,

    be used when you have to gather input from • The responses are gathered

    dozens, hundreds, or thousands of people. in a standardized way

    Nc-
    MOW 13.0011Wri rillgrAWOC TO1 n PFOIPIA %ISO UM AS.- x,,,,
    4.11. NM imry No sa al
    mipmmr Li imp…1=1 mr.iss.
    ❑ 0 0 0
    Q 0 0 0 • Difficult filling for users
    0 0 ❑ ❑
    0 0 ❑ ❑ • participants may forget
    ❑ 0 ❑ ❑
    0 0 ❑ ❑ important issues
    ❑ 0 ❑ ❑
    ❑ ❑ ❑ 0 • Stockholders may not be
    0 0 0 0 willing to answer the
    0 0 0 0
    D 0 0 0 questions
    0 ❑ ❑ 0
    0 0 0 0

    13. Survey

    When gathering information from many

    people: to many to interview with time

    constraints and less budget: a questionnaire s Less cost
    survey can be used. The survey insists the * Reach Large No of
    users to choose from the given options agree Peoples
    disagree or rate something. Do not think that
    * A detailed critical
    you can make a survey on your own but try to inspection
    add meaningful insight in it. A well designed
    survey must give qualitative guidance for

    characterizing the market. It should not be

    utilized for prioritizing of requirements or
    features. * Difficult filling for users

    ▪ participants may forget
    important issues

    * Stockholders may not be
    willing to answer the
    questions

    Difference between questionnaire

    and survey?

    The Oxford dictionary defines them as quoted below:

    sumer
    1 aiming view, cominatkm. or clescrilptkin. a an imrestiiptkm of the
    opinions or =pajama of a group of pnde, based on a. series of iwinii:icm
    an act of sunning. 4 a map or report obtained by surveying.

    (mmtkonnaire:
    noun a set of primmd questioru4 usual4rwiti h a comae &answers, devised for a survey or stitbolud. study.
    a survey or stitbolud. study.

    14. Use cases and scenarios

    Use cases are basically stories that describe

    how discrete processes work. The stories

    include people (actors) and describe how the
    • provide the best return on

    solution works from a user perspective. Use invested effort

    cases may be easier for the users to articulate. • explain how that system will

    although the use cases may need to be be implemented

    distilled later into the more specific detailed • Each use case provides a set

    requirements. of scenarios that convey how

    the system should interact

    A..

    tom. • Poor identification of

    1..poirww. 4….muir.• structure and flow
    olhpr.r. .
    11411vadoe
    • Time-consuming to generate

    • Scenario management is

    difficult

    15. Reused Requirement 

    In the field of software engineering
    reusing the requirements of the
    existing system is common method of
    requirements elicitation. Using the • Reused requirements
    existing knowledge to develop the are already validated
    new product has many advantages and analyzed thus
    that include low cost and less time. reducing the time of
    Though each product has their own testing
    type of stake holders and users, there
    is still number of situations that theRisks & Drawbacks
    reusing of the requirements take
    places • Some time proposed
    product is completely
    different form the
    existing product

    Thank You!

  • CSS Learning Tutorial P001

    CSS Learning Tutorial P001

    What is CSS?

    • CSS stands for Cascading Style Sheets
    • CSS describes how HTML elements are to be displayed on screen, paper, or in other media
    • CSS saves a lot of work. It can control the layout of multiple web pages all at once
    • External stylesheets are stored in CSS files

    CSS Comments

    Comments are used to explain the code, and may help when you edit the source code at a later date.

    Comments are ignored by browsers.

    A CSS comment is placed inside the <style> element, and starts with /* and ends with */

    CSS Padding

    The CSS padding properties are used to generate space around an element’s content, inside of any defined borders.

    With CSS, you have full control over the padding. There are properties for setting the padding for each side of an element (top, right, bottom, and left).


    Padding – Individual Sides

    CSS has properties for specifying the padding for each side of an element:

    • padding-top
    • padding-right
    • padding-bottom
    • padding-left

    CSS Setting height and width

    The height and width properties are used to set the height and width of an element.

    The height and width properties do not include padding, borders, or margins. It sets the height/width of the area inside the padding, border, and margin of the element.


    CSS height and width Values

    The height and width properties may have the following values:

    • auto – This is default. The browser calculates the height and width
    • length – Defines the height/width in px, cm, etc.
    • % – Defines the height/width in percent of the containing block
    • initial – Sets the height/width to its default value
    • inherit – The height/width will be inherited from its parent value

    The four links states are:

    • a:link – a normal, unvisited link
    • a:visited – a link the user has visited
    • a:hover – a link when the user mouses over it
    • a:active – a link the moment it is clicked

    Block-level Elements

    A block-level element ALWAYS starts on a new line and takes up the full width available (stretches out to the left and right as far as it can).

    The <div> element is a block-level element.

    Examples of block-level elements:

    • <div>
    • <h1> – <h6>
    • <p>
    • <form>
    • <header>
    • <footer>
    • <section>

    Inline Elements

    An inline element DOES NOT start on a new line and only takes up as much width as necessary.

    This is an inline <span> element inside a paragraph.

    Examples of inline elements:

    • <span>
    • <a>
    • <img>

    The position Property

    The position property specifies the type of positioning method used for an element.

    There are five different position values:

    • static
    • relative
    • fixed
    • absolute
    • sticky

    Elements are then positioned using the top, bottom, left, and right properties. However, these properties will not work unless the position property is set first. They also work differently depending on the position value.

    The z-index Property

    When elements are positioned, they can overlap other elements.

    The z-index property specifies the stack order of an element (which element should be placed in front of, or behind, the others).

    The float Property

    The float property is used for positioning and formatting content e.g. let an image float left to the text in a container.

    The float property can have one of the following values:

    • left – The element floats to the left of its container
    • right – The element floats to the right of its container
    • none – The element does not float (will be displayed just where it occurs in the text). This is default
    • inherit – The element inherits the float value of its parent
  • Abstraction in Java | OOP Fundamental Concept

    Abstraction in Java | OOP Fundamental Concept

    • Ways to achieve Abstraction
      • 1. Abstract Classes and Abstract Methods
      • 2. Interface
    • Advantage of Abstraction

    Topic – 1 : Abstraction

    Abstraction is a process of hiding the implementation details and showing only functionality to the user.

    Another way, it shows only essential things to the user and hides the internal details, for example, sending SMS where you type the text and send the message. You don’t know the internal processing about the message

    An Abstraction is a process of exposing all the necessary details and hiding the rest. In Java, Data Abstraction is defined as the process of reducing the object to its essence so that only the necessary characteristics are exposed to the users.

    Ways to achieve Abstraction

    There are two ways to achieve abstraction in java

    1. Abstract class (0 to 100%)
    2. Interface (100%)

    In Java, we can achieve Data Abstraction using Abstract classes and interfaces.

    • Interfaces allow 100% abstraction (complete abstraction). Interfaces allow you to abstract the implementation completely.
    • Abstract classes allow 0 to 100% abstraction (partial to complete abstraction) because abstract classes can contain concrete methods that have the implementation which results in a partial abstraction.

    Abstract Class

    • A class which is declared as abstract is known as an abstract class.
    • An Abstract class is created through the use of the abstract keyword.
    • It is used to represent a
    • Object Can not be created of an Abstract
    • Does not Support multiple inheritance.

    Points to Remember

    • An abstract class must be declared with an abstract
    • It can have abstract and non-abstract methods.
    • The class has to be declared as abstract if it contains at least one abstract
    • It can have constructors, static methods and final methods.
    • It can have any type of variables (Static, non-static, final, non-final etc)

    Syntax of declaring an abstract class:

    • To declare an abstract class we use the keyword The syntax is given below:

    access-specifier abstract class ClassName

    {

    //class body

    }

    Abstract Methods in Java

    •   A method which is declared as abstract and does not have implementation is known as an abstract method.

    • The declaration of an abstract method must end with a semicolon ;

    •   The child classes which inherit the abstract class must provide the implementation of these inherited abstract methods.

    • Syntax of declaring abstract methods:

    access-specifier abstract return-type method_name();

    • Example:

    public abstract void printStatus();

    Example – 1

    public void move(){System.out.println(“Car moves faster.”);}
    public class Car extends Vehicle {
    public abstract class Vehicle { public abstract void move();}

    An abstract class that has abstract method

    Example – 2
    An abstract class that has abstract , non-abstract methods and Constructor
     public abstract class Vehicle { public class Car extends Vehicle {
    public Vehicle(){System.out.println(“Vehicle is Created.”);}public void move(){System.out.println(“Car moves faster.”);}
    public abstract void move(); public void carry(){System.out.println(“All Vehicle carry loads”);}public static void main(String[] args) { Car c1 = new Car();c1.move();c1.carry();}}
    }// Outputs:Vehicle is Created. Car moves faster.All Vehicle carry loads
     

    Interface in Java

    • An interface is a blueprint or template of a class.
    • It is much similar to the class but the only difference is that it has abstract methods and

    static constants.

    • Object can not be created of an
    • All the methods in an interface are by default abstract.
    • All variables are declared as both static and
    • An interface does not contain any constructors.
    • An interface can not be extended or inherited by a class; it is implemented by a
    • Multiple-Inheritance supported.

    Internal addition by the compiler

    Syntax of declaring an Interface

    interface <interface_name>{

    // declare constant fields

    // declare methods that abstract

    //by default.

    }

    The relationship between classes and interfaces

    As shown in the figure given below, a class extends another class, an interface extends another interface, but a class implements an interface

    Example – 1

    public class SIBL implements Bank{ public double account (){System.out.println(“Account System in SIBL”);}}
    class TestInterface{public static void main(String[] args){SIBL b=new SIBL();b. account ();DBBL d=new DBBL();d. account ();}}
    interface Bank{ double account();}
    public class DBBL implements Bank{ public double account (){System.out.println(“Account System in DBBL”);}}

    Multiple inheritance in Java by interface

    If a class implements multiple interfaces, or an interface extends multiple interfaces, it is known as

    multiple inheritance

    Example – 2

    interface FirstInterface { public void myMethod();}

    class DemoClass implements FirstInterface, SecondInterface {

    public void myMethod() {

    System.out.println(“Some text..”);

    }

    interface SecondInterface {public void myOtherMethod();}

    Thank you!

  • File Handling in C Programming

    1.  Opening a File: fopen()

    To work with files in C, the fopen() function is used to open a file. It takes two parameters: the file name and the mode of operation (e.g., read, write, append).

    FILE *filePointer = fopen(“filename.txt”, “mode”);

    File Modes:

    • “r”: Opens a file for reading (fails if the file doesn’t exist).
    • `”w”`: Opens a file for writing (creates a new file or truncates an existing one).
    • `”a”`: Opens a file for appending (writes data at the end).
    • `”r+”`: Opens a file for both reading and

    2.  Closing a File: fclose()

    After operations are done, the file should be closed using the `fclose()` function to free the resources.

    fclose(filePointer);

    3.  Reading from a File: fscanf(), fgets(), and fgetc()

    • fscanf(): Similar to scanf(), but for

    fscanf(filePointer, “%d”, &var);

    • fgets(): Reads a line from the file, ideal for reading

    fgets(buffer, size, filePointer);

    • fgetc(): Reads a single character from the

    char ch = fgetc(filePointer);

    4.  Writing to a File: fprintf(), fputs(), and fputc()

    • fprintf(): Similar to printf(), but writes to a

    fprintf(filePointer, “Data: %d”, value);

    • fputs(): Writes a string to a

    fputs(“Hello, World!”, filePointer);

    • fputc(): Writes a single character to a

    fputc(‘A’, filePointer);

    5.  Checking for End-of-File (EOF): feof()

    The feof() function checks if the end of the file is reached.

    if (feof(filePointer)) {

    printf(“End of file reached.\n”);

    }

    7.  File Positioning: ftell(), fseek(), and rewind()

    • ftell(): Returns the current position in the

    long position = ftell(filePointer);

    • fseek(): Moves the file pointer to a specific

    fseek(filePointer, offset, SEEK_SET);

    • SEEK_SET: Beginning of the
    • SEEK_CUR: Current
    • SEEK_END: End of the
    • rewind(): Moves the file pointer back to the

    rewind(filePointer);

    8.  Binary File Operations: fread() and fwrite()

    Binary files store data in binary format (unlike text files). To handle binary files, C provides:

    • fread(): Reads binary data from a

    fread(buffer, size, count, filePointer);

    • fwrite(): Writes binary data to a

    fwrite(buffer, size, count, filePointer);

    9.  Error Handling: perror() and ferror()

    • perror(): Displays an error message if file operations

    perror(“Error opening file”);

    • ferror(): Checks if an error occurred during a file

    if (ferror(filePointer)) { printf(“Error reading file.\n”);

    }

    10.  Removing and Renaming Files

    • remove(): Deletes a

    remove(“filename.txt”);

    • rename(): Renames a

    rename(“oldname.txt”, “newname.txt”);

    Code 1: #include<stdio.h> int main()

    {

    FILE *fp;

    char filename[]=”my_file.txt”;

    fp=fopen(filename,”w”);

    fprintf(fp,”We are learning file operations in c\n”); fprintf(fp,”Hello People\n”);

    fclose(fp);

    fp=fopen(filename,”a”); fprintf(fp,”Hello World\n”);

    return 0;

    }

    Code 2:

    //Writing to a file #include <stdio.h> #include <stdlib.h>

    int main()

    {

    struct student

    {

    int age;

    char name[30]; int CGPA;

    }student1;

    FILE *fptr;

    // use appropriate location if you are using MacOS or Linux fptr = fopen(“program.txt”,”w”);

    if(fptr == NULL)

    {

    printf(“Error!”); exit(1);

    }

    printf(“Enter Student’s name: “); scanf(“%s”,&student1.name);

    printf(“Enter Student’s age: “); scanf(“%d”,&student1.age);

    printf(“Enter Student’s CGPA: “); scanf(“%d”,&student1.CGPA);

    fprintf(fptr,”%s\t %d\t %d\t”,student1.name,student1.age,student1.CGPA); fclose(fptr);

    return 0;

    }

    Code 3:

    //reading from a file #include <stdio.h> #include <stdlib.h>

    int main()

    {

    char name[30];

    char input_name[30]; int cmp_result;

    FILE *fptr;

    if ((fptr = fopen(“program.txt”,”r”)) == NULL){ printf(“Error! opening file”);

    // Program exits if the file pointer returns NULL. exit(1);

    }

    scanf(“%s”,input_name); fscanf(fptr,”%s”, &name);

    cmp_result=strcmp(input_name,name);

    printf(“Value of comparing result is =%d”, cmp_result);

    fclose(fptr);

    return 0;

    }

    Code 4:

    #include<stdio.h> struct student

    {

    int rollno;

    char name[30]; float mark;

    }stud;

    //    FUNCTION TO INSERT RECORDS TO THE FILE

    void insert()

    {

    FILE *fp;

    fp = fopen(“Record.txt”, “a”); printf(“Enter the Roll no :”); scanf(“%d”, &stud.rollno); printf(“Enter the Name      :”); scanf(“%s”, &stud.name); printf(“Enter the mark                                         :”); scanf(“%f”, &stud.mark);

    //fwrite(&stud, sizeof(stud), 1, fp);

    fprintf(fp,”%d %s %.1f\n”,stud.rollno,stud.name,stud.mark); fclose(fp);

    }

    //    FUNCTION TO DISPLAY RECORDS

    void disp()

    {

    FILE *fp1;

    fp1 = fopen(“Record.txt”, “r”); printf(“\nRoll Number\tName\tMark\n\n”); while (fread(&stud, sizeof(stud), 1, fp1))

    printf(” %d\t\t%s\t%.2f\n”, stud.rollno, stud.name, stud.mark); fclose(fp1);

    }

    //    FUNCTION TO SEARCH THE GIVEN RECORD

    void search()

    {

    FILE *fp2; int r, s, avl;

    printf(“\nEnter the Roll no you want to search :”); scanf(“%d”, &r);

    avl = avlrollno(r); if (avl == 0)

    printf(“Roll No %d is not available in the file\n”,r); else

    {

    fp2 = fopen(“Record.txt”, “r”);

    while (fread(&stud, sizeof(stud), 1, fp2))

    {

    s = stud.rollno; if (s == r)

    {

    printf(“\nRoll no = %d”, stud.rollno); printf(“\nName                            = %s”, stud.name); printf(“\nMark                          = %.2f\n”, stud.mark);

    }

    }

    fclose(fp2);

    }

    }

    //    FUNCTION TO DELETE A RECORD

    void deletefile()

    {

    FILE *fpo; FILE *fpt; int r, s;

    printf(“Enter the Roll no you want to delete :”); scanf(“%d”, &r);

    if (avlrollno(r) == 0)

    printf(“Roll no %d is not available in the file\n”, r); else

    {

    fpo = fopen(“Record.txt”, “r”); fpt = fopen(“TempFile.txt”, “w”);

    while (fread(&stud, sizeof(stud), 1, fpo))

    {

    s = stud.rollno; if (s != r)

    fwrite(&stud, sizeof(stud), 1, fpt);

    }

    fclose(fpo); fclose(fpt);

    fpo = fopen(“Record.txt”, “w”); fpt = fopen(“TempFile.txt”, “r”);

    while (fread(&stud, sizeof(stud), 1, fpt)) fwrite(&stud, sizeof(stud), 1, fpo); printf(“\nRECORD DELETED\n”); fclose(fpo);

    fclose(fpt);

    }

    }

    //    FUNCTION TO UPDATE THE RECORD

    void update()

    {

    int avl; FILE *fpt; FILE *fpo; int s, r, ch;

    printf(“Enter roll number to update:”); scanf(“%d”, &r);

    avl = avlrollno(r); if (avl == 0)

    {

    printf(“Roll number %d is not Available in the file”, r);

    }

    else

    {

    fpo = fopen(“Record.txt”, “r”); fpt = fopen(“TempFile.txt”, “w”);

    while (fread(&stud, sizeof(stud), 1, fpo))

    {

    s = stud.rollno; if (s != r)

    fwrite(&stud, sizeof(stud), 1, fpt); else

    {

    printf(“\n\t1. Update Name of Roll Number %d”, r); printf(“\n\t2. Update Mark of Roll Number %d”, r);

    printf(“\n\t3. Update both Name and Mark of Roll Number %d”, r); printf(“\nEnter your choice:”);

    scanf(“%d”, &ch); switch (ch)

    {

    case 1:

    printf(“Enter Name:”); scanf(“%s”, &stud.name); break;

    case 2:

    printf(“Enter Mark : “); scanf(“%f”, &stud.mark); break;

    case 3:

    printf(“Enter Name: “); scanf(“%s”, &stud.name); printf(“Enter Mark: “); scanf(“%f”, &stud.mark); break;

    default:

    printf(“Invalid Selection”); break;

    }

    fwrite(&stud, sizeof(stud), 1, fpt);

    }

    }

    fclose(fpo); fclose(fpt);

    fpo = fopen(“Record.txt”, “w”); fpt = fopen(“TempFile.txt”, “r”);

    while (fread(&stud, sizeof(stud), 1, fpt))

    {

    fwrite(&stud, sizeof(stud), 1, fpo);

    }

    fclose(fpo); fclose(fpt);

    printf(“RECORD UPDATED”);

    }

    }

    /* FUNCTION TO SORT THE RECORD */

    void sort()

    {

    int a[20], count = 0, i, j, t, c; FILE *fpo;

    fpo = fopen(“Record.txt”, “r”);

    while (fread(&stud, sizeof(stud), 1, fpo))

    {

    a[count] = stud.rollno; count++;

    }

    c = count;

    for (i = 0; i<count – 1; i++)

    {

    for (j = i + 1; j<count; j++)

    {

    if (a[i]>a[j])

    {

    t = a[i]; a[i] = a[j]; a[j] = t;

    }

    }

    }

    printf(“Roll No.\tName\t\tMark\n\n”); count = c;

    for (i = 0; i<count; i++)

    {

    rewind(fpo);

    while (fread(&stud, sizeof(stud), 1, fpo))

    {

    if (a[i] == stud.rollno)

    printf(“\n %d\t\t %s \t\t %2f”,stud.rollno, stud.name, stud.mark);

    }

    }

    }

    //    FUNCTION TO CHECK GIVEN ROLL NO IS AVAILABLE //

    int avlrollno(int rno)

    {

    FILE *fp; int c = 0;

    fp = fopen(“Record.txt”, “r”); while (!feof(fp))

    {

    fread(&stud, sizeof(stud), 1, fp);

    if (rno == stud.rollno)

    {

    fclose(fp); return 1;

    }

    }

    fclose(fp); return 0;

    }

    //FUNCTION TO CHECK THE FILE IS EMPTY OR NOT

    int empty()

    {

    int c = 0; FILE *fp;

    fp = fopen(“Record.txt”, “r”);

    while (fread(&stud, sizeof(stud), 1, fp)) c = 1;

    fclose(fp); return c;

    }

    // MAIN PROGRAM

    void main()

    {

    int c, emp; do

    {

    printf(“\n\t—Select your choice——– \n”);

    printf(“\n\t1. INSERT\n\t2. DISPLAY\n\t3. SEARCH”); printf(“\n\t4. DELETE\n\t5. UPDATE\n\t6. SORT”); printf(“\n\t7. EXIT”);

    printf(“\n\n                                                   \n”);

    printf(“\nEnter your choice:”); scanf(“%d”, &c);

    printf(“\n”);

    switch (c)

    {

    case 1:

    insert(); break; case 2:

    emp = empty(); if (emp == 0)

    printf(“\nThe file is EMPTY\n”); else

    disp(); break; case 3:

    search(); break; case 4:

    deletefile(); break;

    case 5:

    update(); break; case 6:

    emp = empty(); if (emp == 0)

    printf(“\n The file is EMPTY\n”); else

    sort(); break; case 7: exit(1);

    break; default:

    printf(“\nYour choice is wrong\nPlease try again…\n”); break;

    }

    } while (c != 7);

    }

    Code 5:

    // C program to illustrate fgetc() function

    //fgetc() is used to obtain input from a file single character at a time. #include <stdio.h>

    int main ()

    {

    // open the file

    FILE *fp = fopen(“test.txt”,”r”);

    // Return if could not open file if (fp == NULL)

    return 0;

    do

    {

    // Taking input single character at a time char c = fgetc(fp);

    // Checking for end of file if (feof(fp))

    break ;

    printf(“%c”, c);

    } while(1);

    fclose(fp); return(0);

    }

    Code 6:

    // C program to illustrate fputc() function #include<stdio.h>

    int main()

    {

    int i = 0;

    FILE *fp = fopen(“output.txt”,”w”);

    // Return if could not open file if (fp == NULL)

    return 0;

    char string[] = “good bye”, received_string[20];

    for (i = 0; string[i]!=’\0′; i++)

    // Input string into the file

    // single character at a time fputc(string[i], fp);

    fclose(fp);

    fp = fopen(“output.txt”,”r”);

    // Reading the string from file fgets(received_string,20,fp);

    printf(“%s”, received_string);

    fclose(fp); return 0;

    }

  • Dynamic Memory Allocation in C using malloc

    Dynamic Memory Allocation in C using malloc

    Defined the topics:
    1. Malloc
    2.Calloc
    3.Realloc

    Every team will make report on the given topics in details and submit here. As this is a teamwork, group
    members will work on one report.
    1. Function of malloc(), calloc(),realloc()
    2. Syntax of these 3 methods (With Explanation)
    3. Apply these methods in code and explain.
    4.Advantage, Disadvantage.

    Answer:

    1. Functions of malloc(), calloc(), and realloc()
     malloc():
    Allocates a specified amount of memory during runtime and returns a pointer to the first byte of the
    allocated memory. The memory is uninitialized.
     calloc():
    Allocates memory for an array of elements, initializes all bytes to zero, and returns a pointer to the
    allocated memory.
     realloc():
    Changes the size of previously allocated memory block. It can be used to increase or decrease the
    size of the memory allocated and may move the memory to a new location if necessary.

    2. Syntax of These Methods
     malloc(size_t size)
    Description: Allocates size bytes of memory.
    Return Value: Returns a pointer to the allocated memory or NULL if the allocation fails.
     calloc(size_t num, size_t size)
    Description: Allocates memory for an array of num elements, each of size bytes.
    Return Value: Returns a pointer to the allocated memory or NULL if the allocation fails.
     realloc(void *ptr, size_t size)
    Description: Resizes the memory block pointed to by ptr to size bytes. If ptr is NULL, it
    behaves like malloc.
    Return Value: Returns a pointer to the newly allocated memory or NULL if the allocation
    fails. The original memory block is freed if the allocation fails.

    3. Apply These Methods in Code
    #include <stdio.h>
    #include <stdlib.h>
    int main() {
    int *arr1;
    arr1 = (int*)malloc(5 * sizeof(int));
    if (arr1 == NULL) {
    printf(“Memory allocation failed\n”);
    return 1;
    }
    int *arr2;
    arr2 = (int*)calloc(5, sizeof(int));
    if (arr2 == NULL) {
    printf(“Memory allocation failed\n”);
    free(arr1);
    return 1;
    }
    arr1 = (int*)realloc(arr1, 10 * sizeof(int)); // Resize to hold 10 integers
    if (arr1 == NULL) {
    printf(“Reallocation failed\n”);
    free(arr2);
    return 1;
    }
    free(arr1);
    free(arr2);
    return 0;
    }

    4. Advantages and Disadvantages
     malloc()
    Advantages: Simple to use; allocates a specific amount of memory.
    Disadvantages: Memory is uninitialized, which can lead to unpredictable behavior if accessed before initialization.
     calloc()
    Advantages: Initializes allocated memory to zero, which can prevent issues with uninitialized data.
    Disadvantages: Slightly slower than malloc() due to initialization.
     realloc()
    Advantages: Allows dynamic resizing of memory, which can be more memory-efficient.
    Disadvantages: May involve moving memory to a new location, which requires additional overhead; can lead to memory leaks if not handled properly.

  • Software Engineering Course List

    Software Engineering Course List

    Level – 01, Term – 01 (01 Semester)

    SI NoCodeCourse TitlePre-requisiteCategoryCredit
    01SE 111Computer FundamentalsCore3
    02SE 112Computer Fundamentals LabLab1
    03SE 113Introduction to Software EngineeringCore3
    04ENG 114ENG 101English Reading, Writing Skills & Public Speaking / English IGED3
    05AOL 101Art of LivingGED3
    06MAT 124MAT 101Math-I: Calculus & Geometry/ Mathematics IGED3
        Total16

    Level – 01, Term – 02 (02 Semester)

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE 121Structured ProgrammingSE 111SE 112Core3
    02SE 122Structured Programming LabSE 111SE 112Lab1
    03SE 123Discrete Mathematics PGC3
    04SE 212Software Requirement Specifications & AnalysisSE 113Core3
    05SE 213Digital Electronics & Logic DesignSE 111SE112PGC3
    06PHY 125PHY 101Physics: Mechanics, Electromagnetism & Waves / Physics I GED3
    07MAT 134MAT 102Math-II: Linear Algebra & Fourier Analysis / Mathematics IIMAT124MAT101GED3
        Total19

    Level – 02, Term – 01 (03 Semester)

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE 131Data StructureSE 121SE 122SE 123PGC3
    02SE 132Data Structure LabSE 121SE 122SE 123Lab1
    03SE 133Software Development Capstone ProjectSE 121SE 122Lab-P3
    04SE 211Object Oriented ConceptsSE 121SE 122Core3
    05SE 222Computer ArchitectureSE 213PGC3
    06STA 135STA 101Probability & Statistics in Software Engineering / Statistics I GED3
    07BNS 101Bangladesh Studies GED3
        Total19

    Level – 02, Term – 02 (04 Semester)

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE 214Algorithms Design & AnalysisSE 131SE 132PGC3
    02SE 215Algorithms Design & Analysis LabSE 131SE 132Lab1
    03SE 221Object Oriented DesignSE211Core3
    04SE 223Database System Core3
    05SE 224Database System Lab Lab1
    06SE 232Operating System & System ProgrammingSE 222PGC3
    07SE 233Operating System & System Programming LabSE 222Lab1
    08GE 235Principles of Accounting, Business & Economics GED3
    09SE 532SE XXXIntroduction to Robotics (G-1) / Guided Elective- ISE 213PGC3
        Total21

    Level – 03, Term – 01 (05 Semester)

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE 225Data Communication & Computer Networking PGC3
    02SE 226Data Communication & Computer Networking Lab Lab1
    03SE 231System Analysis & Design Capstone ProjectSE 133SE 212SE 221Lab-P3
    04SE 234Theory of Computing PGC3
    05SE 311Design PatternSE 221Core3
    06SE 312Software Quality Assurance & TestingSE 212SE 221Core3
    07SE 313Software Quality Assurance & Testing LabSE 212SE 221Lab1
    08GE 324Business Analysis & CommunicationENG114ENG101SE212GED3
        Total20

    Level – 03, Term – 02 (06 Semester)

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE 321Software Engineering Web ApplicationSE 121SE 122Core3
    02SE 322Software Engineering Web Application LabSE 121SE 122Lab1
    03SE 323Software Architecture & DesignSE212, SE221SE223, SE311Core3
    04SE 332Information System SecurityCore3
    05SE 411Software Project Management & DocumentationSE 312Core3
    06SE 333Artificial IntelligenceSE 214, SE 234Core3
    07SE 334Artificial Intelligence LabSE 214, SE 234Lab1
    08SE 544SE XXXIntroduction to Machine Learning (G -2)
    Guided Elective – I I
    MAT 101MAT 102,STA 101, SE 121PGC3
        Total20

    Level – 04, Term – 01 (07 Semester)

    For All Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE 331Software Engineering Design Capstone ProjectSE 231, SE 312SE 321, SE 323Lab-P3
    02GE 557GED 302EMP 101Employability 360 GED3
    03SE 442SE XXXManagement Information System (G-3)/Guided Elective- III PGC3
        Total9

    Non Major

    Level – 04, Term – 01 (07 Semester)

    For Only Simple Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE 535/ SE XXXMobile Application Development (Open Elective-1) Non-Major OnlyPGC3
    02SE 447SE XXXHuman Computer Interaction (Open Elective-2) Non-Major OnlyPGC3
    03SE 599SE XXXResearch Methodology & Scientific Writing (Open Elective-3) Non-Major OnlyPGC3
        Total9

    Level – 04, Term – 01 (07 Semester)

    For Only Cyber Security Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE 211Cyber Security Fundamentals (CS Major)SE 332Major3
    02CS 418Network & Communication Security (CS Major)SE 211Major3
    03CS 422Digital Forensic (CS Major)SE 418Major3
        Total9

    Level – 04, Term – 01 (07 Semester)

    For Only Data Science Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01DS 331Introduction To Data Science and Data Management & Analysis (DS Major)STA 101SE 121Major2
    02DS 332Introduction To Data Science and Data Management & Analysis Lab (DS Major)STA 101SE 121Major-L1
    03DS 411Statistical Data Analysis (DS Major)DS 331DS 332Major2
    04DS 412Statistical Data Analysis Lab (DS Major)DS 331DS 332Major-L1
    05DS 421Machine Learning Driven Data Analysis I (DS Major)DS 411DS 412, SE 544Major2
    06DS 422Machine Learning Driven Data Analysis Lab I (DS Major)DS 411DS 412, SE 544Major-L1
       Total9

    Level – 04, Term – 01 (07 Semester)

    For Only Robotics & Embedded Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01RE 331Embedded Programming (RE Major)SE 213SE 121, SE 532Major2
    02RE 331Embedded Programming Lab (RE Major)SE 213SE 121, SE 532Major-L1
    03RE 411Embedded Systems Design & Development (RE Major)RE 331RE 332Major2
    04RE 412Embedded Systems Design & Development Lab (RE Major)RE 331RE 332Major-L1
    05RE 421Robotic Process Automation Design & Development (RE Major)RE 331RE 332, RE 411,RE 412,SE 442, SE 331Major2
    06RE 422Robotic Process Automation Design & Development Lab(RE Major)RE 331, RE 332, RE 411,RE 412,SE 442, SE 331Major-L1
    07   Total9
          

    Level – 04, Term – 02 (08 Semester)

    For All Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE XXXGuided Elective-IVPGC3
        Total3

    Level – 04, Term – 02 (08 Semester)

    For Only Simple Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01SE341SE XXXNumerical Analysis (G -5) Non –Major Only/Guided Elective- VPGC3
    02SE 431Final Year ProjectThesis/ InternshipPRO-THE6
       Total9

    Level – 04, Term – 02 (08 Semester)

    For Only Cyber Security Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01CS 334Ethical Hacking & Countermeasures (CS Major)CS 418Major1
    02CS 335Ethical Hacking & Countermeasures Lab (CS Major)CS 418Major-L2
    03CS 439Cyber Security Major Capstone Project (CS Major)All CS Major CoursesPRO-THE6
       Total9

    Level – 04, Term – 02 (08 Semester)

    For Only Data Science Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01DS 423Machine Learning Driven Data Analysis II and Communicating Data Insights (DS Major)DS 411DS 412, SE 544Major2
    02DS 424Machine Learning Driven Data Analysis II and Communicating Data Insights Lab (DS Major)DS 411DS 412, SE 544Major-L1
    03DS 431Data Science Major Capstone ProjectALL DS Major CoursesPRO-THE6
       Total9

    Level – 04, Term – 02 (08 Semester)

    For Only Robotics & Embedded Student

    SI NoCodeCourse TitlePre-RequisiteCategoryCredit
    01RE 423Advanced Robotics (RE Major)RE 331, RE 332, RE 411,RE 412Major2
    02RE 424Advanced Robotics Lab (RE Major)RE 331, RE 332, RE 411,RE 412Major-L1
    03RE 431Robotics & Embedded Systems Major Capstone ProjectALL RE Major CoursesPRO-THE6
       Total9

    Thanks for your time!

  • What is Artificial Intelligence (AI)?

    Artificial Intelligence or AI is the simulation of human intelligence in computers and active them to learn and make decisions.

    Artificial intelligence is a field of science concerned with building computers and machines that can reason, learn, and act in such a way that would normally require human intelligence or that involves data whose scale exceeds what humans can analyze.

    AI is a broad field that encompasses many different disciplines, including computer science, data analytics and statistics, hardware and software engineering, linguistics, neuroscience, and even philosophy and psychology.

    On an operational level for business use, AI is a set of technologies that are based primarily on machine learning and deep learning, used for data analytics, predictions and forecasting, object categorization, natural language processing, recommendations, intelligent data retrieval, and more.

    How does AI work?

    While the specifics vary across different AI techniques, the core principle revolves around data. AI systems learn and improve through exposure to vast amounts of data, identifying patterns and relationships that humans may miss.

    This learning process often involves algorithms, which are sets of rules or instructions that guide the AI’s analysis and decision-making. In machine learning, a popular subset of AI, algorithms are trained on labeled or unlabeled data to make predictions or categorize information.

    Deep learning, a further specialization, utilizes artificial neural networks with multiple layers to process information, mimicking the structure and function of the human brain. Through continuous learning and adaptation, AI systems become increasingly adept at performing specific tasks, from recognizing images to translating languages and beyond.

    Want to learn how to get started with AI? Take the free beginner’s introduction to generative AI.

    Types of artificial intelligence

    Artificial intelligence can be organized in several ways, depending on stages of development or actions being performed.

    For instance, four stages of AI development are commonly recognized.

    1. Reactive machines: Limited AI that only reacts to different kinds of stimuli based on preprogrammed rules. Does not use memory and thus cannot learn with new data. IBM’s Deep Blue that beat chess champion Garry Kasparov in 1997 was an example of a reactive machine.
    2. Limited memory: Most modern AI is considered to be limited memory. It can use memory to improve over time by being trained with new data, typically through an artificial neural network or other training model. Deep learning, a subset of machine learning, is considered limited memory artificial intelligence.
    3. Theory of mind: Theory of mind AI does not currently exist, but research is ongoing into its possibilities. It describes AI that can emulate the human mind and has decision-making capabilities equal to that of a human, including recognizing and remembering emotions and reacting in social situations as a human would.
    4. Self aware: A step above theory of mind AI, self-aware AI describes a mythical machine that is aware of its own existence and has the intellectual and emotional capabilities of a human. Like theory of mind AI, self-aware AI does not currently exist.
  • English Appropriate Preposition

    English Appropriate Preposition

    NoWordPrepositionMeaningExample Sentence
    01Abideby  
    02Aboundin  
    03Absentfrom  
    04Absorbedin  
    05Accessto  
    06Accordingto  
    07Accompaniedby  
    08Accompaniedwith  
    09Acquaintedwith  
    10Accusedof  
    11Accustomedto  
    12Acquitof  
    13Addto  
    14Addictedto  
    15Adjacentto  
    16Admitof  
    17Admitto  
    18Admitinto  
    19Affectionfor  
    20Affectionateto  
    21Afraidof  
    22Agreewith  
    23Agreeon  
    24Agreeto  
    25Aimat  
    26Alarmedat  
    27Allotto  
    28Alternativeto  
    29Alooffrom  
    30Ambitionfor  
    31Angrywith  
    32Angryfor  
    33Angryat  
    34Annoyedwith  
    35Annoyedfor  
    36Anxiousabout  
    37Anxiousfor  
    38Appealto  
    39Appealfor  
    40Appealagainst  
    SI NoWordPrepositionMeaningFor Example: Sentence
    41Aptitudefor  
    42Arriveat  
    43Arguewith  
    44Arguefor  
    45Argueagainst  
    46Assignto  
    47Ashamedat  
    48Ashamedfor  
    49Attendto  
    50Attachto  
    51Allendon  
    52Allendupon  
    53Availof  
    54Awareof  
    55Basedof  
    56Begfor  
    57Believein  
    58Belongto  
    59Benton  
    60Bewareof  
    61Blessedwith  
    62Blindof  
    63Blindto  
    64Blushwith  
    65Blushfor  
    66Boastof  
    67Bornof  
    68Bornin  
    69Boundfor  
    70Broodon  
    71Broodover  
    72Burstinto  
    73Busywith  
    74Callousto  
    75Capableto  
    76Capacityfor  
    77Carefor  
    78Careof  
    79Carefulto  
    80Certainof  
    SI NoWordPrepositionMeaningFor Example: Sentence
    81Closeto  
    82Clueto  
    83Comeof  
    84Chargewith  
    85Chargeon  
    86Chargeagainst  
    87Commenceon  
    88Commenton  
    89Comparewith  
    90Compareto  
    91Complainto  
    92Complainagainst  
    93Complainabout  
    94Complywith  
    95Composedof  
    96Confidentof  
    97Confinedin  
    98Confinedto  
    99Congratulateon  
    100Consciousof  
    101Consistof  
    102Consistentwith  
    103Consultwith  
    104Consulton  
    105Consultabout  
    106Contraryto  
    107Contributeto  
    108Controlover  
    109Countfor  
    110Cureof  
    111Cravefor  
    112Deafof  
    113Deafto  
    114Dealin  
    115Dealwith  
    116Dedicateto  
    117Delightin  
    118Dependon  
    119Deprivedof  
    120Desirefor  
    SI NoWordPrepositionMeaningFor Example: Sentence
    121Desirousof  
    122Despairof  
    123Destinedof  
    124Devoidof  
    125Devoteof  
    126Dieof  
    127Diefrom  
    128Diefor  
    129Dieby  
    130Diein  
    131Differfrom  
    132Differencebetween  
    133Differentfrom  
    134Disgraceto  
    135Disgustedwith  
    136Displeasedwith  
    137Displeasedto  
    138Dislikefor  
    139Disposeof  
    140Distinguishfrom  
    141Divertfrom  
    142Divideinto  
    143Dividebetween  
    144Divideamong  
    145Dueto  
    146Dullof  
    147Dullat  
    148Eagerfor  
    149Eagerabout  
    150Eligiblefor  
    151Encroachon  
    152Endin  
    153Endowedwith  
    154Engagedwith  
    155Enquireof  
    156Enterinto  
    157Envyof  
    158Enviousof  
    159Entitledto  
    160Equalin  
    SI NoWordPrepositionMeaningFor Example: Sentence
    161Escapefrom  
    162Escapeby  
    163Esteemfor  
    164Excelin  
    165Excusefor  
    166Excusefrom  
    167Exemptfrom  
    168Faithin  
    169Faithwith  
    170Faithfulto  
    171Falseto  
    172Famousfor  
    173Familiarwith  
    174Fatalto  
    175Favourwith  
    176In Favourof  
    177Favorableto  
    178Favorablefor  
    179Feelfor  
    180Feelin  
    181Fitfor  
    182Fondof  
    183Freefrom  
    184Fillwith  
    185Fullof  
    186Glanceat  
    187Goodat  
    188Gratefulto  
    189Gratefulfor  
    190Greedfor  
    191Guessat  
    192Guiltyof  
    193Hankerafter  
    194Handat  
    195Heirof  
    196Heirto  
    197Hopefor  
    198Hungerfor  
    199Ignorantof  
    200Illwith  
    SI NoWordPrepositionMeaningFor Example: Sentence
    201Imposeon  
    202Indebtedto  
    203Indifferentto  
    204Indulgein  
    205Informof  
    206Inferiorto  
    207Inquireof  
    208Insistabout  
    209Interestinto  
    210Interferewith  
    211Inviteto  
    212Involvedin  
    213Jealousof  
    214Jumpat  
    215Jumpto  
    216Juniorto  
    217Juniorto  
    218Justificationof  
    219Kindof  
    220Kindto  
    221Lackof  
    222Lackingin  
    223Lameof  
    224Lamentfor  
    225Latein  
    226Laughat  
    227Layby  
    228Liableto  
    229Likingfor  
    230Limitto  
    231Limitedto  
    232Listento  
    233Liveon  
    234Liveby  
    235Livebeyond  
    236Livewithin  
    237Lookat  
    238Lookafter  
    239Lookfor  
    240Lookinto  
    SI NoWordPrepositionMeaningFor Example: Sentence
    241Lookover  
    242Lookup  
    243Longfor  
    244Loyalto  
    245Madwith  
    246Madeof  
    247Makefor  
    248Makeout  
    249Marryto  
    250Mournfor  
    251Needfor  
    252Needof  
    253Objectto  
    254Obligewith  
    255Obligeby  
    256Obstacleto  
    257Obsessedby  
    258Obsessedwith  
    269Occupiedwith  
    260Occupiedin  
    261Occurto  
    262Occurin  
    263Offendagainst  
    264Offendedwith  
    265Offensiveto  
    266Officiatefor  
    267Officiatein  
    268Opento  
    269Openat  
    270Opportunityfor  
    271Opportunityof  
    272Oppositeto  
    273Oweto  
    274Parallelto  
    275Partfrom  
    276Partialto  
    277Partialityfor  
    278Passfor  
    279Passaway  
    280Persistin  
    SI NoWordPrepositionMeaningFor Example: Sentence
    281Pityfor  
    282Playon  
    283Pleadwith  
    284Pleadfor  
    285Pleadagainst  
    286Pleasedwith  
    287Pleasedat  
    288Politein  
    289Politeto  
    290Poorin  
    291Popularwith  
    292Preferto  
    293Preferableto  
    294Presideover  
    295Pretendto  
    296Preventfrom  
    297Prideon  
    298Proudof  
    299Priorto  
    300Priorto  
    301Prohibitfrom  
    302Promptat  
    303Proneto  
    304Proportionateto  
    305Provideagainst  
    306Providefor  
    307Providewith  
    308Qualifiedfor  
    309Quickat  
    310Quickof  
    311Quarrelwith  
    312Quarrelfor  
    313Quarrelover  
    314Quarrelabout  
    315Referto  
    316Rejoiceat  
    317Relevantin  
    318Relyon  
    319Remedyfor  
    320Remindof  
    SI NoWordPrepositionMeaningFor Example: Sentence
    321Renderinto  
    322Replacewith  
    323Requireof  
    324Resignto  
    325In Respectof  
    326With Respectto  
    327Respondto  
    328Responsibleto  
    329Restwith  
    330Restupon  
    331Restoreto  
    332Restrictto  
    333Retirefrom  
    334Rechon  
    335Ridin  
    336Robof  
    337Sanguineof  
    338Satisfiedwith  
    339Satisfiedof  
    340Satisfactionin  
    341Satisfactionwith  
    342Searchfor  
    343In Searchof  
    344Sensibleof  
    345Sensitiveto  
    346Sentenceto  
    347Sentencefor  
    348Seniorto  
    349Sendfor  
    350Sickof  
    351Similarfor  
    352Sinkin  
    353Slowof  
    354Slowat  
    355Slowin  
    356Smellof  
    357smilesmile  
    358Stareat  
    359Stickto  
    360Subjectto  
    SI NoWordPrepositionMeaningFor Example: Sentence
    361Succeedin  
    362Sufferfrom  
    363Superiorto  
    364Supplywith  
    365Supplyto  
    366Sureof  
    367Sympathyfor  
    368Takeafter  
    369Talkto  
    370Talkwith  
    371Talkof  
    372Tasteto  
    373Tellupon  
    374Tideover  
    375Tiredof  
    376Thinkof  
    377Thinkabout  
    378Thinkover  
    379Tolerantof  
    380Triumphover  
    381Trueto  
    382Trustwith  
    383Unitewith  
    384Usefulto  
    385Vainof  
    386Vanyfrom  
    387Vexedwith  
    388Voidof  
    389Waitfor  
    390Waiton  
    391Wantof  
    392Wantingin  
    393Warmof  
    394Weakin  
    395Weakof  
    396Wearyof  
    397Wishfor  
    398Wonderat  
    399Worthyof  
    400Zestfor  
    SI NoWordPrepositionMeaningFor Example: Sentence
    401Competewith  
    402Competeto  
    403Countfor  
    404Countupon  
    405Diffidentof  
    406Dislikefor  
    407Disliketo  
    408Distinguishfrom  
    409Distinguishbetween  
    410Engagedwith  
    411Engagedin  
    412Engagedto  
    413Enquireof  
    414Enquireinto  
    415Equalin  
    416Equalwith  
    417Equalto  
    418Justificationof  
    419Justificationfor  
    420Mournfor  
    421Mournover  
    422Talkto  
    423Talkwith  
    424Talkof  
    425Talkover  
    426Trustwith  
    427Trustto  
    428Usefulto  
    429Usefulfor  
    430Vexedwith  
    431Vexedfor  
    432Vexedat  
    433Yieldto  
    434Zealfor  
    435Zealousfor  
    436Zealousin  
    437Zestfor  
    438Anxietyfor  
    439Desirefor  
    440Greedfor  
    SI NoPrepositionMeaningUse MeaningExample: Sentence
    441on   
    442over   
    443above   
    444up   
    445in   
    446into   
    447about   
    448across   
    449after   
    450before   
    451against   
    452along   
    453among   
    454around   
    455at   
    456behind   
    457under   
    458below   
    459beneath   
    460beside   
    461besides   
    462between   
    463beyond   
    464but   
    465by   
    466concerning   
    467despite   
    468down   
    469during   
    470except   
    471for   
    472from   
    473inside   
    474like   
    475near   
    476of   
    477off   
    478onto   
    479out of   
    480outside   

    Thank You!