Skip to main content

Quick review of my final year project in university

Being passionate about mathematics and programming, I had to choose a project which allows me to practise both, mathematical aspect and wring algorithmic program. Before I stated final year, I already had chosen few projects which all were around artificial intelligence.

One of the choices was “Intelligent Timetable Scheduling System”, which my supervisor, Professor Lee allowed me to take this project. The aim was to create a system which automatically generate a timetable, for example for a university.

I knew that this project is slightly hard for undergraduate student, it best suited for Ph.D. or at least master students who can spend all time on this work rather than being worry about other few modules too. In my case I had four other modules which I had to allocate time for all, however; I was motivated and happy to take all because I personal believe that “intelligence is result of past diligence”.

As a quick review of how and what I did;
Tools I used for project management and keep track of the work:
  • ZOHO project, Google calendar, Microsoft OneNote, Diigo, GTasks and etc. 
Resources I used:
List of academic papers 
Videos, books, academic paper and etc.
  1. Videos: around 100 hours YouTube videos, around 10 hours downloaded videos and some other random video channels such as LearnersTV. 
  2. Books and papers: exactly 0 hard-copy book, around 5 eBooks, 50 academic papers and some other such as power-point lecture notes.
  3. 20 meetings with my supervisor and some other people for example, with the person who was responsible for timetabling in our university.
The covered subjects:
  • Pure mathematics,  neural network, fuzzy logic, Bayesian probability, logic programming (specific: constraints logic programming), constraints satisfaction techniques, computational complexity theory (N, NP, etc.), algorithmic programming and etc. 
This project was beyond the standard programming such as Java, PHP or C#, the main concept was how to approach a problem regardless of which programming language to use. It was about how to write a function/method in best way, in optimal manner. Hence, problem solving skills.

I personally believe, many people can write code (so called programmer) however, what make distinction between them is how to program. This was one of my aims by doing this project.

This was just a quick review of what I did for my final year in university, of-course I there are many other parts which could not be covered here.



Popular posts from this blog

I solved GCHQ puzzle and this is how I did it

Today, I was reading the BBC news and I stumbled upon this GCHQ puzzle:
Take the digits 1,2,3 up to 9 in numerical order and put either a plus sign or a minus sign or neither between the digits to make a sum that adds up to 100. 

For example, one way of achieving this is: 1 + 2 + 34 - 5 + 67 - 8 + 9 = 100, which uses six plusses and minuses. What is the fewest number of plusses and minuses you need to do this?

I love to challenge myself with these kind of puzzles, so I solved this and here is how:

We have 9 numbers [1 to 9] and also we have three possible separators [+, - and nothing] which to fill the gap between numbers we have 8 combinations of separators, e.g. we have 1+2+3+4+5+6+7-89 which in this case we have six times plus, one minus and one time nothing.
So, I need to find all possibilities of combination which total is: 6561

Then, hook the possible combinations into numbers and check the total, easy enough. Now print the solution.

I have written this algorithm in PHP but easil…

The best way to predict the future is to create it

I am sure everyone knows the comfort of being on autopilot, less decision to make, apparently it's more reliable and with less potential mistakes as someone else tested and worked for them therefore it should be safe. but it is true?

But life is not that simple, although the easy way(for now) is to avoid thinking about it. To me at this points of the time (this may not be true in the future) life is a book which you need to write it so you write as you wish. You can write a sad story and make the main character a victim or write a happy story be a strong characters.


The best way to predict the future is to create it Abraham Lincoln or Peter Drucker or Alan Kay (don't matter who said it)

In summer 2016 I had an interview with a startup so few days before the interview date I was preparing myself for the interview and I came across this quote and made a note of it. When I entered the interview room, obviously I looked around the room and as my surprise I saw this frame hanging o…

Laptop touchpad issue on Linux

I installed Linux (Ubuntu 16.4 LTS) on my new laptop, Fujitsu E series, all went well apart from touchpad which did not work at all. I spend few hours searching (AKA Googling) but could not find any hope. That was embarrassing for me who called himself professional Linux user but cannot fix touchpad issue, what about typical Linux user? there must be way, so I kept searching and reading until finally I found the fix and all is working now. Here is the fix if anyone has similar issue:

In cammed line, run:
sudo modprobe -r psmouse

It should work fine for now but only for current session, it may not work after restarting your laptop, so to add permanent fix, do:sudo vim /etc/modprobe.d/psmouse.conf

And add following, then save and exit.

options psmouse proto=imps


I used vim, you can use your favourite text editor such as gedit, vi etc. I hope this helps someone and save their time. Read more on modprobe.


Thank you for reading this, as always happy to hear from you.