This week was all about catching up. The project that I will be working was introduced this week by Dr Shawn which looked both interesting and challenging at the same time. I was assigned to upgrade and improve the functionality of two main parts in an existing design software. As the project was previously worked on by other interns, I spent a large amount of time understanding and catching up to fully grasp it in order to effectively improve its functionality. The two main parts that I will be working on is first, an Integrated Development Environment program used by the user and second a back-end framework used to perform file compilations and synthesis.
The IDE program functions as a platform for the user to create and design their project that they wish to implement. There is a schematic program, used by the user to make connections between electronic parts as well as a text editor where the user implements their design’s functionality in C++.
The source code and the schematic implemented in the IDE program are then passed onto the back end frame work program, communicated through the REST API protocol. These source files are then compiled into file formats such as executable for design simulation as well as synthesis, the process of translating a description of a circuit design in a high level language (such as C++) all the way down to a format (like bit stream).
My task in the coming weeks are to improve on the inefficient methods and data storing procedures used in file compilations, increasing the robustness and flexibility of tools used in synthesis and finally to improve on tightening the integration between the IDE program and the back end framework.
This week, Dr Shawn also provided me and my fellow colleagues an opportunity to perform security auditing. Security auditing is the process of examining the information security of an information system by checking on the controls applied to protect its data inflow and outflow. This opened my eyes to the world of data security and made me realize how unprotected the data in our devices are. Therefore, we should always be cautious and aware of the programs that we use to ensure that our data is protected, secure and its distribution is within our control. Overall, this week has been a difficult week in learning, but I know that this will help me one day as I teach myself to learn independently.