Tag Archives: OO Programming

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

TV Schedule App

Dates

  • Initial development: August 2014 – January 2015
  • Occasionally enhanced: February 2015 – Present

Technology

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

App

Link to App

Other Version(s)

Previous version: TV Schedule Windows Gadget

Info

I originally developed this as a Windows Sidebar Gadget 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). It is currently being updated to use the MVVM design pattern.

For TV series I am interested in, it displays the episodes showing on any day. Its data is stored in an XML file, which I manually update as TV series are announced, start/end, go on break, etc.

Continue reading

Platforming Spaceship

platforming-spaceship-icon

Dates

September 2013 – November 2013

Technology

OO Programming, C#, .NET for Windows Phone, Microsoft Visual Studio

Other Version(s)

Original University assignment project: Windows Mobile Game

Info

Original project was a .NET Compact Framework based, networked, Windows Mobile 6 game I developed for a University assignment.

Later, I re-developed this project to learn programming with .NET for Windows Phone using XAML. I followed portions of Microsoft’s ‘Building Apps for Windows Phone 8 Jump Start‘ online course available on MSDN Channel 9. I implemented some of the course concepts by porting a the original .NET Compact Framework based to Windows Phone 8.

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

Salaah Times Timetable Converter

salaah-times-converter-icon

Dates

  • 2011

Technology

OO Programming, Microsoft Visual Studio, C# (.NET), XML, DTD, XSLT, XPath

Info

Salaah (Muslim prayer) Timetables are often created using Excel, but my Salaah Times Windows Gadget requires XML. After exporting the Excel timetable to CSV format, this converter app (written in C#), converts it to XML.

Continue reading

JSudoku

j-sudoku-icon

Dates

Technology

OO Programming, JavaScript, XHTML, CSS

Info

I developed this web-based Sudoku game using JavaScript, XHTML and CSS, to facilitate my learning of JavaScript.

I initially developed this game during any free time I had at work, where I was waiting for more work to arrive. During this time, we were advised to read or talk (quietly). Some people would draw art in Microsoft Paint. That gave me the idea of make this sudoku game using just notepad (& Internet Explorer). I had to rely entirely on my knowledge of CSS, XHTML & JavaScript as we only had no internet access.

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