Basics of Computer

Day 1: Introduction to Computers and Operating Systems

  • Topics:
  • Basic computer components and peripherals
  • Operating system fundamentals
  • Assignments:
  1. Identify and label the major components of your computer system.
  2. Explore the features and functionality of your operating system.
  3. Customize your desktop background and screensaver.

Day 2: File Management and Organization

  • Topics:
  • Creating, copying, moving, and deleting files and folders
  • Organizing files and folders
  • Assignments:
  1. Create a new folder on your desktop and name it “Assignments.”
  2. Copy files from one folder to another.
  3. Delete unnecessary files and empty your recycle bin or trash folder.

Day 3: Internet Basics and Web Browsing

  • Topics:
  • Internet fundamentals
  • Web browser usage and navigation
  • Assignments:
  1. Open a web browser and visit three different websites of your choice.
  2. Bookmark your favorite website for quick access.
  3. Perform a simple web search to find information on a topic of interest.

Day 4: Email Communication and Online Safety

  • Topics:
  • Email account setup and management
  • Online safety and security best practices
  • Assignments:
  1. Create a new email account with a service provider of your choice.
  2. Compose and send an email to a friend or family member.
  3. Update your email account settings to enable spam filtering and two-factor authentication.

Day 5: Online Search and Information Evaluation

  • Topics:
  • Effective online searching techniques
  • Evaluating the reliability and credibility of online information
  • Assignments:
  1. Perform an advanced search using search operators to find specific information.
  2. Evaluate the credibility of a website by examining its domain, author, and references.
  3. Create a list of reliable online sources for future reference.

Day 6: Online Communication and Social Media

  • Topics:
  • Instant messaging and video calling
  • Social media platforms and their features
  • Assignments:
  1. Install a messaging app and send a message to a friend or family member.
  2. Set up a video call with someone using a communication tool like Skype or FaceTime.
  3. Create a profile on a social media platform and explore its features, such as posting and commenting.

Day 7: Online Privacy and Security

  • Topics:
  • Protecting personal information online
  • Recognizing and avoiding online scams
  • Assignments:
  1. Review the privacy settings of your social media accounts and adjust them to your comfort level.
  2. Learn about common online scams and how to identify and avoid them.
  3. Install and run antivirus software to ensure your computer’s security.

Day 8: Online Shopping and Financial Transactions

  • Topics:
  • E-commerce websites and online shopping
  • Online payment methods and security
  • Assignments:
  1. Browse an e-commerce website and add items to your cart to simulate online shopping.
  2. Research different online payment methods and understand their security measures.
  3. Create a budget using a spreadsheet application to track your expenses.

Day 9: Online Entertainment and Multimedia

  • Topics:
  • Streaming services and media players
  • Digital photo and video management
  • Assignments:
  1. Explore a streaming service and watch a movie or TV show of your choice.
  2. Install a media player on your computer and play your favorite songs or videos.
  3. Organize your digital photos into folders and create a slideshow using a photo management application.

Day 10: Online Learning and Productivity Tools

  • Topics:
  • Online learning platforms and resources
  • Productivity tools for personal and professional use
  • Assignments:
  1. Enroll in an online course or explore educational resources on a learning platform.
  2. Use a productivity tool like Google Docs or Microsoft Office Online to create a document or presentation.
  3. Research and install a task management application to organize your daily activities and to-do lists.

Assignment

Day 1: Introduction to Computers and Operating Systems

  1. Explain the main components of a computer system and their functions.
  2. Describe the difference between hardware and software.
  3. Discuss the purpose and features of an operating system.
  4. Identify three popular operating systems used today.
  5. Explain the importance of keeping your operating system and software updated.

Day 2: File Management and Organization with Google Drive

  1. Create a new folder in your Google Drive and name it “Assignments.”
  2. Upload a file to your Google Drive.
  3. Move a file from one folder to another in Google Drive.
  4. Share a file or folder with a friend and specify their access level (view, comment, or edit).
  5. Discuss the benefits of cloud storage and how Google Drive can help with file organization and accessibility.

Day 3: Internet Basics and Web Browsing

  1. Explain the purpose of a web browser and name three popular web browsers.
  2. Perform a search on Google and find information about a topic of interest.
  3. Bookmark a website that you frequently visit and organize it into a bookmark folder.
  4. Clear your browsing history and cookies in your web browser.
  5. Discuss the importance of internet safety, such as avoiding suspicious websites and protecting personal information.

Day 4: Email Communication and Google Drive Integration

  1. Create a new Gmail account and send an email to a friend.
  2. Attach a file from your Google Drive to an email.
  3. Save an email attachment to your Google Drive.
  4. Organize your Gmail inbox using labels and filters.
  5. Discuss the benefits of using Google Drive for file sharing and collaboration in email communication.

Day 5: Online Search and Information Evaluation

  1. Perform an advanced search on Google using specific search operators or filters.
  2. Evaluate the credibility of a website by examining the source, author, and references.
  3. Compare search results and information from different search engines.
  4. Discuss the importance of fact-checking and critically analyzing online information.
  5. Use Google Scholar to find scholarly articles on a specific topic.

Day 6: Online Communication and Collaboration Tools

  1. Create a Google Docs document and share it with a collaborator to work on together.
  2. Use the comment feature in Google Docs to provide feedback or suggestions.
  3. Start a video call using Google Meet and invite others to join.
  4. Collaborate on a Google Sheets spreadsheet with a teammate in real-time.
  5. Discuss the advantages of online communication and collaboration tools for remote work or group projects.

Day 7: Online Privacy and Security

  1. Review and adjust your Google account privacy settings.
  2. Enable two-factor authentication for your Google account.
  3. Identify and avoid common online scams, such as phishing emails or fake websites.
  4. Create a strong, unique password for your Google account.
  5. Discuss best practices for online privacy, such as using secure connections and being cautious with personal information.

Day 8: Google Slides and Presentations

  1. Create a new presentation using Google Slides.
  2. Customize the theme and layout of your slides.
  3. Add text, images, and shapes to your presentation.
  4. Apply transitions and animations to enhance your presentation.
  5. Share your presentation with others and allow them to comment or edit.

Day 9: Google Forms and Surveys

  1. Create a survey or questionnaire using Google Forms.
  2. Add different types of questions to your form, such as multiple choice or short answer.
  3. Customize the design and layout of your form.
  4. Share your form with others and collect responses.
  5. Analyze the survey results and generate visualizations using Google Sheets.

Day 10: Google Drive Organization and Productivity Tips

  1. Create a folder structure in your Google Drive to organize your files and documents.
  2. Use the Google Drive search feature to quickly find specific files or folders.
  3. Set up offline access to your Google Drive for accessing files without an internet connection.
  4. Explore additional productivity features in Google Drive, such as Google Keep for note-taking or Google Calendar for scheduling.
  5. Discuss how Google Drive can enhance your personal and professional productivity.

7 Day Assignment

Day 1: Introduction to Computers and Internet

  1. Write a short essay on the importance of computers in our daily lives.
  2. Create a diagram illustrating the basic components of a computer system.
  3. Research and list five popular websites and explain their purposes.
  4. Compare and contrast different types of computer operating systems.
  5. Write step-by-step instructions on how to connect to a Wi-Fi network.
  6. Explore different types of computer input devices and their functions.
  7. Create a presentation on the evolution of computers over time.
  8. Research and explain the concept of computer viruses and methods to protect against them.
  9. Write a report on the impact of technology on society and ethical considerations.
  10. Explore different internet browsers and document their key features and differences.

Day 2: Computer Software and Applications

  1. Install a software program of your choice and document the installation process.
  2. Explore different types of software applications (e.g., word processing, spreadsheet, image editing) and their uses.
  3. Customize the settings of your operating system to personalize your computer experience.
  4. Research and describe the concept of cloud computing and its advantages.
  5. Write a step-by-step tutorial on how to perform a specific task using a software application.
  6. Investigate different programming languages and their applications in software development.
  7. Create a presentation comparing proprietary software and open-source software.
  8. Research and explain the concept of software updates and the importance of keeping software up-to-date.
  9. Write a report on the role of artificial intelligence in software development.
  10. Explore different productivity tools and discuss their benefits in improving efficiency.

Day 3: Internet and Web Browsers

  1. Research and explain the purpose of domain names and how they are registered.
  2. Compare and evaluate different web browsers based on speed, security, and user interface.
  3. Clear browser cache and cookies and explain their importance.
  4. Research and describe the different types of internet connections available.
  5. Write a report on internet protocols (e.g., HTTP, TCP/IP) and their roles in web communication.
  6. Explore different search engines and compare their search algorithms.
  7. Identify and analyze common online scams and how to avoid them.
  8. Research and explain the concept of phishing attacks and how to recognize them.
  9. Create a checklist for evaluating the credibility of websites and online sources.
  10. Write a blog post on internet privacy and strategies to protect personal information online.

Day 4: Online Safety and Security

  1. Research and explain the concept of encryption and its importance in securing online communications.
  2. Create a strong and unique password for your online accounts and explain password security best practices.
  3. Research and compare different antivirus software programs and their features.
  4. Write a report on social engineering techniques and how to defend against them.
  5. Create a YouTube account and upload a short video introducing yourself.
  6. Explore YouTube’s privacy settings and customize them according to your preferences.
  7. Research copyright laws related to YouTube content and create a video discussing fair use guidelines.
  8. Comment on five different YouTube videos, expressing your opinions and engaging with the content creators.
  9. Create a YouTube playlist of your favorite videos on a specific topic or theme.
  10. Write a reflective essay on the impact of YouTube on media consumption and online entertainment.

Day 5: Basics of Google Drive and Cloud Storage

  1. Create a Google Drive account and explore its features and storage options.
  2. Upload a document to Google Drive and share it with a friend or colleague.
  3. Create a folder structure in Google Drive to organize your files and documents.
  4. Collaborate with others on a shared document using Google Docs
  5. Explore Google Drive’s integration with other Google apps like Google Sheets and Google Slides.
  6. Research and compare different cloud storage services, highlighting their features and pricing plans.
  7. Backup important files from your computer to Google Drive and explain the importance of data backup.
  8. Create a Google Form and use it to collect responses or conduct a survey.
  9. Explore Google Drive’s advanced search features to quickly find specific files or documents.
  10. Write a blog post comparing Google Drive to other cloud storage services and their advantages.

Day 6: Email and Communication Tools

  1. Set up an email account with a provider of your choice and configure it in an email client.
  2. Compose and send an email to a friend or family member, including attachments.
  3. Explore the features of your email client, such as organizing emails into folders and applying filters.
  4. Research and compare different email providers, highlighting their storage limits and security features.
  5. Create a professional email signature that includes your name, contact information, and any relevant links.
  6. Use a communication tool like Slack or Microsoft Teams to join a workspace and interact with others.
  7. Research and explain the concept of email etiquette and best practices for professional communication.
  8. Set up email forwarding or auto-responder for your email account and explain their purposes.
  9. Participate in an online discussion forum or community and share your thoughts on a topic of interest.
  10. Write a reflection on the benefits and challenges of online communication tools in modern society.

Day 7: Introduction to Social Media and Online Presence

  1. Create accounts on popular social media platforms like Facebook, Twitter, and Instagram.
  2. Customize your social media profiles with a profile picture, cover photo, and bio information.
  3. Post a status update on each social media platform, sharing your thoughts or an interesting article.
  4. Research and discuss the impact of social media on personal relationships and society.
  5. Explore privacy settings on social media platforms and adjust them according to your preferences.
  6. Follow influencers or organizations in your field of interest on social media and engage with their content.
  7. Create a blog on a free blogging platform and write your first blog post on a topic of your choice.
  8. Share your blog post on social media and engage with readers through comments and discussions.
  9. Explore social media analytics tools to track the performance of your posts and engagement metrics.
  10. Write a reflection on the benefits and drawbacks of social media and its influence on online culture.

PHP Crash Course

Basics

  • Example 1: Printing “Hello, World!” using echo:
   echo "Hello, World!";
  • Example 2: Assigning and displaying variables:
   $name = "John Doe";
   echo "My name is " . $name;
  • Example 3: Writing comments in PHP code:
   // This is a single-line comment

   /*
   This is a
   multi-line comment
   */
  • Example 4: Using the print statement:
   print "Welcome to PHP";
  • Example 5: Getting the current date and time:
   $currentDate = date("Y-m-d H:i:s");
   echo "Current date and time: " . $currentDate;

Variables and Constants

  • Example 1: Declaring and using variables:
   $name = "John Doe";
   $age = 25;
   $salary = 5000.50;

   echo "Name: " . $name . ", Age: " . $age . ", Salary: $" . $salary;
  • Example 2: Defining and using constants:
   define("PI", 3.14);
   echo "The value of PI is: " . PI;
  • Example 3: Variable scope (local and global):
   $globalVariable = "I am a global variable";

   function myFunction() {
       $localVariable = "I am a local variable";
       echo $localVariable;
       echo $GLOBALS['globalVariable'];
   }

   myFunction();
  • Example 4: Variable interpolation:
   $name = "John Doe";
   echo "My name is $name";
  • Example 5: Constants case sensitivity:
   define("MY_CONSTANT", "Hello");
   echo MY_CONSTANT;
   echo my_constant;

Operators

  • Example 1: Arithmetic operators:
   $num1 = 10;
   $num2 = 5;

   echo $num1 + $num2; // Addition
   echo $num1 - $num2; // Subtraction
   echo $num1 * $num2; // Multiplication
   echo $num1 / $num2; // Division
   echo $num1 % $num2; // Modulo
  • Example 2: Assignment operators:
   $num = 10;
   $num += 5; // Equivalent to $num = $num + 5;
   echo $num;

   $str = "Hello";
   $str .= " World"; // Equivalent to $str = $str . " World";
   echo $str;
  • Example 3: Comparison operators:
   $num1 = 10;
   $num2 = 5;

   var_dump($num1 == $num2);  // Equal to
   var_dump($num1 != $num2);  // Not equal to
   var_dump($num1 > $num2);   // Greater than
   var_dump($num1 < $num2);   // Less than
   var_dump($num1 >= $num2);  // Greater than or equal to
   var_dump($num1 <= $num

2);  // Less than or equal to
  • Example 4: Logical operators:
   $num1 = 10;
   $num2 = 5;
   $num3 = 7;

   var_dump($num1 > $num2 && $num1 < $num3);   // Logical AND
   var_dump($num1 > $num2 || $num1 > $num3);   // Logical OR
   var_dump(!($num1 > $num2));                  // Logical NOT
  • Example 5: String operators:
   $str1 = "Hello";
   $str2 = "World";

   echo $str1 . $str2;   // Concatenation
   echo $str1 .= $str2;  // Concatenation and assignment

Conditionals

  • Example 1: If-else statement:
   $num = 10;

   if ($num > 0) {
       echo "The number is positive";
   } else {
       echo "The number is not positive";
   }
  • Example 2: Switch case statement:
   $day = "Monday";

   switch ($day) {
       case "Monday":
           echo "Today is Monday";
           break;
       case "Tuesday":
           echo "Today is Tuesday";
           break;
       default:
           echo "Today is not Monday or Tuesday";
   }
  • Example 3: Ternary operator:
   $num = 10;

   $result = ($num % 2 == 0) ? "Even" : "Odd";
   echo $result;
  • Example 4: Multiple conditions in if statement:
   $num = 10;

   if ($num > 0 && $num < 20) {
       echo "The number is between 0 and 20";
   }
  • Example 5: Nested if-else statements:
   $num = 10;

   if ($num > 0) {
       if ($num < 20) {
           echo "The number is between 0 and 20";
       }
   }

Loop Constructs

  • Example 1: For loop:
   for ($i = 1; $i <= 5; $i++) {
       echo $i . " ";
   }
  • Example 2: While loop:
   $i = 1;

   while ($i <= 5) {
       echo $i . " ";
       $i++;
   }
  • Example 3: Do-while loop:
   $i = 1;

   do {
       echo $i . " ";
       $i++;
   } while ($i <= 5);
  • Example 4: Foreach loop with an array:
   $numbers = [1, 2, 3, 4, 5];

   foreach ($numbers as $number) {
       echo $number . " ";
   }
  • Example 5: Loop control statements (break and continue):
   for ($i = 1; $i <= 10; $i++) {
       if ($i == 5) {
           break;      // Exit the loop
       }

       if ($i % 2 == 0) {
           continue;   // Skip the rest of the iteration


 }

       echo $i . " ";
   }

Arrays

  • Example 1: Creating an indexed array:
   $fruits = ["Apple", "Banana", "Orange"];
  • Example 2: Accessing array elements:
   $fruits = ["Apple", "Banana", "Orange"];
   echo $fruits[0];  // Output: Apple
  • Example 3: Modifying array elements:
   $fruits = ["Apple", "Banana", "Orange"];
   $fruits[1] = "Mango";
  • Example 4: Counting array elements:
   $fruits = ["Apple", "Banana", "Orange"];
   $count = count($fruits);
   echo $count;  // Output: 3
  • Example 5: Searching for a value in an array:
   $fruits = ["Apple", "Banana", "Orange"];
   $index = array_search("Banana", $fruits);
   echo $index;  // Output: 1

Multi-Dimensional Arrays

  • Example 1: Creating a 2D array:
   $matrix = [
       [1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]
   ];
  • Example 2: Accessing elements in a 2D array:
   $matrix = [
       [1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]
   ];

   echo $matrix[1][2];  // Output: 6
  • Example 3: Modifying elements in a 2D array:
   $matrix = [
       [1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]
   ];

   $matrix[2][1] = 10;
  • Example 4: Counting elements in a 2D array:
   $matrix = [
       [1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]
   ];

   $count = count($matrix, COUNT_RECURSIVE);
   echo $count;  // Output: 9
  • Example 5: Searching for a value in a 2D array:
   $matrix = [
       [1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]
   ];

   $index = array_search(6, array_merge(...$matrix));
   echo $index;  // Output: 5

Associative Arrays

  • Example 1: Creating an associative array:
   $student = [
       "name" => "John Doe",
       "age" => 20,
       "city" => "New York"
   ];
  • Example 2: Accessing values in an associative array:
   $student = [
       "name" => "John Doe",
       "age" => 20,
       "city" => "New York"
   ];

   echo $student["name"]; 

 // Output: John Doe
  • Example 3: Modifying values in an associative array:
   $student = [
       "name" => "John Doe",
       "age" => 20,
       "city" => "New York"
   ];

   $student["age"] = 21;
  • Example 4: Counting elements in an associative array:
   $student = [
       "name" => "John Doe",
       "age" => 20,
       "city" => "New York"
   ];

   $count = count($student);
   echo $count;  // Output: 3
  • Example 5: Checking if a key exists in an associative array:
   $student = [
       "name" => "John Doe",
       "age" => 20,
       "city" => "New York"
   ];

   $exists = array_key_exists("age", $student);
   echo $exists;  // Output: 1 (true)

Array of Associative Arrays

  • Example 1: Creating an array of associative arrays:
   $students = [
       [
           "name" => "John Doe",
           "age" => 20,
           "city" => "New York"
       ],
       [
           "name" => "Jane Smith",
           "age" => 22,
           "city" => "Los Angeles"
       ],
       [
           "name" => "Mike Johnson",
           "age" => 19,
           "city" => "Chicago"
       ]
   ];
  • Example 2: Accessing values in an array of associative arrays:
   $students = [
       [
           "name" => "John Doe",
           "age" => 20,
           "city" => "New York"
       ],
       [
           "name" => "Jane Smith",
           "age" => 22,
           "city" => "Los Angeles"
       ],
       [
           "name" => "Mike Johnson",
           "age" => 19,
           "city" => "Chicago"
       ]
   ];

   echo $students[1]["name"];  // Output: Jane Smith
  • Example 3: Modifying values in an array of associative arrays:
   $students = [
       [
           "name" => "John Doe",
           "age" => 20,
           "city" => "New York"
       ],
       [
           "name" => "Jane Smith",
           "age" => 22,
           "city" => "Los Angeles"
       ],
       [
           "name" => "Mike Johnson",
           "age" => 19,
           "city" => "Chicago"
       ]
   ];

   $students[2]["age"] = 20;
  • Example 4: Counting elements in an array of associative arrays:
   $students = [
       [
           "name" => "John Doe",
           "age" => 20,
           "city" => "New York"
       ],
       [
           "name" => "Jane Smith",
           "age" => 22,
           "city" => "Los Angeles"
       ],
       [
           "name" => "Mike Johnson",
           "age" => 19,
           "city" => "Chicago"
       ]
   ];

   $count = count($students);
   echo $count;  // Output: 3
  • Example 5: Searching for a value in an array of associative arrays:
   $students = [
       [
           "name" => "John Doe",
           "age" => 20,
           "city" => "New York"
       ],
       [
           "name" => "Jane Smith",
           "age" => 22,
           "city" => "Los Angeles"
       ],
       [
           "name" => "Mike Johnson",
           "age" => 19,
           "city" => "Chicago"
       ]
   ];

   $index = array_search("Los Angeles", array_column($students, "city"));
   echo $index;  // Output: 1

Functions

  • Example 1: Creating a function:
   function sayHello() {
       echo "Hello, World!";
   }

   sayHello();
  • Example 2: Function with parameters:
   function greet($name) {
       echo "Hello, " . $name . "!";
   }

   greet("John");
  • Example 3: Returning a value from a function:
   function add($num1, $num2) {
       return $num1 + $num2;
   }

   $result = add(3, 5);
   echo $result;  // Output: 8
  • Example 4: Function with default parameter value:
   function greet($name = "Guest") {
       echo "Hello, " . $name . "!";
   }

   greet();       // Output: Hello, Guest!
   greet("John"); // Output: Hello, John!
  • Example 5: Recursive function:
   function factorial($num) {
       if ($num <= 1) {
           return 1;
       }

       return $num * factorial($num - 1);
   }

   $result = factorial(5);
   echo $result;  // Output: 120

Classes

  • Example 1: Creating a class:
   class Person {
       public $name;
       public $age;

       public function sayHello() {
           echo "Hello, my name is " . $this->name . " and I am " . $this->age . " years old.";
       }
   }

   $person = new Person();
   $person->name = "John";
   $person->age = 25;
   $person->sayHello();
  • Example 2: Constructors and property accessors:
   class Person {
       private $name;
       private $age;

       public function __construct($name, $age) {
           $this->name = $name;
           $this->age = $age;
       }

       public function getName() {
           return $this->name;
       }

       public function getAge() {
           return $this->age;
       }
   }

   $person = new Person("John", 25);
   echo $person->getName();  // Output: John
   echo $person->getAge();   // Output: 25
  • Example 3: Inheritance:
   class Animal {
       public function makeSound() {
           echo "The animal makes a sound.";
       }
   }

   class Dog extends Animal {
       public function makeSound() {
           echo "The dog barks.";
       }
   }

   $dog = new Dog();
   $dog->makeSound();  // Output: The dog barks.
  • Example

4: Static properties and methods:

   class MathUtils {
       public static $pi = 3.14159;

       public static function square($num) {
           return $num * $num;
       }
   }

   echo MathUtils::$pi;            // Output: 3.14159
   echo MathUtils::square(5);      // Output: 25
  • Example 5: Abstract classes and interfaces:
   abstract class Animal {
       abstract public function makeSound();
   }

   interface CanFly {
       public function fly();
   }

   class Bird extends Animal implements CanFly {
       public function makeSound() {
           echo "The bird chirps.";
       }

       public function fly() {
           echo "The bird is flying.";
       }
   }

   $bird = new Bird();
   $bird->makeSound();  // Output: The bird chirps.
   $bird->fly();        // Output: The bird is flying.

File Handling

  • Example 1: Reading from a file:
   $file = fopen("data.txt", "r");
   while (!feof($file)) {
       $line = fgets($file);
       echo $line;
   }
   fclose($file);
  • Example 2: Writing to a file:
   $file = fopen("data.txt", "w");
   fwrite($file, "Hello, World!");
   fclose($file);
  • Example 3: Appending to a file:
   $file = fopen("data.txt", "a");
   fwrite($file, "New content");
   fclose($file);
  • Example 4: Checking if a file exists:
   if (file_exists("data.txt")) {
       echo "File exists.";
   } else {
       echo "File does not exist.";
   }
  • Example 5: Deleting a file:
   unlink("data.txt");

Database Connection (MySQL)

  1. Connecting to the database:
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
  1. Selecting all users from the “users” table:
try {
    $stmt = $conn->query("SELECT * FROM users");
    $users = $stmt->fetchAll(PDO::FETCH_ASSOC);

    foreach ($users as $user) {
        echo "ID: " . $user['id'] . " - Name: " . $user['name'] . " - Age: " . $user['age'] . " - City: " . $user['city'] . " - Salary: " . $user['salary'] . "<br>";
    }
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}
  1. Deleting a user from the “users” table:
try {
    $id = 1;

    $stmt = $conn->prepare("DELETE FROM users WHERE id = :id");
    $stmt->bindParam(':id', $id);
    $stmt->execute();

    echo "User deleted successfully";
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}
  1. Adding a new user to the “users” table:
try {
    $name = "John Doe";
    $age = 25;
    $city = "New York";
    $salary = 5000;

    $stmt = $conn->prepare("INSERT INTO users (name, age, city, salary) VALUES (:name, :age, :city, :salary)");
    $stmt->bindParam(':name', $name);
    $stmt->bindParam(':age', $age);
    $stmt->bindParam(':city', $city);
    $stmt->bindParam(':salary', $salary);
    $stmt->execute();

    echo "New user added successfully";
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}
  1. Fetching a single user from the “users” table:
try {
    $id = 1;

    $stmt = $conn->prepare("SELECT * FROM users WHERE id = :id");
    $stmt->bindParam(':id', $id);
    $stmt->execute();

    $user = $stmt->fetch(PDO::FETCH_ASSOC);

    if ($user) {
        echo "ID: " . $user['id'] . " - Name: " . $user['name'] . " - Age: " . $user['age'] . " - City: " . $user['city'] . " - Salary: " . $user['salary'];
    } else {
        echo "User not found";
    }
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}

Remember to replace “your_username”, “your_password”, and “your_database” with your actual MySQL credentials and database name. Additionally, ensure that PDO extension is enabled in your PHP configuration.

Go Lang Crash Course

Basics of Go

  • Variables and Constants:
package main

import "fmt"

func main() {
    var message string = "Hello, Go!"
    fmt.Println(message)

    const pi = 3.14159
    fmt.Println(pi)
}
  • Data Types and Type Conversion:
package main

import "fmt"

func main() {
    var age int = 25
    fmt.Println(age)

    var price float64 = 9.99
    fmt.Println(price)

    var isTrue bool = true
    fmt.Println(isTrue)

    var name string = "John"
    fmt.Println(name)

    // Type conversion
    var num int = 42
    var result float64 = float64(num)
    fmt.Println(result)
}

Operators

package main

import "fmt"

func main() {
    var a = 10
    var b = 5

    fmt.Println(a + b)
    fmt.Println(a - b)
    fmt.Println(a * b)
    fmt.Println(a / b)
    fmt.Println(a % b)

    var isTrue = true
    fmt.Println(!isTrue)
}

Control Structures: if-else and switch:

package main

import "fmt"

func main() {
    var num = 5

    if num > 0 {
        fmt.Println("Number is positive")
    } else if num < 0 {
        fmt.Println("Number is negative")
    } else {
        fmt.Println("Number is zero")
    }

    var day = "Monday"

    switch day {
    case "Monday":
        fmt.Println("It's Monday")
    case "Tuesday":
        fmt.Println("It's Tuesday")
    default:
        fmt.Println("It's another day")
    }
}

Loops: for and range

package main

import "fmt"

func main() {
    // For loop
    for i := 1; i <= 5; i++ {
        fmt.Println(i)
    }

    // Range loop
    nums := []int{1, 2, 3, 4, 5}
    for index, value := range nums {
        fmt.Println(index, value)
    }
}

Functions in Go

  • Simple Function:
package main

import "fmt"

func add(a, b int) int {
    return a + b
}

func main() {
    result := add(3, 5)
    fmt.Println(result)
}
  • Function with Multiple Return Values:
package main

import "fmt"

func divide(a, b int) (int, int) {
    quotient := a / b
    remainder := a % b
    return quotient, remainder
}

func main() {
    q, r := divide(10, 3)
    fmt.Println("Quotient:", q)
    fmt.Println("Remainder:", r)
}
  • Variadic Function:
package main

import "fmt"

func sum(numbers ...int) int {
    total := 0
    for _, num := range numbers {
        total += num
    }
    return total
}

func main() {
    result := sum(1, 2, 3, 4, 5)
    fmt.Println(result)
}
  • Anonymous Functions and Closures:
package main

import "fmt"

func main() {
    add := func(a, b int) int {
        return a + b


 }

    result := add(3, 5)
    fmt.Println(result)
}
  • Recursion:
package main

import "fmt"

func factorial(n int) int {
    if n == 0 {
        return 1
    }
    return n * factorial(n-1)
}

func main() {
    result := factorial(5)
    fmt.Println(result)
}

Arrays, Slices, and Maps in Go

  • Arrays:
package main

import "fmt"

func main() {
    var numbers [5]int
    numbers[0] = 1
    numbers[1] = 2
    numbers[2] = 3
    numbers[3] = 4
    numbers[4] = 5
    fmt.Println(numbers)

    var matrix [3][3]int
    matrix[0] = [3]int{1, 2, 3}
    matrix[1] = [3]int{4, 5, 6}
    matrix[2] = [3]int{7, 8, 9}
    fmt.Println(matrix)
}
  • Slices:
package main

import "fmt"

func main() {
    numbers := []int{1, 2, 3, 4, 5}
    fmt.Println(numbers)

    fmt.Println(numbers[1:4]) // Slicing a slice

    numbers = append(numbers, 6) // Appending an element
    fmt.Println(numbers)

    numbers = append(numbers[:2], numbers[3:]...) // Removing an element
    fmt.Println(numbers)
}
  • Maps:
package main

import "fmt"

func main() {
    person := map[string]string{
        "name":  "John",
        "age":   "30",
        "email": "john@example.com",
    }
    fmt.Println(person)

    fmt.Println(person["name"])

    person["city"] = "New York" // Adding a new key-value pair
    fmt.Println(person)

    delete(person, "age") // Removing a key-value pair
    fmt.Println(person)
}
  • Iterating over Slices and Maps:
package main

import "fmt"

func main() {
    numbers := []int{1, 2, 3, 4, 5}
    for index, value := range numbers {
        fmt.Println(index, value)
    }

    person := map[string]string{
        "name":  "John",
        "age":   "30",
        "email": "john@example.com",
    }
    for key, value := range person {
        fmt.Println(key, ":", value)
    }
}

Structs and Methods in Go

  • Structs:
package main

import "fmt"

type Person struct {
    name    string
    age     int
    address string
}

func main() {
    person := Person{"John", 30, "New York"}
    fmt.Println(person)

    fmt.Println(person.name)
    fmt.Println(person.age)
    fmt.Println(person.address)
}
  • Methods:
package main

import "fmt"

type Rectangle struct {
    width  float64
    height float64
}

func (r Rectangle) area() float64 {
    return r.width * r.height
}

func main() {
    rect := Rectangle{3.0, 4.0}
    fmt.Println(rect.area())
}

Packages and Error Handling in Go

  • Packages:
package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Println(math

.Sqrt(16))
}
  • Error Handling with error Type:
package main

import (
    "fmt"
    "math"
)

func calculateSqrt(num float64) (float64, error) {
    if num < 0 {
        return 0, fmt.Errorf("Cannot calculate square root of a negative number")
    }
    return math.Sqrt(num), nil
}

func main() {
    result, err := calculateSqrt(-9)
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(result)
    }
}
  • Custom Error Types:
package main

import (
    "fmt"
    "math"
)

type NegativeNumberError struct {
    number float64
}

func (e NegativeNumberError) Error() string {
    return fmt.Sprintf("Cannot calculate square root of a negative number: %f", e.number)
}

func calculateSqrt(num float64) (float64, error) {
    if num < 0 {
        return 0, NegativeNumberError{num}
    }
    return math.Sqrt(num), nil
}

func main() {
    result, err := calculateSqrt(-9)
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(result)
    }
}

Database Connection

  1. Installing and Importing Dependencies:
package main

import (
    "database/sql"
    "fmt"

    _ "github.com/go-sql-driver/mysql"
)
  1. Establishing a Database Connection:
func main() {
    // Database connection parameters
    db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/database_name")
    if err != nil {
        panic(err)
    }
    defer db.Close()

    // Check if the connection is successful
    err = db.Ping()
    if err != nil {
        panic(err)
    }

    fmt.Println("Connected to the database!")
}
  1. Creating the “users” Table:
func main() {
    db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/database_name")
    if err != nil {
        panic(err)
    }
    defer db.Close()

    createTableQuery := `
        CREATE TABLE IF NOT EXISTS users (
            id INT AUTO_INCREMENT PRIMARY KEY,
            name VARCHAR(50) NOT NULL,
            age INT,
            city VARCHAR(50),
            salary FLOAT,
            added_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
        );
    `

    _, err = db.Exec(createTableQuery)
    if err != nil {
        panic(err)
    }

    fmt.Println("Table 'users' created successfully!")
}
  1. Inserting Data into the “users” Table:
func main() {
    db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/database_name")
    if err != nil {
        panic(err)
    }
    defer db.Close()

    insertQuery := `
        INSERT INTO users (name, age, city, salary)
        VALUES (?, ?, ?, ?);
    `

    result, err := db.Exec(insertQuery, "John Doe", 30, "New York", 5000.0)
    if err != nil {
        panic(err)
    }

    lastInsertID, err := result.LastInsertId()
    if err != nil {
        panic(err)
    }

    fmt.Println("Inserted record ID:", lastInsertID)
}
  1. Querying Data from the “users” Table:
func main() {
    db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/database_name")
    if err != nil {
        panic(err)
    }
    defer db.Close()

    selectQuery := `
        SELECT id, name, age, city, salary, added_at, updated_at
        FROM users;
    `

    rows, err := db.Query(selectQuery)
    if err != nil {
        panic(err)
    }
    defer rows.Close()

    for rows.Next() {
        var id int
        var name string
        var age int
        var city string
        var salary float64
        var addedAt string
        var updatedAt string

        err := rows.Scan(&id, &name, &age, &city, &salary, &addedAt, &updatedAt)
        if err != nil {
            panic(err)
        }

        fmt.Println("ID:", id)
        fmt.Println("Name:", name)
        fmt.Println("Age:", age)
        fmt.Println("City:", city)
        fmt.Println("Salary:", salary)
        fmt.Println("Added At:", addedAt)
        fmt

.Println("Updated At:", updatedAt)
        fmt.Println()
    }
}

Go and Gin Framework

  1. Retrieving All Users:
func main() {
    router := gin.Default()

    // ...

    router.GET("/users", func(c *gin.Context) {
        selectQuery := `
            SELECT id, name, age, city, salary, added_at, updated_at
            FROM users;
        `

        rows, err := db.Query(selectQuery)
        if err != nil {
            c.JSON(500, gin.H{"error": err.Error()})
            return
        }
        defer rows.Close()

        users := []gin.H{}
        for rows.Next() {
            var id int
            var name string
            var age int
            var city string
            var salary float64
            var addedAt string
            var updatedAt string

            err := rows.Scan(&id, &name, &age, &city, &salary, &addedAt, &updatedAt)
            if err != nil {
                c.JSON(500, gin.H{"error": err.Error()})
                return
            }

            user := gin.H{
                "id":        id,
                "name":      name,
                "age":       age,
                "city":      city,
                "salary":    salary,
                "added_at":  addedAt,
                "updated_at": updatedAt,
            }

            users = append(users, user)
        }

        c.JSON(200, users)
    })

    // ...

    router.Run(":8080")
}
  1. Deleting a User:
func main() {
    router := gin.Default()

    // ...

    router.DELETE("/users/:id", func(c *gin.Context) {
        id := c.Param("id")

        deleteQuery := `
            DELETE FROM users
            WHERE id = ?;
        `

        result, err := db.Exec(deleteQuery, id)
        if err != nil {
            c.JSON(500, gin.H{"error": err.Error()})
            return
        }

        rowsAffected, err := result.RowsAffected()
        if err != nil {
            c.JSON(500, gin.H{"error": err.Error()})
            return
        }

        if rowsAffected == 0 {
            c.JSON(404, gin.H{"message": fmt.Sprintf("User with ID %s not found", id)})
        } else {
            c.JSON(200, gin.H{"message": fmt.Sprintf("User with ID %s deleted", id)})
        }
    })

    // ...

    router.Run(":8080")
}
  1. Adding a New User:
func main() {
    router := gin.Default()

    // ...

    router.POST("/users", func(c *gin.Context) {
        var user struct {
            Name   string  `json:"name"`
            Age    int     `json:"age"`
            City   string  `json:"city"`
            Salary float64 `json:"salary"`
        }

        if err := c.ShouldBindJSON(&user); err != nil {
            c.JSON(400, gin.H{"error": err.Error()})
            return
        }

        insertQuery := `
            INSERT INTO users (name, age, city, salary)
            VALUES (?, ?, ?, ?);
        `

        result, err := db.Exec(insertQuery, user.Name, user.Age, user.City, user.Salary)
        if err != nil {
            c.JSON(500, gin.H{"error": err.Error()})
            return
        }

        lastInsertID, err := result.LastInsertId()
        if err != nil {
            c

.JSON(500, gin.H{"error": err.Error()})
            return
        }

        c.JSON(201, gin.H{"message": fmt.Sprintf("User created with ID %d", lastInsertID)})
    })

    // ...

    router.Run(":8080")
}
  1. Fetching a Single User:
func main() {
    router := gin.Default()

    // ...

    router.GET("/users/:id", func(c *gin.Context) {
        id := c.Param("id")

        selectQuery := `
            SELECT id, name, age, city, salary, added_at, updated_at
            FROM users
            WHERE id = ?;
        `

        row := db.QueryRow(selectQuery, id)

        var user struct {
            ID        int     `json:"id"`
            Name      string  `json:"name"`
            Age       int     `json:"age"`
            City      string  `json:"city"`
            Salary    float64 `json:"salary"`
            AddedAt   string  `json:"added_at"`
            UpdatedAt string  `json:"updated_at"`
        }

        err := row.Scan(&user.ID, &user.Name, &user.Age, &user.City, &user.Salary, &user.AddedAt, &user.UpdatedAt)
        if err != nil {
            c.JSON(500, gin.H{"error": err.Error()})
            return
        }

        c.JSON(200, user)
    })

    // ...

    router.Run(":8080")
}
  1. Updating an Existing User:
func main() {
    router := gin.Default()

    // ...

    router.PUT("/users/:id", func(c *gin.Context) {
        id := c.Param("id")

        var user struct {
            Name   string  `json:"name"`
            Age    int     `json:"age"`
            City   string  `json:"city"`
            Salary float64 `json:"salary"`
        }

        if err := c.ShouldBindJSON(&user); err != nil {
            c.JSON(400, gin.H{"error": err.Error()})
            return
        }

        updateQuery := `
            UPDATE users
            SET name = ?, age = ?, city = ?, salary = ?
            WHERE id = ?;
        `

        result, err := db.Exec(updateQuery, user.Name, user.Age, user.City, user.Salary, id)
        if err != nil {
            c.JSON(500, gin.H{"error": err.Error()})
            return
        }

        rowsAffected, err := result.RowsAffected()
        if err != nil {
            c.JSON(500, gin.H{"error": err.Error()})
            return
        }

        if rowsAffected == 0 {
            c.JSON(404, gin.H{"message": fmt.Sprintf("User with ID %s not found", id)})
        } else {
            c.JSON(200, gin.H{"message": fmt.Sprintf("User with ID %s updated", id)})
        }
    })

    // ...

    router.Run(":8080")
}

Please make sure to replace "username", "password", and "database_name" with your actual MySQL database credentials and database name.

Python Crash Course

Certainly! Here are ten examples for each of the topics you mentioned:

BASICS

  1. Basics:
    Example 1: Printing a message
   print("Hello, World!")

Example 2: Arithmetic operations

   a = 10
   b = 5
   print("Addition:", a + b)
   print("Subtraction:", a - b)
   print("Multiplication:", a * b)
   print("Division:", a / b)
   print("Modulo:", a % b)

Example 3: String concatenation

   name = "Alice"
   age = 25
   print("My name is " + name + " and I am " + str(age) + " years old.")

Example 4: Using the input function

   name = input("Enter your name: ")
   print("Hello, " + name + "!")

Example 5: Conditional statements

   num = int(input("Enter a number: "))
   if num > 0:
       print("The number is positive.")
   elif num < 0:
       print("The number is negative.")
   else:
       print("The number is zero.")

Example 6: Working with loops (for loop)

   for i in range(5):
       print(i)

Example 7: Working with loops (while loop)

   count = 0
   while count < 5:
       print(count)
       count += 1

Example 8: Using the len() function

   text = "Hello, World!"
   print("Length:", len(text))

Example 9: Using the str() function

   num = 42
   text = "The answer is: " + str(num)
   print(text)

Example 10: Importing and using modules

   import math

   radius = 5
   area = math.pi * radius ** 2
   print("Area of the circle:", area)

CONDITIONAL STATEMENTS IF ELSE

  1. If-Else Statements:
    Example 1: Checking if a number is even or odd
   num = int(input("Enter a number: "))
   if num % 2 == 0:
       print("The number is even.")
   else:
       print("The number is odd.")

Example 2: Checking if a year is a leap year

   year = int(input("Enter a year: "))
   if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
       print("The year is a leap year.")
   else:
       print("The year is not a leap year.")

Example 3: Determining the maximum of three numbers

   num1 = float(input("Enter the first number: "))
   num2 = float(input("Enter the second number: "))
   num3 = float(input("Enter the third number: "))
   max_num = max(num1, num2, num3)
   print("The maximum number is:", max_num)

Example 4: Checking if a student passed or failed

   score = float(input("Enter the student's score: "))
   if score >= 60:
       print("The student passed.")
   else:
       print("The student failed.")

Example 5

: Categorizing a number into different ranges

   num = float(input("Enter a number: "))
   if num < 0:
       print("The number is negative.")
   elif num >= 0 and num <= 10:
       print("The number is between 0 and 10.")
   elif num > 10 and num <= 20:
       print("The number is between 10 and 20.")
   else:
       print("The number is greater than 20.")

Example 6: Checking if a person is eligible to vote

   age = int(input("Enter your age: "))
   if age >= 18:
       print("You are eligible to vote.")
   else:
       print("You are not eligible to vote yet.")

Example 7: Checking if a number is positive, negative, or zero (alternative approach)

   num = float(input("Enter a number: "))
   if num > 0:
       print("The number is positive.")
   elif num < 0:
       print("The number is negative.")
   else:
       print("The number is zero.")

Example 8: Checking if a character is a vowel or consonant

   char = input("Enter a character: ").lower()
   if char in ['a', 'e', 'i', 'o', 'u']:
       print("The character is a vowel.")
   else:
       print("The character is a consonant.")

Example 9: Checking if a number is a multiple of another number

   num1 = int(input("Enter the first number: "))
   num2 = int(input("Enter the second number: "))
   if num1 % num2 == 0:
       print(num1, "is a multiple of", num2)
   else:
       print(num1, "is not a multiple of", num2)

Example 10: Checking if a year is a leap year (alternative approach)

   year = int(input("Enter a year: "))
   if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
       print("The year is a leap year.")
   else:
       print("The year is not a leap year.")

For loop with range

  1. Printing numbers from 0 to 9:
for i in range(10):
    print(i)
  1. Printing even numbers from 2 to 10:
for i in range(2, 11, 2):
    print(i)
  1. Calculating the sum of numbers from 1 to 100:
total = 0
for i in range(1, 101):
    total += i
print("Sum:", total)
  1. Printing numbers in reverse order from 9 to 0:
for i in range(9, -1, -1):
    print(i)
  1. Multiplying each number in the range by 2 and printing the result:
for i in range(10):
    result = i * 2
    print(result)
  1. Printing the square of each number in the range from 1 to 5:
for i in range(1, 6):
    square = i ** 2
    print(square)
  1. Printing numbers in increments of 5 from 0 to 50:
for i in range(0, 51, 5):
    print(i)
  1. Checking if a number is divisible by 3 in the range from 1 to 20:
for i in range(1, 21):
    if i % 3 == 0:
        print(i, "is divisible by 3")
  1. Printing the ASCII value of each character in a string:
text = "Hello"
for char in text:
    ascii_value = ord(char)
    print(char, ":", ascii_value)
  1. Repeating a specific action a certain number of times using range:
for _ in range(5):
    print("Hello, world!")

LIST

  1. List:
    Example 1: Accessing list elements
   fruits = ["apple", "banana", "orange", "grape", "mango"]
   print(fruits[0])  # "apple"
   print(fruits[2])  # "orange"

Example 2: Modifying list elements

   numbers = [1, 2, 3, 4, 5]
   numbers[2] = 10
   print(numbers)  # [1, 2, 10, 4, 5]

Example 3: Appending elements to a list

   numbers = [1, 2, 3]
   numbers.append(4)
   print(numbers)  # [1, 2, 3, 4]

Example 4: Removing elements from a list

   fruits = ["apple", "banana", "orange", "grape"]
   fruits.remove("banana")
   print(fruits)  # ["apple", "orange", "grape"]

Example 5: Slicing a list

   numbers = [1, 2, 3, 4, 5]
   print(numbers[1:4])  # [2, 3, 4]

Example 6: Checking if an element exists in a list

   fruits = ["apple", "banana", "orange", "grape"]
   if "banana" in fruits:
       print("Banana is in the list.")

Example 7: Counting occurrences of an element in a list

   numbers = [1, 2, 3, 1, 2, 1, 4, 1]
   count = numbers.count(1)
   print("Number of occurrences:", count)

Example 8: Sorting a list

   numbers = [5, 3, 1, 4, 2]
   numbers.sort()
   print(numbers)  # [1, 2, 3, 4, 5]

Example 9: Reversing a list

   fruits = ["apple", "banana", "orange", "grape"]
   fruits.reverse()
   print(fruits)  # ["grape", "orange", "banana", "apple"]

Example 10: Combining two lists

   list1 = [1, 2, 3]
   list2 = [4, 5, 6]
   combined_list = list1 + list2
   print(combined_list)  # [1, 2, 3, 4, 5, 6]

DICTIONARY

  1. Example 1: Accessing dictionary values
   student = {"name": "Alice", "age": 20, "grade": "A"}
   print(student["name"])  # "Alice"
   print(student["age"])   # 20

Example 2: Adding new key-value pairs to a dictionary

   student = {"name": "Alice", "age": 20}
   student["grade"] = "A"
   print(student)  # {"name": "Alice", "age": 20, "grade": "A"}

Example 3: Modifying dictionary values

   student = {"name": "Alice", "age": 20, "grade": "A"}
   student["age"] = 21
   print(student)  # {"name": "Alice", "age": 21, "grade": "A"}

Example 4: Checking if a key exists in a dictionary

   student = {"name": "Alice", "age": 20, "grade": "A"}
   if "age" in student:
       print("Age:", student["age"])  # Age: 20

Example 5: Removing a key-value pair from a dictionary

   student = {"name": "Alice", "age": 20, "grade": "A"}
   del student["grade"]
   print(student)  # {"name": "Alice", "age": 20}

Example 6: Getting all keys from a dictionary

   student = {"name": "Alice", "age": 20, "grade": "A"}
   keys = student.keys()
   print(keys)  # ["name", "age", "grade"]

Example 7: Getting all values from a dictionary

   student = {"name": "Alice", "age": 20, "grade": "A"}
   values = student.values()
   print(values)  # ["Alice", 20, "A"]

Example 8: Checking the length of a dictionary

   student = {"name": "Alice", "age": 20, "grade": "A"}
   length = len(student)
   print("Length:", length)  # Length: 3

Example 9: Clearing a dictionary

   student = {"name": "Alice", "age": 20, "grade": "A"}
   student.clear()
   print(student)  # {}

Example 10: Copying a dictionary

   student = {"name": "Alice", "age": 20, "grade": "A"}
   student_copy = student.copy()
   print(student_copy)  # {"name": "Alice", "age": 20, "grade": "A"}

LIST OF DICTIONARIES

employees = [
    {"name": "John", "age": 32, "department": "HR", "salary": 50000},
    {"name": "Emily", "age": 28, "department": "IT", "salary": 60000},
    {"name": "Michael", "age": 35, "department": "Finance", "salary": 70000},
    {"name": "Sophia", "age": 29, "department": "Sales", "salary": 55000},
    {"name": "Daniel", "age": 31, "department": "IT", "salary": 62000},
    {"name": "Olivia", "age": 27, "department": "HR", "salary": 48000},
    {"name": "William", "age": 33, "department": "Finance", "salary": 75000},
    {"name": "Ava", "age": 30, "department": "Sales", "salary": 58000},
    {"name": "James", "age": 34, "department": "IT", "salary": 65000},
    {"name": "Emma", "age": 26, "department": "HR", "salary": 52000}
]

Now, let’s provide 10 examples using the same list of employees:

  1. Accessing values in the list:
print(employees[0]["name"])     # Output: "John"
print(employees[3]["age"])      # Output: 29
  1. Modifying a value in the list:
employees[2]["salary"] = 72000
print(employees[2])             # Output: {'name': 'Michael', 'age': 35, 'department': 'Finance', 'salary': 72000}
  1. Adding a new key-value pair to a dictionary:
employees[1]["position"] = "Senior Software Engineer"
print(employees[1])             # Output: {'name': 'Emily', 'age': 28, 'department': 'IT', 'salary': 60000, 'position': 'Senior Software Engineer'}
  1. Removing a key-value pair from a dictionary:
del employees[4]["age"]
print(employees[4])             # Output: {'name': 'Daniel', 'department': 'IT', 'salary': 62000}
  1. Counting the number of dictionaries in the list:
count = len(employees)
print("Number of employees:", count)   # Output: Number of employees: 10
  1. Calculating the average age of all employees:
total_salary = 0
num_employees = len(employees)

for employee in employees:
    total_salary += employee["salary"]

average_salary = total_salary / num_employees

print("Average salary:", average_salary)
  1. Finding the employee with the highest salary:
max_salary = 0
employee_with_max_salary = None

for employee in employees:
    if employee["salary"] > max_salary:
        max_salary = employee["salary"]
        employee_with_max_salary = employee

print("Employee with the highest salary:")
print("Name:", employee_with_max_salary["name"])
print("Salary:", employee_with_max_salary["salary"])
  1. Finding all employees having highest salary:
max_salary = 0
employees_with_max_salary = []

for employee in employees:
    if employee["salary"] > max_salary:
        max_salary = employee["salary"]
        employees_with_max_salary = [employee]
    elif employee["salary"] == max_salary:
        employees_with_max_salary.append(employee)

print("Employees with the highest salary:")
for employee in employees_with_max_salary:
    print("Name:", employee["name"])
    print("Salary:", employee["salary"])
    print()
  1. Calculating total, average, highest and lowest salaries all employees:
total_salary = 0
highest_salary = float("-inf")
lowest_salary = float("inf")

for employee in employees:
    salary = employee["salary"]
    total_salary += salary

    if salary > highest_salary:
        highest_salary = salary

    if salary < lowest_salary:
        lowest_salary = salary

average_salary = total_salary / len(employees)

print("Total Salary:", total_salary)
print("Highest Salary:", highest_salary)
print("Lowest Salary:", lowest_salary)
print("Average Salary:", average_salary)
  1. Print all employees using PrettyTable:
# Print all employees
all_employees_table = PrettyTable(["Name", "Department", "Salary"])
for employee in employees:
    all_employees_table.add_row([employee["name"], employee["department"], employee["salary"]])
all_employees_table.title = "All Employees"
print(all_employees_table)

Mini Project

Print department wise highest salaried employees

Expected output

Demo

Basic

  1. WAP to read 2 numbers and print addition
  2. WAP to read 2 numbers and print subtraction
  3. WAP to read 2 numbers and print multiplication
  4. WAP to read 2 numbers and print division
  5. WAP to read 2 numbers and print modulus (Remainder)
  6. WAP to read radius and print area and circumference of circle
  7. WAP to read length and breadth and print area and perimeter of rectangle

Conditional Statement (if else)

  1. WAP to read a number and check if its positive or negative
  2. WAP to read a number and check it is even or odd
  3. WAP to read 2 numbers and find greatest among them
  4. WAP to read 3 numbers and find greatest among them
  5. WAP to read marks of 5 subjects and check the student is pass or failed
    1. add validation for marks less than 0
    2. add validation for marks greater than 100

Loops

  1. WAP to print hello world 10 times with numbering
  2. WAP to print square of numbers from 1 to 10
  3. WAP to print numbers from 1 to given number
  4. WAP to print cube of numbers from 1 to given number
  5. WAP to read a number and print table of that number
  6. WAP to execute Fizz Buzz Problem / Print number 1 to 100
    1. if number is divisible by 3 then print Fizz
    2. if number is divisible by 5 then print Buzz
    3. if number is divisible by both 3 and 5 then print Fizz Buzz
  7. WAP to execute lift program of 20 floor
    1. print number with delay of 1 sec (use time module’s sleep method)
    2. skip 13 number
    3. break after printing 13
  8. WAP to create random jackpot number and take input from user to guess the number. Based on level the attempt to guess the number should change
    1. Easy – 20 attempts
    2. Medium – 10 attempts
    3. Difficult – 5 attempts

Interview Questions

  1. What is the difference between html and html5
  2. Tag name available in html5
  3. What is javascript
  4. What is ajax and its benefits
  5. what is the different type of request available in ajax
  6. what is jquery and its benefits
  7. Main difference between javascript and jquery
  8. Event in jquery
  9. example of jquery event
  10. what is difference between CSS and CSS3
  11. what is media query in CSS
  12. What is bootstrap
  13. what is grid system in bootstrap
  14. What is JSON
  15. What is API
  16. What is PHP
  17. what is variable in PHP
  18. what types of variable available in PHP
  19. what is array in PHP
  20. how many types of array available in PHP
  21. difference between associative array and multidimentional array
  22. Difference between library function and user defined function in php
  23. Give me example of library function
  24. Difference between sessions and cookies
  25. What is difference between get and post method
  26. What is database
  27. What is table
  28. What is database MYSQL queries
  29. Type of relationship available in MYSQL
  30. Which datatype is use to store image in table
  31. What is OOPS
  32. Difference between classes and objects
  33. What is the different type array function in PHP
  34. Difference between concat() and array_push()
  35. Difference between constructor() and destructor()
  36. Types of error available in PHP
  37. Difference between library file and helper file
  38. Give me any three datatype of date and time
  39. What is blob in MYSQL
  40. Difference between RDBMS and DBMS
  41. Difference between string datatype and varchar datatype
  42. Difference between text datatype and String datatype
  43. What is datatype in MYSQL
  44. What are the meaning of classes and objects
  45. Difference between argument and parameter
  46. difference between cookies and local storage
  47. what is the difference between session storage and local storage
  48. Difference between notice error and warning error
  49. What is the library
  50. Difference between authentication and authorization
  51. What is MVC
  52. What is polymorphism
  53. Difference between Primary key and foreign key
  54. What is the full form of DOM and give its types
  55. Can table have more than one primary key

Interceptor

index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import axios from 'axios';
// Add a request interceptor
axios.interceptors.request.use(
  config => {
    console.log("inside interceptor request", config)

    const token = "TOKEN FROM INTERCEPTORS"
    if (token) {
      console.log("INSIDE request use")
      config.headers['Authorization'] = 'Bearer ' + token
    }
    
    return config
  },
  error => {
    Promise.reject(error)
  }
)


axios.interceptors.response.use(
  config => {
    console.log("inside interceptor response", config)
    return config
  },
  error => {
    Promise.reject(error)
  }
)



const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

reportWebVitals();

App.js

import logo from './logo.svg';
import './App.css';
import { useEffect } from 'react';
import axios from 'axios';

function App() {

  useEffect(()=> {

    axios({
      method: 'get',
      url: 'http://localhost:1234/webservice.php'
    })
      .then(function (response) {
        console.log(response)
      });
    
  }, [])

  return (
    <>
    This is App component
    </>
  );
}

export default App;

webservice.php

<?php

header("Access-Control-Allow-Origin: *");

// echo "<pre>";
// print_r($_SERVER);

echo json_encode(["test" => "Hello world...."]);

Redux

npm install react react-redux @reduxjs/toolkit

main.jsx

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import App from './App.jsx'
import { Provider } from 'react-redux'
import store from './store.js'

createRoot(document.getElementById('root')).render(
  <StrictMode>
    <Provider store={store}> {/* Wrap your App inside Provider */}
    <App />
    </Provider>
  </StrictMode>,
)

store.jsx

import { configureStore } from "@reduxjs/toolkit";

const initialState = { count: 0 };

const counterReducer = (state = initialState, action) => {
  switch (action.type) {
    case "INCREMENT":
      return { count: state.count + 1 };
    case "DECREMENT":
      return { count: state.count - 1 };
    default:
      return state;
  }
};

const store = configureStore({
  reducer: counterReducer,
});

export default store;

App.jsx

import { useSelector, useDispatch } from "react-redux";

function App() {
  const count = useSelector(state => state.count); // Get state from Redux store
  const dispatch = useDispatch(); // Get dispatch function

  return (
    <>
      <button onClick={() => dispatch({ type: "INCREMENT" })}>+</button>
      <button onClick={() => dispatch({ type: "DECREMENT" })}>-</button>
      <h1>{count}</h1>
    </>
  );
}

export default App;

src/store.js

import { combineReducers, configureStore } from "@reduxjs/toolkit";

const initial_state = { userid: 1, emailid: "admin@nstest.com" }

const adminreducer = (state = initial_state, {type, payload}) => {

  if(type == "SET_VAL") {
    console.log("INSIDE SET_VAL case")
    return {...state, emailid : payload.emailid }
  }

  return state
}

const userreducer = (state = { payload: {} }, {type, payload}) => {

    if(type == "SET_USER_VAL") {
      console.log("INSIDE SET_USER_VAL case")
      return {...state, payload : payload }
    }
  
    return state
  }


const reducer = combineReducers({adminreducer, userreducer})

const store = configureStore({reducer})

export default store;

src/index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import store from './store';
import { Provider } from 'react-redux';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <Provider store={store}>
    <App />
    </Provider>
  </React.StrictMode>
);

reportWebVitals();

src/App.js

import { useEffect } from "react";
import { useDispatch, useSelector } from "react-redux";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import Admin from "./components/Admin";
import Contact from "./components/Contact";
import Home from "./components/Home";
import Layout from "./components/Layout";
import User from "./components/User";

function App() {

  const mystate = useSelector((state) => state)

  return (
    <div>
      This is app component <br />
      {mystate.payload}
      <Contact />
      <BrowserRouter>
        <Routes>
          <Route path="/" element={ <Layout />}>

            <Route index element={ <Home /> } />
            <Route path="admin" element={ <Admin /> } />
            <Route path="user" element={ <User /> } />

          </Route>
        </Routes>
      </BrowserRouter>
    </div>
  );
}

export default App;

src/components/Admin.js

import React, { useEffect } from 'react'
import { useDispatch } from 'react-redux'

export default function Admin() {

    const dispatch = useDispatch()

    useEffect(() => {
        console.log("Hello dispatcher...")
        dispatch({ type : "SET_VAL", payload: { "emailid" : "admin@devtest.com"} })
    }, [])

  return (
    <div>Admin</div>
  )
}

src/component/User.js

import React, { useEffect } from 'react'
import { useDispatch } from 'react-redux'

export default function User() {

    const dispatcher = useDispatch()

    useEffect(() => {
        console.log("Inside user use effect")

        dispatcher({ 
          "type" : "SET_USER_VAL", 
          payload : { emailid : "user@devtest.com", time: new Date().toJSON().slice(0, 10) }
        })

    }, [])

  return (
    <div>User</div>
  )
}

Setter and Getter for Redux

store.js

import { combineReducers, configureStore } from "@reduxjs/toolkit";

const appdata = (state = {}, {type, payload}) => {

  if(type == "SET_APP_DATA") {
    return {...state, [payload[0]]: payload[1] }
  }

  if(type == "DELETE_APP_DATA") {
    return {...state, [payload]: undefined }
  }

  return state
}

const reducer = combineReducers({appdata})
const store = configureStore({reducer})

export const setRedux = (key, val) => {
  store.dispatch({ type : "SET_APP_DATA", "payload": [key, val] })
}

export const getRedux = (key = undefined) => {
  return store.getState().appdata[key]
}

export const removeRedux = (key = undefined) => {
  store.dispatch({ type : "DELETE_APP_DATA", "payload": key })
}


export default store;

In component

setRedux("username", "admin")
setRedux("email", "admin@nstest.com")
setRedux("phoneno", "9876543210")

getRedux("email")
getRedux("name")

removeRedux("email")

Routing

npm i react-router-dom 
npx create-react-app routingapp

App.js

import Home from './components/Home';
import Blogs from './components/Blogs';
import Contact from './components/Contact';
import NoPage from './components/NoPage';
import { BrowserRouter, Outlet, Route, Routes } from 'react-router-dom';
import Layout from './components/Layout';

function App() {
  return (
    <>
    <h1>HELLO WORLD</h1>
    <BrowserRouter>
      <Routes>
        <Route path="/admin" element={<Layout />}>
          <Route index element={<Home />} />
          <Route path="contact" element={<Contact />} />
          <Route path="*" element={<NoPage />} />
        </Route>
        <Route path="/user" element={<Layout />}>
          <Route index element={<Home />} />
          <Route path="contact" element={<Contact />} />
          <Route path="blogs" element={<Blogs />} />
          <Route path="test" element={<div>This is test component</div>} />
          <Route path="*" element={<NoPage />} />    
        </Route>
      </Routes>
    </BrowserRouter>
    </>

  );
}

export default App;

Layout.js

import { Outlet, Link } from "react-router-dom";

export default function Layout() {
  return (
    <>
      <nav>
        <ul>
          <li>
            <Link to="/">Home</Link>
          </li>
          <li>
            <Link to="/blogs">Blogs</Link>
          </li>
          <li>
            <Link to="/contact">Contact</Link>
          </li>
        </ul>
      </nav>
      <Outlet />
    </>
  )
}

Outlet is the block where router components get loaded

Datatable

listing.html

<!-- https://datatables.net/examples/server_side/simple.html -->
<!-- https://datatables.net/manual/ajax -->
<!-- https://datatables.net/manual/ajax#Column-data-points -->
<!-- https://stackoverflow.com/questions/64526856/how-to-add-edit-delete-buttons-in-each-row-of-datatable -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.12.1/css/jquery.dataTables.css">
  
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.2.0/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.12.1/css/dataTables.bootstrap5.min.css">

    <script type="text/javascript" charset="utf8" src="https://code.jquery.com/jquery-3.6.1.js"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.js"></script>
    <title>Document</title>
</head>
<body>
<table id="example" class="display table table-striped" style="width:100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Address</th>
                <th>Salary</th>
                <th>Action</th>
            </tr>
        </thead>
    </table>
</body>
<script>
    $(document).ready(function () {
    $('#example').DataTable({
        processing: true,
        serverSide: true,
        ajax: 'http://ciacloud.in/juhi/rems/get_employees.php',
        columns: [
            { data: 'name'},
            { data: 'address'},
            { data: 'salary'},
            { 
                data: 'id',
                render: (data,type,row) => {
                    console.log({data,type,row})
                   return `<a href='edit_form.php?id=${data}'>Edit</a> | <a href='delete.php?id=${data}'>Delete</a>`;
                 }
            }
        ],
        columnDefs: [
            { orderable: false, targets: -1 },
            {
                "defaultContent": "-",
                "targets": "_all"
            }],
            order: [0,1,2,3],
    });
});
</script>
</html>

get_employees.php

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$params = $_REQUEST;
header('Access-Control-Allow-Origin: *');

$search = isset($params['search']['value'])  && $params['search']['value'] != '' ? $params['search']['value'] : '';

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $where = '';

  if($search !== '')
	  $where = " name LIKE '$search%' ";
  else
	  $where = " 1 = 1 ";

  $sort_columns = ['name', 'address', 'salary'];
  $sort_column_index = $params['order'][0]['column'];
  $sort_order = isset($params['order'][0]['dir']) && $params['order'][0]['dir'] != 1 ? $params['order'][0]['dir'] : 'desc';

  $order_by = " $sort_columns[$sort_column_index] $sort_order";
	
  $offset = $params['start'];
  $limit = $params['length'];

  $sql = "SELECT * FROM employees WHERE $where ORDER BY $order_by LIMIT $offset, $limit";
  $stmt = $conn->prepare($sql);
  $stmt->execute();

  // set the resulting array to associative
  $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
  $employees = $stmt->fetchAll();

} catch(PDOException $e) {
  echo "Error: " . $e->getMessage();
}

$count_sql = "SELECT COUNT(*) FROM employees WHERE $where";
$result = $conn->prepare($count_sql); 
$result->execute(); 
$totalRecords = $result->fetchColumn(); 

$conn = null;


$json_data = array(
		"draw"            => intval( $params['draw'] ),
		"recordsTotal"    => intval( $totalRecords ),
		"recordsFiltered" => intval($totalRecords),
		"data"            => $employees,
		"count_sql"	=> $count_sql,
		"sql"		=> $sql,
	);

echo json_encode($json_data);