COURSEWORK
Nithyashree V Suresh | AUTHOR | ACTIVE |
13 / 9 / 2025
In this task, I learned that an API (Application Programming Interface) is a way for two applications to communicate. Instead of collecting or storing data ourselves, we can request it from an API and use it in our own app. For example, a weather app doesn’t generate weather data. It simply fetches it from a weather API.
To practice, I built a simple weather app using the OpenWeather API. I created a webpage with a search box where the user can type a city name. When submitted, my app sends a request to the API, which responds with details like temperature, weather description, humidity, etc. That information is then displayed on the screen.
This helped me clearly understand the request–response cycle:
GitHub is a platform that helps developers store, manage, and share code.
It lets multiple people work on the same project, track changes, and suggest improvements using pull requests. It also has tools like GitHub Actions to automatically test code and make collaboration easier.
main.py
by removing the extra +1
.The command line in Ubuntu is a text based interface that allows users to efficiently manage files, folders, and processes. This task helped me practice basic commands and understand how to automate repetitive tasks using loops.
test
using mkdir test
.cd test
.touch file1.txt
.ls
to confirm the file was created.Here is the math behind linear regression
In this task, I worked with NumPy and Matplotlib to decode a scrambled matrix into a hidden image.
NumPy is a Python library for handling arrays and performing mathematical operations efficiently. It lets you reshape, flip, and manipulate matrices easily. Matplotlib is a library for visualizing data, and using imshow()
, we can display a 2D array as an image. Images can be thought of as matrices, which makes these libraries perfect for this task.
numpy.load()
.matplotlib.pyplot.imshow()
to display the reshaped matrix and see the scrambled image.Click here to view my code.
I coded the webpage directly using HTML for the content and CSS for styling. After completing the website, I pushed the project to GitHub and deployed it online using Vercel, making it publicly accessible.
click here to check my personal portfolio
I wrote a technical resource article on “Data Visualization in AI & Analytics”. Here is the link to access it
While doing this article, I learned how to use Markdown effectively (by creating headings , using bold and italic text and making bullet points and numbered lists).
In this task, I learned how to use Tinkercad for electronics prototyping. Tinkercad provides a platform where circuits can be built and tested without any physical hardware, making it perfect for quick experiments and learning.
To practice, I built a simple circuit using an ultrasonic sensor connected to an Arduino. It uses the same principle as that of SONAR. The sensor sends out ultrasonic pulses and measures the time taken for them to bounce back from an obstacle. The Arduino then calculates the distance based on this time and displays the result on the serial monitor. The entire setup was tested virtually on Tinkercad, eliminating the need for physical components while still showing accurate output.
In this task, I learned the basic techniques of controlling DC motors using an Arduino and an L298N motor driver. A DC motor requires more current than the Arduino can provide directly, so the motor driver acts as an interface that allows us to control both the direction and speed of the motor safely. The L298N, which works as an H-Bridge, enables forward and reverse rotation by controlling current flow through the motor.
To practice, I built a setup using an Arduino UNO, an L298N motor driver, and a 5V DC motor. First, I simulated the circuit in Tinkercad to ensure the connections and code worked correctly. The Arduino sent control signals to the motor driver, which then powered the motor. By using PWM (Pulse Width Modulation) signals from the Arduino, I was able to vary the motor’s speed.
After the simulation, I replicated the same setup on actual hardware and successfully demonstrated motor control, recording videos of the process.
Click here for the video
In this task, I learned how an ESP32 can be used as both a microcontroller and a web server. The ESP32 has built-in Wi-Fi capabilities, which allows it to host a web page and let users interact with connected devices remotely. By setting it up properly, we can control hardware like LEDs from any device connected to the same network.
To practice, I built a simple project where an LED was connected to one of the ESP32’s GPIO pins. Using the Arduino IDE, I wrote and uploaded code to the ESP32 that turned it into a standalone web server. On the hosted webpage, I added buttons to turn the LED ON and OFF. When a user clicked a button, the ESP32 received the request and changed the state of the LED accordingly.
Soldering is the process of joining electronic components by melting solder to create a strong and conductive bond. It is one of the most important skills in electronics since it allows us to build and assemble circuits on a perf board or PCB. For this task, I learned about the basic soldering tools available in the lab and practiced making a simple LED circuit under the supervision of a coordinator.
For this task, I designed a simple burglar alarm system using Karnaugh Maps and basic logic gates. The system has two inputs:
The alarm (LED or buzzer) should activate only when the door is open and the key is not pressed.
Door (D) | Key (K) | Alarm |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
For the two variables D and K, the K-map looks like this:
D\K | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 1 | 0 |
From the K-map, the Boolean expression for the alarm is: Alarm = D · K'
This means the alarm turns ON only when the door is open (D=1) and the key is not pressed (K=0).
I implemented the circuit using logic gates on CircuitVerse. When D=1 and K=0, the LED blinks to indicate the alarm is ON.
For all other input combinations, the LED remains OFF, showing the system works as intended.
I participated in CodeFury 8.0, organized by IEEE UVCE.
For this task, I explored Jupyter Notebook. It’s like a digital notebook where I can write code, run it instantly, and also explain things using Markdown in the same place. This makes it really helpful for both learning and presenting ideas.
I completed this task by writing a report on the two given videos. Here is the link to read it.