On this page, I will be explaining my GitHub repositories. Please click here to view my profile.
CS 357: Numerical Methods
This is another course that I took during my year abroad at UIUC. It covers fundamentals of numerical methods for students in science and engineering; floating-point computation; systems of linear equations; approximation of functions and integrals; the single nonlinear equation; the numerical solution of ordinary differential equations; various applications in science and engineering; programming exercises and use of high quality mathematical library routines.
Each week we were given homework assignments, which primarily involved writing programmes in Python. Many of the problems in these assignments involved implementation of the mathematical techniques we had learnt. These would include matrix manipulation; approximating functions and fitting data. In addition, we were given exposure to the practical applications of these methods. For example, using SVD in image compression and filtering images using the FFT.
**This repository is no longer available. Please contact me directly for more details.**
Object-Oriented Programming (OOP)
During my first two years at UCL, I studied OOP through the Java programming language.
In the first year, we covered basic programming concepts such as classes and methods; conditional statements; loops; recursion; iteration; user input; arrays and string methods. As we learnt these concepts, we applied them each week in programming assignments. A few examples include a calculator; tic-tac-toe game and match-making application. My code for these can be viewed in the ‘yr1’ sub-folder.
In the second year, we learnt more advanced concepts such as static and dynamic methods; inheritance; polymorphism; dynamic data structures; sorting algorithms; concurrency and threading. We also covered networking by looking at the TCP/IP and UDP protocols as well as client and server applications for communicating information. As before, there were weekly assignments, which can be viewed in the ‘yr2’ sub-folder.
ECE 220: Computer Systems & Programming
This course is one that I took during my year abroad at UIUC. It gives an introduction to the design and programming of computing systems. The course focuses on C programming. It begins with coverage of low-level concepts such as I/O; subroutines; stacks; activation records and the run-time stack in LC-3 assembly language, then moves on to C. We then cover basic programming concepts such as functions; arrays; pointers; I/O; recursion; data structures (linked lists, binary trees etc.), and concepts in object-oriented programming through C++.
Each week we had to complete one Lab assignment and one MP (machine problem). The lab assignments would typically be short and were designed to test our understanding of the programming concepts that we learnt each week. MP’s on the other hand, were much longer and involved using what we had learnt to build more realistic programmes used in software. A few examples include a VLSI Floorplan Designer as well as the 2048 game and an Image Editor.
**This repository is no longer available. Please contact me directly for more details.**