Java
Spring MVC, Spring boot, Android, Hibernate, MySQL, Oracle, REST, SOAP, SOA etc
I am proficient in the use of Java to build web services, micro-services, Android and enterprise
applications using either plain Java with JAX-RS, JAX-WS and JPA or frameworks like Spring MVC and
lately Spring boot with Hibernate.
Programming involves a lot more than just writing System.out.print("Hello World!");
,
the design and methodology followed in converting any business specification to software will determine the
quality and longevity of such implementation. I have studied and implemented some of the various design patterns
in Java such as the Singleton Pattern and understand the importance creating extensible applications
using techniques such as the Service Provide Interface, SPI.
I have an excellent grasp of the service oriented approach as a result of my continuing work with
financial institutions that have integrated enterprise service boxes into their environment to ease
integration between various core legacy systems.
Many-Objective Swarm Optimization
Java, Algorithms, Evolutionary Computation
My Masters project extended the speed-constrained particle swarm optimizer to use a relaxed
form of dominance, CDAS for comparing solutions and a shift-based density estimator as the secondary
selection mechanism to increase diversity of solutions obtained. Also, the particles in the swarm
will have an archive of personal bests from which the selection will be done using the weighted sum approach.
Finally, the performance of the algorithm will be compared with state of the art algorithms such as NSGA-III and
MOEA/DD using the DTLZ benchmark functions.
Link to the project can be found here
PHP
Vanilla php, Laravel, HTML, CSS, Bootstrap, MySQL
I have been building web applications using php for the last four years. My final year under-graduate project
was a web-based school management portal built using vanilla php and Bootstrap. I have built other web-applications
using Laravel, links to some of these can be found here.
Artificial Intelligence
Java, AI, Evolutionary Computation
Artificial intelligence problems can be classified as state space problems whose solutions are modelled as a
series of steps from an initial configuration (initial state) to a final configuration (goal state). Such state
space problems typically have various solutions with different costs associated with each. The aim is then to
find the series of steps with the minimal cost in the shortest amount of time.
I have developed implementations for brute-force and stochastic search algorithms, genetic algorithms and
artificial neural networks. The implementation paper can be downloaded here.
Javascript
Javascript, jQuery, NodeJS, AngularJS, MongoDB, Neo4j
I have some experience working with NodeJS, AngularJS and data sources such as MongoDB and Neo4j. I am relatively
new to this field and I have not undertaken any major projects in any of the technologies listed above.
Compiler Construction
Java, Compiler, Algorithms
A program of algorithms that accepts regular expression strings and generates the non-determistic
finite state automata, NFA using Thompson's algorithm. The generated NFA is converted to a deterministic
finiste state automata using Subset-construction algorithm. The program also converts arithmetic expressions
into the three-address code intermediate representation.
supplied as input.