Jan - May 2026 (Timings — Wednesdays: 3:00 - 6:00 PM)
Experiments
Follow the W3 Schools Tutorial on Javascript
Pick one of the following two, implement your ideas and show them to your instructor or the TA before leaving the lab.
Be creative! For example, we can think of attaching course homepages, whenever available, with the time-table. What other ideas can you come up to make the sections/webpages more lively? Explain your design features clearly and demonstrate their functioning. If sufficiently good, we may attach your work(s) to the School webpage for displaying better the sections.
Questions
Answer the following questions as per your webpage design and not based on generic templates found on the WWW.
Follow the W3 Schools Tutorial on Javascript as well as the W3 Schools CSS templates in this lab.
Create an online HTML/CSS version of your CV/Biodata. You must use the parallax effect. The background must be your photo over which the different sections of the CV slide showing the parallax effect. Also, divide your CV page into two vertical parts where the left part occupies 1/4 of the width and the right part is the other 3/4. The left part contains clickable anchors to the different sections of your CV, such as education, projects, hobbies, etc. The right half is the actual contents of the CV. There should also be two special links to change the colour combination of your CV, e.g. from the standard black text on white screen to, say, blue text on a cream coloured screen and back to normal.
Be creative! Try other ways of using the parallax effect to make your CV more interesting. Think of how you can use colours to project the left and right parts of the webpage more effectively. Think of how you want to use responsiveness to make the CV look good on both big and small screens.
Questions
Answer the following questions as per your webpage design and not based on generic templates found on the WWW.
Follow the AFrame Website.
AFrame provides a set of HTML primitives for VR and can be used as standard HTML tags with attributes. Go to the "DOCS" section in the website above and specifically learn using the following primitives:
In particular, create a room of length 4m, width 3m and height 3m. On one of the walls, place a display panel showing an image or a video. There can be other objects in the room as long as they are arranged nicely. The definition of nice is left entirely to you! If it is a video, the video should toggle playing when you click on it.
Here is a video for your use if you do not have any uploaded into your computer.
This file contains a HTML stub into which you can add your VR stuff. Download this file using the right mouse button. You cannot just click it and get the file.
Use your AFrame Technology skills and create any one of the following. Create a file




The first part, that is today's work, is to use pandas module in Python to read, process and analyse csv files. We then port the data from the CSV files to the web using Flask framework, thus demonstrating how to build a basic application using Python and the web. In the next week, we see how to combine reactjs with Python and Flask to build full-fledged, powerful web applications.
You may use the following links to learn how to install pandas and Flask, and build applications.
Here are two csv files that you can use in your experiments today.
Do the following today:
In the lab today, we will continue building web applications with Python: we add react.js to the mix today. In other words, we will learn how to develop a web application with Python as the back-end, Flask as the framework and with react as the front-end. In part I, we used simple HTML/CSS for the front-end.
For today's lab, read this version of a great blog by Miguel Grinsberg. You need to implement the application described in the the link and show its working to the instructor or the TA before leaving the lab. Also, make sure you answer the questions given below.
app.route()
in your .py file?port 5000 in your
package.json file?In this lab, you will see how Python output is displayed by react on a webpage. In the next lab, you will learn how user input from a react webpage is sent to a Python backend and two-way communication occurs between Python and react.
By the way, what we have been doing in the previous lab, this one and the next is what the industry calls full-stack web application development. There is a fairly decent incentive for you to learn these skills well in the lab – industry pays you quite well!
This is the third and the last part of our experiments on full-stack applications development. In this lab, we will implement two-way communication between the React Frontend and the Python+Flask backend. The frontend runs on Port 3000 while the backend runs at Port 5000. The initial part of the experiment remains the same as in the previous lab. You don't need to install any software but activate your virtual environment by running the activate command. Then, move into the correct directories and proceed with today's lab.
While there are no specific links for you to get help, a simple search using a phrase that says, "input to python+Flask backend from react frontend" is sufficient!
There are two tasks to complete in this lab.
Create a new Python application, usdinr.py which takes the number of dollars and conversion rate as inputs and then returns their value in Indian rupees. The inputs must come from the React frontend (described in the next paragraph) and the output must be displayed on the same frontend.
Copy the earlier App.js file into another file (e.g. time.js). Edit the App.js file from the last experiment to create the webpage shown below. The default conversion rate is $1 = INR 83.50. Once you hit the convert button, it will give the answer as Result. The basic webpage is on the left while the output display is on the right.

Create a new Python application, csv-read.py which takes a filename as input from a React frontend (see below), uses Pandas to read it into a dataframe and then returns the dataframe to the React frontend. The display must be in the form of a table.
Create an App.js file that displays the screen below so that a user can enter a .csv filename and then displays its contents as a table. You will have to search the web to see how a dataframe in JSON format can be displayed as a table by React. The basic webpage is on the left while the output page is on the right.
