cover photo

COURSEWORK

Chan's D-P-001 course work. Lv 1

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

30 / 3 / 2026


3D Printing Task Report

https://www.tinkercad.com/things/h2dKvv3xg5L-lochans-cat

Introduction to 3D Printing

3D printing is a process of creating a physical object from a digital design. The printer builds the object layer by layer using a material such as plastic. This process is also called additive manufacturing because material is added layer by layer until the object is complete.

A 3D printer reads a digital file and then prints the object by melting material and placing it precisely in layers.


What is an STL File

An STL (Standard Tessellation Language) file is a common file format used in 3D printing. It contains the 3D model of the object that needs to be printed.

The STL file describes the surface of the object using small triangles. However, the STL file alone cannot be printed directly. It must first be converted into instructions that the printer can understand.


Slicing the Model

To print an object, I first imported the STL file into a slicer software such as:

  • MeshSlice (random web slicer i found)

The slicer converts the 3D model into G-code, which contains instructions for the printer such as:

  • Movement of the nozzle
  • Printing speed
  • Temperature
  • Layer height

The slicer also allows me to adjust different printer settings before printing.


Types of 3D Printing

There are different technologies used in 3D printing.

FDM (Fused Deposition Modeling)

This is the most common type of 3D printing. (and the one used in marvel) A heated nozzle melts plastic filament and deposits it layer by layer to create the object.

Material used: PLA, ABS, PETG.

SLA (Stereolithography)

This method uses liquid resin that is cured (hardened) using a UV laser.
It produces very high-quality and detailed prints.

SLS (Selective Laser Sintering)

This process uses a laser to fuse powdered material such as nylon into solid objects.
It is often used in industrial applications.


Printing File Formats

Some common file formats used in 3D printing are:

  • STL – most widely used 3D model format. (my favourite)
  • OBJ – stores 3D geometry and color information.
  • 3MF – modern format that stores more printing data.
  • G-code – machine instructions generated by the slicer.

Printer Settings

Physical Settings (Hardware)

Nozzle Temperature

  • Measured in °C (Celsius).
  • Determines how hot the nozzle is to melt the filament.
  • Example for PLA: 190–220°C.

Bed Temperature

  • Also measured in °C.
  • Helps the first layer stick to the build plate.
  • Example for PLA: 50–60°C.

Print Speed

  • Measured in mm/s (millimeters per second).
  • Controls how fast the printer moves while printing.

Layer Height

  • Measured in mm.
  • Smaller layer height gives smoother prints but takes more time.

Software Settings (Slicer Parameters)

Infill Density (%)

  • Measured in percentage.
  • Determines how solid the inside of the object is.
  • Example:
    • 10–20% for lightweight objects
    • 40–60% for stronger objects

Infill Pattern

  • The pattern used inside the object (grid, honeycomb, gyroid).

Support Structures

  • Temporary structures used to support overhanging parts during printing.

Wall Thickness

  • Thickness of the outer shell of the print.

Adhesion Settings

  • Options like brim or raft help the print stick to the bed.

Printing Process Followed

Under coordinator supervision, I performed the following steps:

  1. Downloaded an STL file from an online 3D model library.
  2. Opened the file in Mesh slice.
  3. Adjusted the printing parameters such as:
    • Nozzle temperature
    • Bed temperature
    • Infill density
    • Layer height
  4. Generated G-code using the slicer.
  5. Loaded the file into the 3D printer.
  6. Started the printing process and monitored the print.

Conclusion

Through this task, I learned the basic working of a 3D printer, different 3D printing technologies, printer settings, and slicing software. I also understood how an STL file is converted into G-code and how printer parameters affect the final printed object.

TASK 2: API

Tech News Web App using GNews API

https://lochanelectron.github.io/enlighten-me/

What is an API?

API stands for Application Programming Interface.

An API allows one software program to talk to another program and request information.
Instead of building everything from scratch, developers can use APIs to access data or services provided by other platforms.

For example:

  • A weather app uses a weather API to get temperature data.
  • A map app uses a maps API to show locations.
  • A news app uses a news API to get the latest headlines.

APIs work using requests and responses:

  1. The application sends a request to the API.
  2. The API processes the request.
  3. The API sends back a response containing data.

This data is usually returned in JSON format, which can easily be used in applications.


Applications of APIs

APIs are used in many modern applications, such as:

  • Weather forecasting apps
  • Online payment systems
  • Social media integrations
  • News aggregators
  • Maps and navigation systems
  • AI services and chatbots

APIs help developers save time, reduce complexity, and build powerful applications quickly.


My Project: Tech News Web Application

For this task, I built a simple web application that displays the latest technology news using the GNews API.

The idea of the project is very simple:
When the user clicks a button, the application fetches the latest tech news from the API and displays it on the webpage.


Technologies Used

  • HTML – for building the webpage structure
  • CSS – for styling and creating a clean user interface
  • JavaScript – for handling API requests and dynamic content
  • GNews API – to fetch real-time technology news

How the Application Works

  1. The user opens the webpage.
  2. The user clicks the "Enlighten Me" button.
  3. JavaScript sends a request to the GNews API.
  4. The API returns the latest technology news articles.
  5. The application displays the top 5 news headlines on the page.

The app fetches real-time information, so the results may change depending on what news is currently available.


Features of the Web App

  • Fetches top technology news
  • Displays latest headlines in real time
  • Simple and clean user interface
  • Uses API requests to retrieve live data
  • Built using basic web development tools

Conclusion

Through this project, I learned how APIs work and how they can be used to retrieve real-time data from external services.
I also learned how to use JavaScript to make API requests and display the results on a webpage.

This project helped me understand the practical use of APIs in modern applications.

GitHub Workflow Task Report

1. Introduction to GitHub

GitHub is a platform used to store, manage, and collaborate on code using Git, a version control system. It allows developers to track changes, work on projects together, and contribute to open-source repositories.

In this task, I learned the fork and pull request workflow, which is commonly used when contributing to projects where I do not have direct write access.


Forking a Repository

Forking means creating my own copy of another repository so that I can make changes without affecting the original project.

For this task, I forked the repository:

https://github.com/octocat/Spoon-Knife

After clicking the Fork button, GitHub created a copy of the repository under my GitHub account.

This allowed me to work on the project independently.


Cloning the Repository

After forking the repository, I cloned it to my local computer so that I could edit the files.

I copied the repository URL and ran the following command in the terminal:

git clone https://github.com/Lochanelectron/Spoon-Knife

Making the Changes

In github, i opened the index.html file, entered the editor mode and added the line "fork everyone heheh @Lochanelectron". Committed the changes. Later -> Contribute -> Open a pull request -> Create a pull request

viola, chan accomplished the task

Command Line Basics Report

Introduction

In this task, I learned some basic command line operations in Linux. I used the Kali Linux terminal, which works almost the same as Ubuntu. The goal was to practice creating folders, files, and using simple terminal commands.

Creating a Folder

First, I created a folder named test.

mkdir test

Then I moved into that folder.

cd test

Creating a Blank File

Inside the folder, I created an empty file without using a text editor.

touch file1.txt

Listing Files

To see the files inside the folder, I used the ls command.

ls

Creating Multiple Folders

Next, I created many folders automatically using a loop. The folders were named using letters and numbers such as A1, B56, etc.

for letter in {A..Z}; do
  for number in {1..100}; do
    mkdir ${letter}${number}
  done
done

This created 2600 folders in total.

Concatenating Two Files

I created two text files with some random text.

echo "Hello this is file one" > fileA.txt
echo "And this is file two" > fileB.txt

Then I combined and displayed both files using the cat command.

cat fileA.txt fileB.txt

Conclusion

In this task, I practiced basic Linux terminal commands like creating folders, creating files, listing files, and combining text files. This helped me understand how to use the command line in a simple way.

https://github.com/user-attachments/assets/3e539e7a-3c88-41de-b4d1-661b064941cc

Linear Regression From Scratch – Project Report

Objective

In this task, I implemented Linear Regression from scratch using Python and NumPy. The goal was to understand how gradient descent works and compare my custom implementation with the LinearRegression model from scikit-learn.


Dataset

I used the California Housing dataset provided by scikit-learn.
The dataset contains:

  • 20,640 samples (houses)
  • 8 input features
  • Target variable: house price

Example features include median income, house age, average rooms, population, latitude, and longitude.


Data Preparation

First, I split the dataset into training and testing sets.

  • 80% training data
  • 20% testing data

After that, I applied feature scaling using StandardScaler. This step is important because gradient descent works better when all features are in a similar range.


Implementing Linear Regression From Scratch

I created my own Linear Regression class using NumPy.

The model uses the formula:

y = Xw + b

Where:

  • w = weights
  • b = bias
  • X = input features

I used gradient descent to update the weights and bias. During each iteration the model:

  1. Predicts house prices
  2. Calculates the error
  3. Computes gradients
  4. Updates the weights and bias

This process repeats until the error is minimized.


Model Evaluation

To evaluate the model, I used three common regression metrics:

  • Mean Squared Error (MSE)
  • Mean Absolute Error (MAE)
  • R² Score

Scratch Model Results

  • MSE: 0.5546
  • MAE: 0.5352
  • R²: 0.5768

Scikit-learn Model Results

  • MSE: 0.5559
  • MAE: 0.5332
  • R²: 0.5758

Graph Analysis

I plotted a scatter graph of actual house prices vs predicted prices.

Most points were around a diagonal trend line, which shows that the model predictions were reasonably close to the real values.


Comparison

The performance of my scratch model was almost identical to the scikit-learn model. The small differences happen because my model uses gradient descent while scikit-learn uses a more optimized mathematical solution.

This shows that my manual implementation worked correctly.


Conclusion

In this project, I implemented linear regression from scratch and trained it using gradient descent. I learned how weights are updated during training, why feature scaling is important, and how to evaluate regression models using standard metrics. Comparing my model with scikit-learn helped me understand how machine learning libraries simplify the process while still using the same core concepts.

https://github.com/user-attachments/assets/ee2b46ca-23b9-4a6d-a687-6292c215f0c1

Continuation part 1

https://hub.uvcemarvel.in/article/1d6e40d5-0f2f-4d11-b2c0-cbe61fd3375f

Continuation part 2

https://hub.uvcemarvel.in/article/6db0b3e2-3045-49ca-b3c6-044a65b2559d

UVCE,
K. R Circle,
Bengaluru 01