Category Archives: Academic Project

Salaah Times App

Dates

  • Initial development: August 2015 – December 2015
  • Occasionally enhanced: January 2016 – Present

Technology

OO Programming, MVVM, XAML (WPF), C# (.NET), XML

App

Link to App

Other Version(s)

Previous version: Salaah Times Windows Gadget

Info

All Muslim’s are obligated to offer 5 daily prayers (Salaah) during specific times of the day. This was originally developed as a Windows Sidebar Gadget to aid in meeting this obligation in 2011 (using JavaScript, XHTML & CSS), but it was rewritten as a XAML-based, C#, widget-like app, so I could learn more XAML (& LINQ). A companion converter app provides an XML prayer timetable for this app to visually display. It is currently being updated to use the MVVM design pattern.

Continue reading

AI Agent for Ms Pac-Man

ai-ms-pac-man-icon

Dates

Technology

OO Analysis/Design, OO Programming, Java, AI, Tree Search Algorithms, Rule-Based System, Fuzzy Logic, Visual Paradigm, Eclipse

Info

I developed an Artificial Intelligent (AI) application (or AI Agent) that played Ms Pac-Man for my Master’s dissertation, using an iterative development lifecycle so I could iteratively improve my AI Agent by using measurable metrics. The agent I developed was a Fuzzy Logic, Rule-Based System combined with multiple Tree Search Algorithms.

Continue reading

Information Systems Management & Strategy Assignments

isms-icon

Dates

Report

I conducted a detailed analysis & evaluation of the strategy for a fictional Halal restaurant chain (Spices of South East Asia), using PESTEL Framework & Five Forces Framework. I then assessed the applicability of Value Chain Analysis in regards to the possible contributions made by IS/IT for this restaurant chain.

Presentation

I explored business alignment using assumption that there is one organisation, when there are “…many interpretations of the same organization(s).” It was based on a research paper from Strategic Information Management, 3rd Ed.

Continue reading

Register Allocator for Compiler

compiler-register-allocator-icon

Dates

Technology

OO Programming, Java, Assembly, Compiler/Interpreter, Notepad++, ANTLR

Info

I developed Top-Down & Bottom-Up Local Register Allocators, using the ANTLR compiler generation toolkit. A Register is a memory location on a Processor. A Register Allocator will transform an Assembly Program that has unique & unlimited virtual memory locations, to an Assembly Program that has a limited set of physical memory locations, which are reused as needed.

Continue reading

Simple Parser & Interpreter

compiler-simple-interpreter-icon

Dates

Technology

OO Programming, Java, Assembly, Compiler/Interpreter, Notepad, ANTLR

Info

I created a simple Parser and Interpreter for an Assembly-like programming language, using the ANTLR compiler generation toolkit. I wrote Regular Expressions and parsing rules that defined the programming language; that is what the instructions were and how they could be used. I then developed the interpreter that would read and execute programs written in this programming language.

Continue reading

Questionnaire App & Admin System

q-app-q-admin-icon

Dates

Technology

OO Programming, Java, J2ME (Java for Mobiles), J2EE, Servlet, SQL, Client/Server, NetBeans, MySQL

Info

For this assignment, I developed a Java based Questionnaire System consisting of a J2ME mobile application for students to answer questions & a J2EE Servlet based admin website to administer the questions. The questions and answers are stored in a MySQL database. Both students & admin staff can view results as bar & pie charts.

Continue reading

Bank Loan Artificial Neural Network

bank-loan-ann-icon

Dates

Technology

Programming, Artificial Intelligence (AI), MATLAB (for AI App), C# (for data prep.), Microsoft Visual Studio

Info

I built, trained & tested an Artificial Neural Network (ANN) in MATLAB, to find the optimal ANN architecture for processing Bank Loan applications. The Lecturer provided anonymous data collected from a real bank, consisting of over 400 bank loan applications, of which some were accepted and some rejected. To train the ANN, I developed 2 apps in C#, one to prepare data for input into the ANN & another to calculate the accuracy of the ANN’s results.

Continue reading

Noughts & Crosses

noughts-and-crosses-icon

Dates

Technology

OO Programming, Java, RMI, Design Patterns, BlueJ

App

Link to App

Info

I built a Java based, 2-player, networked Noughts & Crosses game, using RMI for networked game play. Users could play against the computer (which made random moves) or against another player. For 2-player networked games, one player must set their game as the server (via the toolbar), so the other player could connect to it.

Continue reading