cover photo

COURSE

AI-ML-001

4 Levels · 6 Months

An introductory course on Artificial Intelligence and Machine Learning.

AI-ML-001

Jump to:


Level 1


Generic Tasks

TASK 1: 3D Printing

Understand the working of a 3D printer, check out the online resources. Understand what's an STL file, and then learn to slice it (using ultimaker or creality slicer).Go through the SOP'S regarding the 3d printer. Learn about bed temperature, infill density and other printer settings. Finally get an STL file from the internet, and slice it and put it for print.

Resources:

Introduction to 3d printer

PLA settings

Types of 3D printing

(Note this task is to be done under coordinator supervision.) 3dprinter

TASK 2: API

What is an API? Learn the working of an API and its applications. Using any api of your choice, build an user interface(web app, mobile app, etc), where you can make calls and then display the necessary information. An example weather app is given below, using the open weather api.

Example

TASK 3: Working with Github

Familiarize yourself with GitHub integrated workflows (GitHub actions), Issues, and pull requests with this task. Given below is a git repository, go check it out and then perform the necessary tasks stated in the readme file.

Check this link for more info: https://github.com/UVCE-Marvel/git-task

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

● Create a folder named test.

● cd into that folder.

● Create a blank file without using any text editor.

● list the files in that folder

● create 2600 folders in this folder where each folder is named like . For example, M90 or B56.

● concatenate two text files containing any random text and display them on the terminal.

https://ubuntu.com/tutorials/command-line-for-beginners#1-overview

TASK 5: Kaggle contest

Make a kaggle account, visit the website and complete the competition

Participate in the Titanic ML competition – the best, first challenge for you to dive into ML competitions and familiarize yourself with how the Kaggle platform works.The competition is simple: use machine learning to create a model that predicts which passengers survived the Titanic shipwreck.

Resources: Titanic regression model - https://www.kaggle.com/c/titanic

Video reference - https://youtu.be/I3FBJdiExcg

TASK 6: Working with Pandas and Matplotlib:

Using pandas and matplotlib, and a dataset of your choice, plot a line graph, bar graph, and scatter plot.

Reference: https://realpython.com/pandas-plot-python/

TASK 7: Create a Portfolio Webpage

Create a website to showcase your portfolio - about yourself, interests, projects, social media profiles and more. It has to be responsive and also pushed to the git repository. CSS can be of your choice and any framework can be used.

TASK 8: Writing Resource Article using Markdown

Markdown is an easy-to-use markup language that is used with plain text to add formatting elements (headings, bulleted lists, URLs) to plain text without the use of a formal text editor or the use of HTML tags. Markdown is device agnostic and displays the writing format consistently across device type. Write a technical resource article on a topic of your choice and post it on the MARVEL website. Refer to the linked article for further details

Link

TASK 9: Tinkercad

Create a tinkercad account, get familiar with the application, understand the example circuits given and simulate a simple circuit using an ultrasonic sensor to estimate the distance between an obstacle and the sensor. Display the results on the serial monitor.

Create a radar system utilising an ultrasonic sensor and servo motor to detect objects within a certain range. The ultrasonic sensor emits sound waves and measures the time taken for them to bounce back, while the servo motor rotates the sensor to cover a wider area, providing a simple yet effective detection mechanism. RESOURCE: https://youtu.be/NwmcNCvUcDc?si=x2LAYMFiqs1SzLfI TASK OUTCOME: introduction to- · TINKERCAD · Working of ultrasonic sensor and servo motor · Radar technology PRECAUTIONS/SAFETY MEASURES- NOT ANY

TASK 10: Speed Control of DC Motor

Explore basic techniques for controlling DC motors, understand the control DC motors using the L298N motor driver and the Arduino board. Using an UNO and H-Bridge L298N motor driver, control the speed of a 5V BO motor, try simulating this on tinkercad and then perform it on the hardware, Record videos of you doing the same.

Reference

TASK 11: LED Toggle Using ESP32

Learn the working of an ESP32 and create a standalone web server with an ESP32 that controls the LED connected with ESP32 GPIOs. Use the arduino IDE to code and upload the program to the ESP32. Learn to configure the IDE to upload code to an ESP32.

Reference

TASK 12: Soldering Prerequisites

(Soldering is to be done in presence of a coordinator)

Learn about the soldering equipment present in our lab, the solder, the soldering iron, soldering wick, flux, etc. Learn to use them and perform basic soldering on a perf board, for example a LED circuit in the presence of a coordinator and document the same.

Reference

TASK 13:

Design a 555 astable multivibrator with duty cycle 60%, rig up the circuit on a breadboard and by using the probes observe the output of your circuit on the DSO. Resources:

Circuit

TASK 14: Karnaugh Maps and Deriving the logic circuit

Description: For 4 cases, based on door lock/open and key pressed/not pressed. Determine the karnaugh map and make a burglar alarm using simple logic circuits. The buzzer or led blinks when certain conditions are met, you can use push buttons for the door and key.

(Tip: use logic gates, use k-maps to figure out the working conditions.)

TASK 15: Active Participation:

Take part in any technical event, inter or intra college and submit the issued certificate of participation.

Enroll for a MOOC and complete the course.

TASK 16: Datasheets report writing:

Topics: 1)MQ135 Gas sensor 2)L293D motor driver Task Description: Study the datasheet of any one of the above and write a report on it. Specify about the ICs used in L293D, PWM, H-bridge etc. In case of MQ 135, specify the calibrations for different gases and the Freundlich Absorption Theorem Graph.

Task 17: Introduction to VR

Familiarise yourself with what Virtual Reality is. Make a detailed study about what's the difference between VR and AR. Mention about the trends in the space and technology stack being developed. Make about Indian companies in this space. Make the report with detail. Using generative AI to generate this study can lead to disqualification.

vrlol

Task 18: Hands on experience with VR

Determine your batch with the coordinator and attend an introductory offline session on the available VR headset in lab i.e, HP Reverb G2. Familiarize yourself with sketching in 3D with gravity sketch. Use the tutorial menu to design a bike with a mannequin positioned on it. The candidate is expected to learn about using all the tools in the environment which include using various brush strokes, line tool, curve tool, shapes, mirroring, manipulating and resizing objects, changing sketching hands on the controller and using the align tool.

GR

TASK 19: Sad servers - "Like LeetCode for Linux"

Sadservers is an excellent ground to test your Linux troubleshooting skills. Here is a troubleshooting scenario: Command Line Murders. Troubleshoot and Make Sad Servers Happy!

Command line murder
Linux commands
Linux commands

Task 20: Make a Web app

Using express create a resource library website where you can browse the resource articles, books etc which are available and also manage your account
Reference


Level 2


Task 1 - Linear and Logistic Regression - HelloWorld for AIML

  1. Linear Regression - Predict the price of a home, based on multiple different variables. Use sci-kit’s linear_model.LinearRegression()
  2. Logistic Regression - Train a model to distinguish between different species of the Iris flower based on sepal length, sepal width, petal length, and petal width.
    Use sci-kit’s linear_model.LogisticRegression

Task 2 - Matplotlib and Data Visualisation

  1. Explore the various basic characteristics to plots as given below, with python libraries:

    1. Set axes label
    2. Set axes limits
    3. Create a figure with multiple plots using subplot
    4. Add a legend to the plot
    5. Save your plot as png
  2. Explore the given plot types:

  • Line and Area Plot
  • Scatter and Bubble Plot using Iris dataset
  • Bar Plot
    1. Simple
    2. Grouped
    3. Stacked
    4. Histogram
  • Pie Plot
  • Box Plot
  • Violin Plot
  • Marginal Plot
  • Contour Plot
  • Heatmap
  • 3D Plot
  1. Make a multivariate distribution for the given dataset using the given dataset for a classification task. Understand an elementary idea of clustering, that you will explore in more detail later.

Task 3 - Numpy

Using Numpy Generate an array by repeating a small array across each dimension and Generate an array with element indexes such that the array elements appear in ascending order.

Reference : [https://numpy.org/doc/]

Task 4 - Metrics and Performance Evaluation

  1. Regression Metrics - used to evaluate performance of regression algorithms
  2. Classification Metrics - used to evaluate performance of classification algorithms

Task 5 - Linear and Logistic Regression - Coding the model from SCRATCH

  1. Linear Regression:
    1. Understanding:
    2. Coding the linear regression algorithm from scratch:
    3. Testing your model and comparing  it with sci-kits built-in algorithm for various datasets:
  2. Logistic Regression:
    1. Understanding
    2. Coding the linear regression algorithm from scratch
    3. Testing your model and comparing  it with sci-kits built-in algorithm for various datasets

Task 6 - K- Nearest Neighbor Algorithm

  1. Implement KNN using sci-kit’s neighbors.KNeighborsClassifier for multiple suitable datasets
  2. Understanding the algorithm
  3. Implement KNN from scratch. Compare results with sci-kit’s built in method for different datasets.

Task 7: An elementary step towards understanding Neural Networks

Task 8: Mathematics behind machine learning

Deepen your understanding with proper mathematical constructs that act as backbones for the algorithms you write and implement. Perform the below tasks as indicated:

Task 9: Data Visualization for Exploratory Data Analysis

Use Plotly for data visualization. This is an advanced visualization library, more dynamic than the generally used MatPlotlib or Seaborn.

Task 10: An introduction to Decision Trees

Decision Tree is a supervised learning algorithm that can be used for Regressive or Classifying Tasks. It is a way to use conditional statements as a hierarchy so that, for an event, you get the chances of given outcomes.

Task 11: SVM

Support vector machines are supervised learning methods to create a non- probabilistic linear model, where a data value is assigned one of two classes to maximise the difference between the two classes. The data points are vectors and a hyperplane between the two classes is selected optimally to maximize the difference and regularize the loss.

Resources:

  1. Understanding Support Vector Machines
  1. Correct and timely diagnosis of Breast Cancer, an exquisite disease is an essential matter in the medical field. Using the concept of Support Vector Machines, detect the possibility of breast cancer.

Level 3


Task 1 - Decision Tree based ID3 Algorithm

  1. Understanding Basic Terminology
  2. Understand ID3
  3. Implement ID3 for

Task 2 - Naive Bayesian Classifier

  1. Understand Naive Bayesian Classifier, watch it in action using sklearn
  2. Implement Naive Bayesian Classifier for text classification and other applicable datasets

Task 3 - Ensemble techniques

  1. What are ensemble techniques
  2. Apply the ensemble techniques on the Titanic Dataset

Task 4 - Random Forest, GBM and Xgboost

  1. Random forest
    1. Understand
    2. Implement
  2. GBM
    1. Understand
    2. Implement
  3. Xgboost
    1. Understand
    2. Implement

Task 5 - Hyperparameter Tuning

  1. Understanding
  2. Pick a suitable problem (and dataset) and train a model to fit the problem.
  3. Tune the hyperparameters of the model to increase accuracy

Task 6 : Image Classification using KMeans Clustering

Image classification is an important area in real world applications of machine learning. K means clustering is a simple algorithm that uses clusters or collections of data and finds ‘k’ number of centroids, by averaging it out, such that k is minimum. Resources:

  1. Understanding K Means Clustering:
  2. Classify a given set of images into a given number of categories using KMeans Clustering using MNIST dataset

Task 7: Anomaly Detection

Anomaly detection is a way to detect erroneous data points in a stream, by looking at statistical differences. Anomaly detection can be done through unsupervised or supervised learning methods.

Resources:

Task 8: Generative AI Task Using GAN

Develop a generative adversarial network (GAN) model to generate realistic images of a specific category, such as faces, animals, or landscapes. Customize the GAN architecture and train it on a dataset relevant to the chosen category to produce high-quality and diverse synthetic images.

Resources:

  1. Outcome: Implementation and training of GAN model tailored to a specific image category.
  2. Generating diverse and realistic synthetic images using the trained GAN.
  3. Demonstrating understanding of GAN architecture and its applications in generative tasks.

Task 9: PDF Query Using LangChain

Utilize LangChain, a natural language processing framework, to extract relevant information from PDF documents based on user queries. Develop a system that can interpret user queries, process PDF documents, and retrieve relevant sections or excerpts using language understanding techniques.

Resources:

  • LangChain Documentation: Link
  • PDF Parsing with Python: Link
  • Natural Language Understanding (NLU): Link

Task Outcomes:

  1. Development of a PDF query system using LangChain.
  2. Implementation of PDF parsing and text extraction functionality.
  3. Integration of natural language processing techniques for query interpretation.
  4. Testing and validation of the system with various PDF documents and queries.
  5. Documentation of system architecture, functionality, and usage guidelines.

Task 10: Table Analysis Using PaddleOCR

Employ PaddleOCR, an Optical Character Recognition (OCR) toolkit, to extract and analyze tabular data from images or scanned documents. Develop a pipeline that can accurately detect tables, extract data, and perform analysis such as statistical computations or data visualization.

Resource Links:

  • PaddleOCR Documentation: Link
  • Tabular Data Extraction: Link
  • Data Analysis with Python: Link

Task Outcomes:

  1. Implementation of a table detection and extraction pipeline using PaddleOCR.
  2. Development of algorithms for tabular data analysis, including statistical computations.
  3. Integration of data visualization techniques to represent extracted data.
  4. Evaluation of pipeline accuracy and performance on various image datasets.
  5. Documentation of the process, including code, methodologies, and results.

Level 4


Task 1: Create a end to end mini project using the skills you have learnt.

Here's an outline of the steps we'll follow:

  • Set up Environment: Install necessary libraries and dependencies.
  • Collect Data: Obtain a dataset of recipes and their ingredients.
  • Train Model: Train a simple machine learning model to recommend recipes based on input ingredients.
  • Deploy: Deploy the chatbot web interface to a platform like Heroku.

UVCE,
K. R Circle,
Bengaluru 01