cover photo

COURSEWORK

DEEKSHITH's CL-CY-001 course work. Lv 1

DEEKSHITH AAUTHORACTIVE
work cover photo
This Report is yet to be approved by a Coordinator.

16 / 9 / 2025


Deekshith A | CSE | Batch 28’


TASK:API

Weather API CLI Tool

1. Introduction

In this task, I created a simple command-line tool in Python to fetch real-time weather information of a given city.
The program uses an external Weather API and displays details like temperature, weather condition, and wind speed.

2. API Used

  • I used the WeatherAPI.com service: https://www.weatherapi.com
  • The API requires a key for authentication.
  • Data is returned in JSON format, which the program parses to extract useful information.

3. Working of the CLI Tool

  1. The user enters the city name as an argument when running the script.
  2. The tool sends an HTTP request to the WeatherAPI service.
  3. The API responds with the current weather information.
  4. The program prints details like:
    • Location and country
    • Temperature in Celsius
    • Weather condition (e.g., clear, cloudy)
    • Wind speed

4. Example Code Snippet

parser = argparse.ArgumentParser(description="Simple Weather CLI Tool")
parser.add_argument("--city", required=True, help="City name")
args = parser.parse_args()

get_weather(args.city)

This part of the code ensures that the user must provide a city name when running the program.

Python File


Task: Working with Github


In this task, I worked with GitHub workflows and collaboration features.
I successfully completed all the required steps as mentioned in the repository’s README file.

Key Activities Performed

  1. GitHub Actions
    • Learned how automated workflows are triggered and executed.
  2. Issues
    • Created and managed issues to track tasks and improvements.
  3. Branches and Pull Requests (PRs)
    • Worked with branches and raised a Pull Request to contribute changes.
  4. Review and Merge Process
    • Understood how code reviews and merges are carried out, which is central to collaborative development.

Fork

Pull Request


Task: Get familiar with the command line on ubuntu and do the following subtasks


In this task, I worked with the Ubuntu command line and practiced basic shell commands.
I successfully completed all the subtasks mentioned.

Key Activities Performed

  1. Folder Creation

    • Created a folder named test using the mkdir command.
    • Used cd to navigate into the folder.
  2. File Operations

    • Created a blank file without using a text editor by running:
      touch file1.txt
      
    • Verified its existence using the ls command.
  3. Bulk Folder Creation

    • Created 2600 folders inside test, each with a unique name (e.g., M90, B56) using a loop in the terminal:
      touch {A..Z}{1..100}
      
  4. File Concatenation

    • Created two text files with random content.
    • Concatenated them and displayed the output using:
      cat file1.txt file2.txt
      


Task:The Matrix Puzzle — Decode with NumPy & Reveal the Image


In this task, I worked with NumPy and Matplotlib to solve a visual puzzle.
I successfully manipulated the scrambled matrix and revealed the hidden image by using array operations and plotting techniques.

Key Activities Performed

  1. Matrix Loading and Reshaping

    • Loaded the scrambled matrix from the provided file.
    • Used NumPy functions to reshape the array into a square matrix.
  2. Array Manipulation

    • Applied NumPy operations such as reshape(), transpose(), and slicing to reorient the data.
    • Corrected the orientation of the matrix by checking the image from different perspectives.
  3. Visualization with Matplotlib

    • Used matplotlib.pyplot.imshow() to display the decoded matrix as an image.
  4. Decoding the Hidden Image

    • Applied the hints:
      • Reshaped into a square.
      • Adjusted orientation to make the image upright.
      • Reversed the matrix where necessary to reveal the final image.

Python Script


Task:Portfolio Webpage


In this task, I created a personal portfolio website to showcase my profile, interests, and projects.
The website was built with HTML, CSS, Javascript and made responsive using modern design practices.
It was also pushed to a GitHub repository for version control and deployment.

LINK:Portfolio

Key Activities Performed

  1. Website Structure

    • Designed multiple sections including:
      • About Me – introduction and background.
      • Projects – descriptions and links to my work.
      • Social Media Links – GitHub, LinkedIn, etc.
  2. Responsive Design

    • Implemented responsiveness using Tailwind CSS
    • Ensured the website works on both desktop and mobile devices.
  3. Styling and UI

    • Applied custom CSS to improve readability and visual appeal.
    • Used consistent fonts, spacing, and color schemes.
    • Javascript for the background live animation.
  4. Version Control and Deployment

    • Initialized a Git repository for the project.
    • Pushed the code to GitHub and vercel was used for hosting and collaboration.


Task:Writing Resource Article using Markdown


In this task, I learned how to write a technical resource article using Markdown.
I chose the topic Social Engineering and prepared an article explaining the concept, common attack methods, real-world examples, and safety tips.

Key Activities Performed

  1. Markdown Writing

    • Used Markdown syntax to create headings, lists, and emphasize key terms.
    • Ensured the article was structured with sections like Introduction, Tricks, Examples, and Safety Tips.
  2. Technical Content Creation

    • Researched the topic of Social Engineering.
    • Summarized key points in a simple, easy-to-read format.
  3. Formatting & Publishing

    • Verified that the Markdown format displays consistently across devices.
    • Posted the completed article on the MARVEL website as instructed.

REPORT


Task:Thinkercad


In this task, I created and simulated circuits using Tinkercad, gaining hands-on experience with basic electronic components and Arduino programming.
I successfully built a simple ultrasonic distance measurement circuit and then extended it to a radar system with a servo motor.

Key Activities Performed

  1. Getting Started with Tinkercad

    • Created an account and explored the example circuits provided.
    • Learned how to place components, connect them with wires, and program the Arduino.
  2. Ultrasonic Distance Measurement

    • Built a circuit using an HC-SR04 ultrasonic sensor.
    • Programmed the Arduino to calculate the distance of an obstacle using the time taken for sound waves to return.
    • Displayed the measured distance on the serial monitor.
  3. Radar System Simulation

    • Added a servo motor to rotate the ultrasonic sensor.
    • Wrote code to move the servo gradually, allowing the sensor to scan across angles.
    • Used the ultrasonic sensor readings to simulate a radar system that detects obstacles within range.

Precautions / Safety Measures

  • Since this was a virtual simulation in Tinkercad, no physical safety concerns were involved.


Task:Speed Control of DC Motor


In this task, I explored different techniques to control the speed of a DC motor using an Arduino UNO and an L298N H-Bridge motor driver.
I first simulated the setup in Tinkercad and then implemented it on actual hardware with a 5V BO motor.

Key Activities Performed

  1. Understanding Motor Control

    • Learned the role of the H-Bridge (L298N) in controlling the direction and speed of a DC motor.
    • Understood how PWM (Pulse Width Modulation) signals from the Arduino can vary the motor’s speed.
  2. Simulation in Tinkercad

    • Built a virtual circuit with Arduino UNO, L298N driver, and a 5V BO motor.
    • Wrote Arduino code to send PWM signals to the Enable pin of the L298N.
    • Verified motor speed control by adjusting the duty cycle in simulation.
  3. Hardware Implementation

    • Connected the Arduino UNO with the L298N motor driver and BO motor on breadboard/hardware setup.
    • Uploaded the same Arduino code to test motor speed control physically.
    • Recorded videos of the working circuit to demonstrate the results.


Task:LED Toggle Using ESP32


In this task, I learned the basics of working with the ESP32 microcontroller and created a standalone web server to control an LED connected to its GPIO pins.
I used the Arduino IDE to write and upload the code, after configuring it for ESP32 support.

Key Activities Performed

  1. ESP32 Setup

    • Installed the ESP32 board package in the Arduino IDE.
    • Configured the IDE with the correct board and COM port to enable code uploading.
  2. Circuit and LED Control

    • Connected an LED to one of the ESP32 GPIO pins with a current-limiting resistor.
    • Wrote code to toggle the LED state (ON/OFF).
  3. Web Server Implementation

    • Created a standalone web server hosted on the ESP32.
    • Designed a simple webpage with buttons to turn the LED ON and OFF.
    • Accessed the ESP32 server through the local network using its IP address.
  4. Testing

    • Uploaded the program to the ESP32.
    • Controlled the LED from a web browser using the ESP32’s hosted page.

.ino file


Task:Soldering Prerequisites


In this task, I learned about the soldering equipment available in the lab and performed basic soldering under the supervision of a coordinator.
I practiced soldering a simple LED circuit on a perf board using the standard tools.

Key Activities Performed

  1. Familiarization with Equipment

    • Learned the use of the soldering iron, solder wire, soldering wick, and flux.
    • Understood the safety precautions necessary while handling hot soldering tools.
  2. Basic Soldering Practice

    • Used a perf board to build a simple LED circuit.
    • Applied flux and solder to make clean joints between the LED, resistor, and connecting wires.
    • Learned how to correct mistakes using the soldering wick.
  3. Supervised Hands-On Session

    • All soldering was performed under the guidance of a coordinator to ensure safety.
    • Gained confidence in handling soldering equipment properly.


Task:Active Participation


In this task, I fulfilled the Active Participation requirements by attending a technical event and documenting the certificate of participation.

Event Attended

  • Positive Hack Talks @ Bengaluru conducted by Positive Technologies — an in-person meetup focused on offensive and defensive security, bug hunting, and the latest cybersecurity topics.
    More details: Positive Hack Talks – Bengaluru

Key Activities Performed

  1. Registered for and attended the Positive Hack Talks event in Bengaluru.
  2. Listened to expert talks, participated in discussions and networked with cybersecurity professionals.
  3. Obtained the certificate of participation as proof of my attendance.

Learning Outcome

Through this activity, I learned:

  • The importance of staying up to date with current trends in cybersecurity.
  • How attending professional events helps in networking and gaining exposure to advanced topics.
  • The value of applying what I learn in papers or talks to my technical and academic work.


Continued

UVCE,
K. R Circle,
Bengaluru 01