I came across Internshala in my 3rd year while looking for an online winter training. After checking out the content of the trainings, I enrolled myself in Core Java. I started with the Java training since I had a fair knowledge of the basic concepts of Java. The training introduced me to the IntelliJ IDE and taught me the basic concepts of Java – its variables, data types, and operators. Next, I learnt about interfaces, arrays, and strings along with classes and objects. The training helped me understand how UI could be designed using FXML. The third module was about the concepts of object-oriented programing. I wasn’t familiar with OOPs at all but gained a fair knowledge of the same during the training. Moving forward, I learnt about JVM, garbage collector, and exceptional handling. I also learnt to develop a professional desktop software from scratch while working on the ‘Connect Four’ project. I was facing a difficulty in keeping up with time due to my academic schedule and was disappointed at not being able to complete the training in time. I wrote to the support team, and generously enough, they extended my training. I was satisfied with the experience, so I did two more trainings, viz. Programming with Python, and Android app development.
My semester examination started shortly after I completed my trainings, and then I took a break. Once my exams were over, I decided to rebuild the project that I had worked on during my internship with DRDO in my 2nd year. I was asked to build a desktop software that would load data from text files and display them as four graphs. Since I didn’t have any knowledge of UI in Java at that time, I had copy pasted a code snippet from the internet and submitted my project. However, it had a lot of glitches. The project had four graphs in separate frames, and I had to close each graph individually. Also, I had to restart the software to load new data and was unable to create a JAR package that could work on different systems. Now that I had learnt Java, I modified its UI such that all the graphs were visible on one frame in a four-tabbed pane. I added a menu to load new data without having to restart the application and changed all the naming conventions in the recommended way. I added a few other features to this application for beautifying the project.
After modifying the project, I met with a scientist at DRDO and secured another 3-month internship at DRDO. I am now working on a machine learning algorithm, called Principal Component Analysis, that requires me to work on Java and Python. I am coding this algorithm from scratch and now I understand the long lines of code which once seemed alien to me; they don’t give me nightmares anymore. The concepts of for loops, if-else, functions, and arrays that I had learnt as a part of the training are proving to be quite beneficial for me. I am able to understand the complexity of the algorithm and have devised the algorithm such that it imports data from a .txt file to a 2D NXM matrix and performs generalization, normalization, transpose, multiplication, etc.
About the Author: N. Caleb Jebadurai, a student of the Shepherd Institute of Technology, talks about his internship experiences at DRDO before and after he did an online training. This story was first published on Internshala, an internship and trainings platform.