I did a workshop for 2nd year B.Tech students in GVP for 3 days (July 1st to July 3rd).
The workshop was a great experience to me.
I had a rough plan for the workshop. That is.
Workshop Theme:
Introduce students to the tools and technologies, which will make them industry ready. Break the virtual wall.
Content Theme:
Gap between Acadamic and Industry.
Execution Theme:
Student do it & present, then I tell a story.
Give them a copy for improvement.
Overall activities:
CodeHS
Networking
RFID Access Card (CMR & Office eg), Barcode scanner, Online payment
Git, GitHub, Open-Source
Code to Execution
-- o --
We started the first session to create a simple Application, that reads the barcode and displays the details of the item.
We followed these steps.
- Understand what JSON and XML are.
- Created a sample JSON example with students details and validated it on https://jsonformatter.curiousconcept.com
- Asked to add 2 more fields to each student details.
- Showed the smallest Barcode scanner application in execution
- I took few biscuit packets, markers
- scanned them and got the details.
- I pushed the code to https://github.com/rohinibarla/workshop
- Asked the students to download code pieces from git repo.
- Everyone has created 3 files
- barcodescanner.html
- data.json
- myscript.json
- They have to execute chrome browser to allow local files to be accessed.
- using run command: "crome.exe --allow-file-access-from-files"
- Everyone was able to re-create the app which I showed.
- Instead of using barcode they could type in the ID of the item. What typically happens when super market people are unable to scan Food products' barcode, they enter the barcode number.
- Next they edited the details of items in data.json file.
- And found that that is reflected.
The ID cards of the students had a barcode on it.
So we tried the same app with student details.
Instead of items, each group has replaced the data with Student of that group.
It worked, when we scanned the barcode on the ID card, the names of students and other details have appeared.
Later we added 2 more fields to be displayed.
Now I explained, how in general a web app involves the data in db, the backend and front end. Instead of JSON details they are stored in DB. When you query a DB you get the details in form of JSON in some DB's like mongodb.
In CMR Central in Vizag, the food court actually uses a card system. Where when you enter, you pay amount and you get a card. You will use the card to buy food items. Occasionally you need to recharge your card. When you leave, you give the card back and you get back the balance amount.
Every student has experienced this. Later I showed them RFID cards and reader. And asked them to design the CMR Food court Application. I just asked to define the interfaces and different function in the system.
Once each group (of 3 people) has done that after correcting one or two iterations. In CMR he keeps a Rs 20/- as deposit balance. So asked them to implement that as well. So got the model with JSON as data format to communicate with the DB server.
Later I talked about how office access is provided in companies, how I used use card in Microsoft to enter and leave. They got a rough picture how these are implemented.
I told them to get the details of their class students and see it working.
Second day in the morning, students are still coming, so though of doing something which is ok if students who join the class late miss it.
So created a form with TypeForm. For students to fill their details, including their Card ID.
I took all the data as CSV. Found a website that converts CVS into JSON. Did the conversion. Pushed to the workshop repository in GitHub. Students downloaded it, updated the MyScript.js file to use the field names appropriately. Once they are done. We were able to scan any students ID card and their details were displayed. That was a fun moment. In 45 mins time we were able to create this, that students could relate well. This moment of testing with real barcode scanner and their ID cards was just real.
The whole purpose is to break the virtual wall, the students create, i.e. I cannot create software. When they go through this experience, they understand that with this little code, they could create an application that they are so familiar with. And the mystery around the things they see day to day, is unfolded now. From the feedback I came to know, some people got inspired and felt they could create software. They got interest in coding. So for sure this broke some walls.
-- o --
First day afternoon Second session, we started with Hour Of Code, using CodeHS. Once they completed it, they started doing CodeHS, remaining part. We continued till second day lunch time.
Second Day second session we started with Git, for that we started by learning few of the commands like cd, cp, cat, mkdir... which we need.
Then I showed them how they could use these commands to create history for the code they have written. Asked them to download Git-SCM. And create git repo's and play with the common git commands like add, commit, log, status.
Students tried the https://try.github.io which will teach you git commands.
Everyone created account in GitHub and applied for GitHub education package. I asked them to figure out how they could push their local repo to GitHub.
-- o --
Third Day I got detailed, so told them to start completing the CodeHS till the time I come. I came an hour late. I told them that we will learn Swift programming language. But when I came found that many people are still struggling with CodeHS. Their is no point in touch many things. So dropped the idea of learning Swift. So everyone was doing CodeHS. I was interacting with groups of people and finding out what their common problem and suggesting few things what they can do that will address this problem. Common question was I want to internship, but I am not eligible, how to become eligible?
Some people have ideas, which they discussed at the end of the class.
Third day afternoon we had an ideation session. So each group has found problems which majority of them have and come up with solutions. The ideas were good. Asked them not to think of implementation. Assume you had a Gene and you can ask for anything. Don't think this already exists. Your way of solving the problem might be different. Later each group were explaining their ideas. That were all good. Again another round and again they have explain the ideas. I told that these are doable and how they could build prototypes first.
At the end I took feedback and gave some links to works that will be useful to them.
-- o --
Many people said they were interested to learn Swift in the feedback. So following Saturday I added another day of interaction and learning together i.e. on July 8th. 20+ students turned up, they all learned Swift.
Started with Swift Tour and learned programming constructs. We used IBM's https://swift.sandbox.bluemix.net for writing the code. It has the option to use the later Swift 4.0 version as well to compile and see.
Our final goal for the day was to write program that prints primes less than 10,000,000. The sandbox has a short time limit to execute the code. In that time we need to get the output. From the first version of isPrime, it was improved step by stem to reach till 100,000. It has to be further improved.
-- o --
When you care enough, your planned execution flow can change in several moments. Here the goal is not to complete something, but to make them learn clearly and feel that they could as well do. The feeling is the goal. All these activities are just means to that end.
Here are few students' feedback:
Teaches the way how to learn stuffs.
Thats the basic thing our education system doesn't teach us, right?
- V S P Suchendra Gunda,IT
due to this workshop confidence levels are increased in us we also learned the coding without copying we enjoyed a lot your classes.
- N.v.s.chandana,IT
this workshop created a new enthusiasm in me,hope this will lead to my future success.what i learnt here is we should start doing work on our interests
- A.NIKHITHA,CSE
it was completely interacting and made us think more that yes we can do lot more.
- SUSHMA KASANI,IT
point of view was changed from impossible to possible with effort due to this workshop.real achievement is an innovation..
- A.Venkata Rajesh,cse
i liked this workshop due to this workshop i got confidence that i can do thank you sir.
- V.SRI SAI TARUN,IT
This workshop made me so ambitious.
- Azay kumar,IT
Really i feel this workshop so helpful....it made me get a brief view of my future ...how to design it ...it built me my confidence.
- Chochupatla Surya Meghana ,IT
Learned latest practices
got interest in coding
- k.jeyendra srinivas,IT