cover photo

COURSEWORK

Prarthana's AI-ML-001 course work. Lv 1

Prarthana UAUTHORACTIVE
work cover photo
This Report is yet to be approved by a Coordinator.

Prarthana's AI-ML-001 course work.

15 / 3 / 2026


Task 1: 3D Printing

In this task, an understanding of various terminologies related to 3D printing and the overall printing process was developed.

  • STL File: A standard file format used in 3D printing that represents the surface geometry of a 3D object.
  • Slicing: The process of converting an STL file into printer instructions (G-code). The model is divided into layers and printing parameters are defined.
  • Bed Temperature: Refers to the temperature of the printer’s build plate, which helps in proper first-layer adhesion and prevents warping.
  • Infill Density: Determines how solid the printed object will be. Lower infill reduces material usage and print time, while higher infill increases strength.
  • Other Printer Settings: Include layer height, print speed, and nozzle temperature, which influence the quality and strength of the final print. An STL file was downloaded from Thingiverse and sliced using Ultimaker Cura software to generate the required G-code for printing.

Task 2: API

An API (Application Programming Interface) acts as a bridge or middleman between a client and a provider. In the context of a Weather API, the application or website is the client, and the weather service’s server or database—where real-time weather data is stored—is the provider.

How it works:

The application sends a request to the API. The weather service processes the request. The application receives a response with the required data.

API Terminologies

  • Endpoint: A specific URL used to access certain data. Example: /weather is used to get current weather data.
  • Request: The query sent by the application to the API. Example: “What is the weather in Bangalore?”
  • Response: The data returned by the API. Example: “Temperature is 28°C with light rain.”
  • Parameters: Additional information sent with the request to customize results. Example: q=London, units=metric.
  • API Key: A unique secret key used to authenticate and authorize API requests.
  • HTTP Methods: These define the type of action performed on the server:
  • GET: Retrieves data (commonly used in weather APIs).
  • POST: Sends new data to the server.
  • PUT: Updates existing data. Weather App Code

Task 3: Working with Github

GitHub is a platform that helps developers store, share, and collaborate on code. It uses Git, a version control system, to track changes made to a project. GitHub allows users to work on their own copy of a repository, make improvements, and propose those changes to be merged into the main project.

Steps Followed

  • Forked the Repository The given repository was forked to create a personal copy for making changes.
  • Cloned the Repository Locally The forked repository was cloned to the local system using Git, which allowed the project to be opened and edited in VS Code.
  • Made Changes and Pushed to GitHub Required changes were made to the files. The Source Control feature in VS Code was used to stage the changes, add a commit message, and push the updates to the GitHub repository.

Task 4: Getting Familiar with the Ubuntu Command Line

The Ubuntu command line is a text-based interface used to perform system tasks efficiently. It allows users to manage files and folders, automate processes, and execute commands quickly.

Tasks Performed

  • Created a new folder named test using the mkdir command.
  • Navigated into the test directory using the cd command.
  • Created a blank file without using a text editor by using the touch command.
  • Listed the files in the folder using the ls command to verify the file creation.
  • Generated 2600 folders inside the test directory with names combining letters and numbers (a1233) using a loop for automation.
  • Created two text files containing random text.
  • Concatenated the two text files using the cat command and displayed the combined output in the terminal.
  • Practiced essential Ubuntu command line operations including directory management, file creation, listing contents, automation using loops, and basic text file handling. Concatinating two files

Task 5: Linear Regression from Scratch

In this task, I learned the basics of Linear Regression and how it is used to predict continuous values by finding a relationship between a feature and a target variable. I worked with the California Housing dataset and visualized the relationship between median income and house value using a scatter plot. I implemented Linear Regression from scratch and also used the sklearn LinearRegression model for comparison. I understood how the cost function measures prediction error and how Gradient Descent updates the parameters to reduce this error and find the best fitting line.

Steps Followed

  1. Loaded the California Housing dataset.
  2. Selected Median Income as the feature and House Value as the target.
  3. Visualized the data using a scatter plot.
  4. Normalized the feature values.
  5. Implemented Linear Regression from scratch.
  6. Trained both the custom model and sklearn LinearRegression model.
  7. Evaluated model performance using MSE, MAE, and R².
  8. Plotted the regression line and analyzed the results.
    Data set Visualization

Task 6: The Matrix Puzzle

The Matrix Puzzle is a hands-on activity designed to improve understanding of NumPy and Matplotlib. In this task, a scrambled matrix is decoded using NumPy operations and visualized as an image.

Steps Followed

  • Downloaded the scrambled matrix file from the given link.
  • Imported the required libraries using import numpy as np and import matplotlib.pyplot as plt.
  • Loaded the .npy file using NumPy, where the matrix represented image pixels as an array (1 for no color and 0 for color).
  • Applied NumPy operations such as reshaping and transposing the matrix to correctly orient the image.
  • Used plt.imshow() to convert the numerical matrix into colors and reveal the hidden image.
  • Adjusted the orientation and display settings to verify the final output. Reshaped matrix
    Operations

Task 7: Portfolio Webpage

In this task, I created a responsive personal portfolio website using HTML, CSS, and JavaScript. The website showcases information about myself, my interests, projects, and social media profiles in a structured and visually appealing manner. HTML was used for content structure, CSS for styling and responsiveness, and JavaScript for basic interactivity. The completed website was pushed to a GitHub repository for version control and deployment.
Webpage
Code

Task 8: Article using Markdown

Working with Markdown

Markdown is a lightweight markup language used to format plain text using simple syntax. It allows the creation of structured documents with headings, lists, links, images, and emphasized text. Markdown is easy to learn, readable, and works consistently across different platforms and devices.

Some Basic Markdown Syntax

#Title – Creates a main heading
##Subtitle – Creates a subheading
Bold – Displays bold text
Italic – Displays italic text

  • Item – Creates a bullet list
    I used Markdown to write a technical resource article on Data Mining concepts, applications, and importance. This helped in presenting technical content in a clear, structured, and readable format.
    Data Mining

Task 10: Speed of a DC Motor

The speed of a DC motor refers to how quickly the motor shaft rotates and is usually measured in revolutions per minute (RPM). It mainly depends on the input voltage and the mechanical load on the motor. Increasing the supplied voltage causes the motor to rotate faster, while adding a heavier load reduces its speed. Motor speed can also be controlled electronically using Pulse Width Modulation (PWM), which varies the effective power delivered to the motor. A motor driver such as the L298N is used to connect the motor with a microcontroller like Arduino. It allows low-power control signals to safely drive motors that require higher current.

Task 11: LED Toggle Using ESP32

In this task, the ESP32 board was first explored to understand its basic features. The required circuit connections were made, and the program was uploaded using the Arduino IDE along with the Wi-Fi credentials. After uploading the code, the ESP32 displayed its IP address in the Serial Monitor. Opening this IP address in a web browser allowed the LED to be controlled using ON and OFF buttons.

Connections

  • ESP32 GPIO Pin → LED positive terminal (with a resistor)
  • ESP32 GND → LED negative terminal

Working Principle

  • The ESP32 connects to a Wi-Fi network using the provided credentials.
  • It hosts a simple web server internally.
  • Accessing the IP address opens a web page with control buttons.
  • Pressing the ON or OFF button sends a request to the ESP32, which switches the LED accordingly.

Task 12: Soldering

Soldering is the process of joining two or more electronic components using a filler metal called solder. It is an essential skill in electronics for assembling circuits on perf boards or printed circuit boards (PCBs). For this task, soldering tools available in the lab were studied, and basic soldering was practiced under the guidance of a coordinator.

Steps Followed

  • Became familiar with the soldering equipment in the lab:
  • Soldering Iron – used to heat and melt the solder.
  • Solder – metal alloy used to form electrical joints.
  • Flux – improves solder flow and prevents oxidation.
  • Soldering Wick – used to remove excess solder.
  • Heated the soldering iron and carefully applied solder to connect the LED, resistor, and wires on a perf board.
  • Used the soldering wick to remove excess solder and ensure clean joints. Soldering

Task 14: Karnaugh Maps and Burglar Alarm Circuit

Burglar Alarm System Using Logic Gates

System Inputs

  • D (Door):
    • 0 → Closed
    • 1 → Open
  • K (Key):
    • 0 → Not pressed
    • 1 → Pressed

Alarm Condition

The alarm (LED/Buzzer) should turn ON only when the door is open and the key is not pressed.


Truth Table

Door (D)Key (K)Alarm
000
010
101
110

Karnaugh Map

D \ KK'K
D'00
D10
The value 1 occurs at D = 1 and K = 0.

Boolean Expression

From the Karnaugh Map: Alarm = D·K'

Task 15: Active Participation

I participated in an intra-college hackathon named Codefury, which was a 24-hour online hackathon.

Task 17: Introduction to VR

Through this task, I learned the basics of VR and AR, their differences, applications, and the role of Indian companies in this field.
View Report

Task 18: Sad servers - Command Line Murders

Linux is a free, open-source operating system that runs almost everywhere. It mainly works with files — you can open, read, search, and manage them using simple commands.

Linux Commands

  • ls – Used to list files and directories
  • cat filename – Used to view the contents of a file
  • grep "pattern" filename – Used to search for specific text within files
    • -i – Ignores case sensitivity
    • -A n – Displays n lines after the matched result
    • -B n – Displays n lines before the matched result
    • -E – Allows the use of extended regular expressions
  • head -n 10 filename – Displays the first few lines of a file
  • tail -n 10 filename – Displays the last few lines of a file
  • awk 'FNR == N' filename – Extracts a specific line from a file
  • command1 | command2 – Combines multiple commands using pipes
  • echo "text" > file – Writes or saves text into a file
  • md5sum filename – Generates a unique hash value for a file

Using these commands, the file system was explored and clues were systematically analyzed, which helped in identifying the murderer and successfully completing the challenge, thereby making the server happy

Task 20: Notebook Ninja – Getting Started with Jupyter

Through this task, I learned how to effectively use Jupyter Notebook as an interactive environment for both coding and documentation. I understood the difference between Markdown cells and Code cells and how to switch between them properly. I learned how to use Markdown to create headings, bullet points, bold and italic text, horizontal lines, embed images, and display code snippets using triple backticks. This helped me present my work in a clean and professional way. I also practiced Python coding inside Jupyter by declaring variables, performing calculations, and visualizing data using Matplotlib. Overall, this task helped me build confidence in combining code, explanations, and visual outputs while clearly documenting my thought process.
Notebook

Task 21: Watch & Reflect – Intro to Machine Learning

This resource article presents a summary and reflection on the two learning videos, “A Gentle Introduction to Machine Learning” and “How is Data Prepared for Machine Learning?”. The videos provide a beginner-friendly overview of machine learning concepts and explain the importance of preparing data before building machine learning models. This article has been written using Markdown, allowing the content to be structured clearly with headings and organized sections for better readability.
A Gentle Introduction to Machine Learning
How is Data Prepared for Machine Learning?

UVCE,
K. R Circle,
Bengaluru 01