
COURSEWORK
| Vismay Chandra | AUTHOR | ACTIVE |

24 / 10 / 2025
The goal of this task was to gain hands-on understanding of 3D printing technology, including the working principles of a 3D printer, slicing of STL files, and understanding important printer parameters such as bed temperature, nozzle temperature, and infill percentage. This activity was carried out under the guidance of the assigned coordinator.
I began by studying how a 3D printer functions and exploring the role of STL (Stereolithography) files, which serve as the digital blueprints for 3D models. I also reviewed the Standard Operating Procedures (SOPs) and safety measures associated with operating the printer.
For this activity, I worked with a Creality Ender 3 printer. The material used was PLA (Polylactic Acid) filament - a popular, biodegradable thermoplastic commonly used for desktop 3D printing. The printing parameters were configured as follows:
| Parameter | Value |
|---|---|
| Bed Temperature | 60°C |
| Nozzle Temperature | 200°C |
| Infill Density | 20% |
I selected a 3D Benchy model from Thingiverse in .stl format. The file was then imported into Ultimaker Cura for slicing, where I adjusted the layer height, infill, and support settings. After generating the G-code, the sliced file was transferred to the printer for printing.
Through this task, I learned how to prepare and execute a 3D print from start to finish. I developed a clear understanding of how different print parameters affect the print quality and speed. Additionally, I became familiar with Cura’s slicing interface and how to troubleshoot common print issues such as bed adhesion and warping.
The aim of this task was to understand the concept, functioning, and applications of APIs (Application Programming Interfaces). Additionally, the task involved implementing an API in a simple web-based project to fetch and display data dynamically.
I began by studying what an API is and how it enables communication between different software systems. APIs act as intermediaries that allow two applications to exchange data - similar to how a messenger conveys requests and returns responses between two parties.
To apply this concept practically, I developed a weather information web app using the OpenWeather API.
The app takes a city name as user input and, upon making an API call, displays the current temperature, weather condition, and humidity.
This task helped me understand how to fetch data from an external source and render it on a web interface using JavaScript.
| Component | Description |
|---|---|
| API Used | OpenWeather API |
| Languages | HTML, CSS, JavaScript |
| Platform | Visual Studio Code |
Initially, the web page wouldn’t open correctly in the browser through VS Code.
This issue was resolved by installing and using the Live Server extension from the VS Code Marketplace.
Once configured, the application ran successfully and displayed real-time weather data.
By completing this task, I learned how to integrate APIs into a project, handle requests and responses, and display external data on a user interface.
The activity provided practical exposure to how APIs streamline communication between clients and servers, which is an essential concept in modern web and mobile application development.
The objective of this task was to gain practical exposure to GitHub’s collaborative workflow, including branching, committing, and creating pull requests. It also aimed to help understand how GitHub manages version control, issues, and project collaboration efficiently.
I started by exploring the provided GitHub repository and went through the README file to understand the task requirements.
The repository was then forked to my personal GitHub account, creating a copy where I could freely make changes.
Next, I created a new branch specifically for implementing modifications and debugging the existing code.
After reviewing the code, I located and corrected the identified error. Once the issue was fixed, I committed the changes with a clear message describing the update.
Following that, I raised a Pull Request (PR) to propose merging my fixes from the branch into the main repository.
This helped me understand how collaborative workflows operate on GitHub and how contributions are reviewed before integration.
Through this task, I developed a solid understanding of GitHub’s workflow and version control processes.
I learned how multiple contributors can collaborate seamlessly on a single project using forks, branches, and pull requests.
This activity gave me hands-on experience in resolving issues and contributing effectively to a shared codebase.

The aim of this task was to get hands-on experience with the Linux command line and understand some of the most commonly used terminal commands in Ubuntu.
The activity helped in learning how to navigate directories, create files and folders, and manipulate text files using basic shell commands.
To begin with, I opened the terminal and created a new directory named testVVC using the mkdir command.
After that, I moved into this directory using the cd command. Inside this folder, I created a blank text file named emptyfile.txt with the touch command, without using any text editor.
Next, I used a loop command to generate 2600 subdirectories inside the testVVC folder, each with unique names like A45, K102, etc.
Once created, I listed all the directories using the ls command to confirm that they were successfully generated.
Finally, I created two sample text files with some random content and used the cat command to concatenate them and display their combined content directly in the terminal window.
| Command | Purpose |
|---|---|
cd | Change directory (used to navigate between folders) |
mkdir | Make directory (used to create new folders) |
ls | List all files and directories in the current location |
touch | Create an empty file |
cat | Display and concatenate the contents of files |
This task helped me understand how to interact with the file system using the terminal instead of a graphical interface.
I became comfortable with several basic Linux commands and gained confidence in performing file and directory operations efficiently from the command line.
I started by exploring the scrambled matrix given in the task. Using NumPy, I performed operations such as reshaping, transposing, and indexing to gradually rearrange the matrix elements.
Once the matrix was decoded, I used Matplotlib to visualize the result, which revealed the hidden image.
Through this exercise, I became familiar with essential NumPy commands for array creation, manipulation, and arithmetic operations, as well as basic Matplotlib functions for displaying images and plots.
This task provided practical experience in working with matrices and visual data representation.
It helped me understand how NumPy and Matplotlib can be combined to solve computational problems and visualize results effectively.
The aim of this task was to get hands-on experience with Tinkercad, understand the working of an ultrasonic sensor and servo motor, and simulate a simple radar system to detect objects within a specified range.
I began by creating a Tinkercad account and exploring the platform to understand its interface and simulation capabilities.
Using the resource video as a guide, I first built a basic circuit with:
This circuit measured the distance between the sensor and an obstacle, displaying the readings on the serial monitor.
Next, I simulated a radar system by integrating a servo motor with the ultrasonic sensor.
The servo motor rotated the sensor to scan a wider area, while the sensor measured distances using sound waves.
This allowed the system to detect objects in its path, demonstrating the basic principle of radar technology.
Built the circuit on a breadboard using:
Connected the motor to the L298N driver and wired the driver to Arduino’s PWM-enabled pins.
Uploaded Arduino code to read potentiometer values and control the motor speed accordingly.
Tested the circuit by rotating the potentiometer and observing the motor speed variations.
Learned the concept of PWM, which allows varying the effective voltage supplied to the motor, thereby controlling speed.
The objective of this task was to learn the working of the ESP32 microcontroller and to create a standalone web server that can toggle an LED connected to the ESP32’s GPIO pins.
The task also involved configuring the Arduino IDE to program and upload code to the ESP32.