ABOUT ME
UBC 3rd Year Computer Engineering Student
UBC 3rd Year Computer Engineering Student
I am an aspiring Software Developer, currently in my third academic year. I am highly interested in backend web development and the cloud
My hobbies include cooking and watching formula 1. I am a very curious person and often try to explore and use the newest technologies available for development. Proficient in the following Technologies: C C++ C# Java Python Verilog ARM/x86 SQL Server GIT Find my Projects below |
Academic & Work Experience
Academic Terms (5/8)
75%
Work Terms (0/4)
0%
I have been part of the UBC AgroBot design team since August 2021 and our aim is to build a fully autonomous agricultural robot that will be able to perform operations such as weeding and crop health checking. We also aim to compete in the Purdue AggrowBot competition. My role includes ML training and IoT integration using edge devices such as the Jetson board and Coral Edge TPU.
- Performed Transfer learning to develop a wheat detection and classification model with 87% validation accuracy and 0.2 validation loss
- Integrated the ML model onto an Edge device (Coral Edge TPU) to increase real-time inference speed by up to 80%
- Utilized: TensorFlow, Coral Edge TPU, Python, OpenCV, GIT, Google Cloud
• Built a REST API that stores Unix commands and their descriptions.
• Used MongoDB, DTOs, and Asynchronous programming (Async all the way) for efficient data access.
• Used dependency injection and inversion of control principles to encapsulate data access and decouple controller from dependencies.
• Followed the Test Driven Development (TDD) approach and performed unit testing and regression testing using xUnit and Postman to validate code.
• Deployed using Docker and used Kubernetes to implement scaling of pods, self-healing, health probing and load balancing.
• Utilized: C#, .NET 5, Async/await, RESTful APIs, Docker, Kubernetes, MongoDB, Postman, xUnit.
• Used MongoDB, DTOs, and Asynchronous programming (Async all the way) for efficient data access.
• Used dependency injection and inversion of control principles to encapsulate data access and decouple controller from dependencies.
• Followed the Test Driven Development (TDD) approach and performed unit testing and regression testing using xUnit and Postman to validate code.
• Deployed using Docker and used Kubernetes to implement scaling of pods, self-healing, health probing and load balancing.
• Utilized: C#, .NET 5, Async/await, RESTful APIs, Docker, Kubernetes, MongoDB, Postman, xUnit.
• Built an ASP.NET Core MVC Web Application for users to buy/sell used cars.
• Used Entity Framework ORM (DBContext), Migrations, SQL Server for data storage and persistence.
• Created entire frontend UI using HTML/JavaScript and Bootstrap CSS templates.
• Implemented CRUD operations, added REST API endpoints using AutoMapper to improve performance.
• Added Authentication & Authorization (login system) and performed Client & Server-side Data Validation for security.
• Deployed SQL database and application to Azure Cloud to enable remote access.
• Utilized: C#, ASP.NET Core, MVC, SQL, Entity, Azure, HTML/JavaScript.
• Used Entity Framework ORM (DBContext), Migrations, SQL Server for data storage and persistence.
• Created entire frontend UI using HTML/JavaScript and Bootstrap CSS templates.
• Implemented CRUD operations, added REST API endpoints using AutoMapper to improve performance.
• Added Authentication & Authorization (login system) and performed Client & Server-side Data Validation for security.
• Deployed SQL database and application to Azure Cloud to enable remote access.
• Utilized: C#, ASP.NET Core, MVC, SQL, Entity, Azure, HTML/JavaScript.
• Created a website that tracks Cryptocurrency market trends using the Coin Gecko API using React.
• Utilized: ReactJS, CSS, Hooks (State/Effect), JavaScript.
• Utilized: ReactJS, CSS, Hooks (State/Effect), JavaScript.
- Implemented CI/CD pipeline on an AWS EC2 Jenkins instance to automate building, testing and deployment
- Automated unit testing and integration testing using freestyle jobs in Jenkins
- Automated static code quality checking using SonarQube and added deployment to a Nexus repo for releases
- Configured to automatically start the pipeline if there was a new commit to the GitHub repo; Will also pull code and run pipeline every 5 hours everyday.
- Utilized: AWS EC2, Jenkins, Maven, SonarQube, Nexus
Facial Sentiment Detection, Music app (ML)
• Created a dynamic web application in Django that integrated a Pytorch ML model to recommend music based on users’ facial sentiment.
• Performed Transfer Learning on a self-collected dataset, thereby creating a facial detection and classification model with 88% validation accuracy and 0.1 validation loss.
• Coordinated with team to design a highly robust and accessible frontend that displays prediction results from a Google Cloud deployed backend.
• Utilized: Django, Pytorch ResNet-18, python, HTML/CSS/JavaScript, AJAX, Google Cloud, GIT.
• Performed Transfer Learning on a self-collected dataset, thereby creating a facial detection and classification model with 88% validation accuracy and 0.1 validation loss.
• Coordinated with team to design a highly robust and accessible frontend that displays prediction results from a Google Cloud deployed backend.
• Utilized: Django, Pytorch ResNet-18, python, HTML/CSS/JavaScript, AJAX, Google Cloud, GIT.
Simple RISC Machine on De1-SoC
• Utilized Verilog and Quartus to design a Reduced Instruction Set Computer that supports function calls to execute any possible algorithm stored in memory.
• Produced testbenches using ModelSim to remove bugs and improve clock frequency by up to 3 times.
• Programmed a finite state machine and a Datapath to support and automate execution of instructions such as MOV, CMP and ADD.
• Utilized: DE1-SoC FPGA, Arm ISA, System Verilog, Quartus, ModelSim.
• Produced testbenches using ModelSim to remove bugs and improve clock frequency by up to 3 times.
• Programmed a finite state machine and a Datapath to support and automate execution of instructions such as MOV, CMP and ADD.
• Utilized: DE1-SoC FPGA, Arm ISA, System Verilog, Quartus, ModelSim.
First Year
APSC 160 Introduction to Computation in Engineering Design
Analysis and simulation, laboratory data acquisition and processing, measurement interfaces, engineering tools, computer systems organization, programming languages.
Analysis and simulation, laboratory data acquisition and processing, measurement interfaces, engineering tools, computer systems organization, programming languages.
Second Year
CPEN 221 Principles of Software Construction
Design, implementation, reasoning about software systems: abstraction and specification of software, testing, verification, abstract data types, object-oriented design, type hierarchies, concurrent software design. |
CPEN 211 Introduction to Microcomputers
Boolean algebra; combinational and sequential circuits; organization and operation of microcomputers, memory addressing modes, representation of information, instruction sets, machine and assembly language programming, systems programs, I/O structures, I/O interfacing and I/O programming, introduction to digital system design using microcomputers. |
CPEN 291 Computer Engineering Design Studio I
Design projects involving hardware (electronic devices and circuits, microcomputers) and software. Use of tools including Arduino, Processing and Git. |
CPSC 261 Basics of Computer Systems
Software architecture, operating systems, and I/O architectures. Relationships between application software, operating systems, and computing hardware; critical sections, deadlock avoidance, and performance; principles and operation of disks and networks. |
MATH 220 Mathematical Proof
Sets and functions; induction; cardinality; properties of the real numbers; sequences, series, and limits. Logic, structure, style, and clarity of proofs emphasized throughout. |
CPSC 221 Basic Algorithms and Data Structures
Design and analysis of basic algorithms and data structures; algorithm analysis methods, searching and sorting algorithms, basic data structures, graphs and concurrency. |
Third Year
CPEN 331 Operating Systems
Operating systems, their design and their implementation. Process concurrency, synchronization, communication and scheduling. Device drivers, memory management, virtual memory, file systems, networking and security. |
CPEN 311 Digital Systems Design
Advanced combinational and sequential electronic system design. Hardware specification, modelling, and simulation using hardware description languages (HDLs) and CAD tools. Design with programmable logic including FPGA's. Applications include complex state machines, microcontrollers, arithmetic circuits, and interface units. |
CPSC 320 Intermediate Algorithm Design and Analysis
Systematic study of basic concepts and techniques in the design and analysis of algorithms, illustrated from various problem areas. Topics include: models of computation; choice of data structures; graph-theoretic, algebraic, and text processing algorithms. |
CPEN 322 Software Construction II
Contemporary concepts and techniques for developing interactive software applications: client-server architectures; session-oriented systems; security and scalability; models of application deployment. |
ELEC 331 Computer Communications
Analysis, design and implementation of computer networks and their protocols. Application layer protocols, transmission control protocol (TCP), Internet protocol (IP), routing algorithms, reliable data transfer, multiple access, Ethernet.
Analysis, design and implementation of computer networks and their protocols. Application layer protocols, transmission control protocol (TCP), Internet protocol (IP), routing algorithms, reliable data transfer, multiple access, Ethernet.
I would love to hear your feedback
please reach out to me
please reach out to me
Location: Vancouver, BC
Email: [email protected] LinkedIn: https://www.linkedin.com/in/dchakravarthy2403/ GitHub: https://github.com/deepan19 Resume: https://github.com/deepan19/Resume/blob/main/Resume%20v2.pdf |