Imad Rahal
Assistant Professor, Ph.D.
Department of Computer Science
211 Peter Engel (Old) Science Center
College of St. Benedict | Saint John's University
Collegeville, MN 56321-3000
Tel: (320) 363-2837
Fax: (320) 363-3202
Email: irahal[AT]csbsju.edu





News!

Check out my new book: Vertical Association Rule Mining: From Data Representation to Data Mining. It is available for purchase on amazon.com and barnesandnoble.com soon


Short Biography

I am an Assistant Professor in the Department of Computer Science at the College of Saint Benedict & Saint John's University. I finished my Ph.D. in Computer Science from North Dakota State University (NDSU), Fargo (yes, the cold Fargo!) in July of 2005. My dissertation work focused on Data Mining (Association Rule Mining to be specific). In August 2003, I earned my M.S. Degree in Computer Science also from NDSU where I pursued research in area of Text Mining. Prior to coming to the USA and enrolling in the graduate program, I graduated summa cum laude (with highest distinction) from the Lebanese American University, Beirut, Lebanon in February 2001 with a B.S. Degree in Computer Science. Check out my resume in PDF or MS-Word format


Personal Links


Photos of my family and myself (BTW, I am married and have a 5-year old son and 2-year old daughter)


FALL 2009 Schedule

*** During office hours, I am most likely in my office but, in general, office hours are not promised in anyway. Please check with me personally or via email before making a trip to my office***


Day 1

Day 2

Day 3

Day 4

Day 5

Day 6

08:00 - 09:10

Dept Mtg

N/A

 

CSCI-161L-01

 

CSCI-161L-01

09:40 - 10:50

CSCI-331

N/A

CSCI-331

Office hours

CSCI-331

Office hours

11:20 - 12:30

CSCI-162

N/A

CSCI-162

CSCI-161L-02

CSCI-162

CSCI-161L-02

01:00 - 02:10

Office hours (starting 1:30)

N/A

Office hours (starting 1:30)

CSCI-162L

Office hours
(starting 1:30)

CSCI-162L

02:40 - 03:50


N/A

CSCI-161L-03

 

CSCI-161L-03

 

 04:20 - 07:20

CSCI-217L

N/A

 


 






Useful Resources


UCI Machine Learning Data Repository
UCI Knowledge Discovery in Databases Archive
Frequent Itemset Mining Implementations Repository
Some good Data Mining conferences: ACM SIGMOD, ACM SIGKDD, IEEE ICDM, IEEE ICDE


Fun Stuff

It is easier to change the specification to fit the program than vice versa.

To err is human; to make real mess, you need a computer.

   

There are 10 types of people: those who understand binary, and those who do not understand it.

Two strings walk into a bar and sit down. The bartender says, "So what'll it be?"
The first string says, "I think I'll have a beer quag fulk boorg jdk^CjfdLk jk3s d#f67howe ^U r89nvy~~owmc63^Dz x.xvcu"
Please excuse my friend," the second string says, "He isn't null-terminated."

 

A computer salesman, a hardware engineer, and a software engineer are driving in a car together. Suddenly the right rear tire blows out, and the car rolls to a stop. Our three heroes pile out to investigate.
The salesman announces sadly, "Time to buy a new car!"
Says the hardware engineer, "Well, first let's try swapping the front and rear tires, and see if that fixes it."
Replies the software engineer, "Now, let's just try driving the car again, and maybe the problem will go away by itself."

 

Bill Gates is building a new massive mansion, most of it underground. I guess he is doing this because he doesn't want to spend another dime on Windows.

 

PROGRAMMER'S DRINKING SONG

100 little bugs in the code,
100 bugs in the code,
fix one bug, compile it again,
101 little bugs in the code.
101 little bugs in the code.....
Repeat until BUGS = 0


NONE

 

If programming languages were religions...

C would be Judaism - it's old and restrictive, but most of the world is familiar with its laws and respects them. The catch is, you can't convert into it - you're either into it from the start, or you will think that it's insanity. Also, when things go wrong, many people are willing to blame the problems of the world on it.

Java would be Fundamentalist Christianity - it's theoretically based on C, but it voids so many of the old laws that it doesn't feel like the original at all. Instead, it adds its own set of rigid rules, which its followers believe to be far superior to the original. Not only are they certain that it's the best language in the world, but they're willing to burn those who disagree at the stake.

PHP would be Cafeteria Christianity - Fights with Java for the web market. It draws a few concepts from C and Java, but only those that it really likes. Maybe it's not as coherent as other languages, but at least it leaves you with much more freedom and ostensibly keeps the core idea of the whole thing. Also, the whole concept of "goto hell" was abandoned.

C++ would be Islam - It takes C and not only keeps all its laws, but adds a very complex new set of laws on top of it. It's so versatile that it can be used to be the foundation of anything, from great atrocities to beautiful works of art. Its followers are convinced that it is the ultimate universal language, and may be angered by those who disagree. Also, if you insult it or its founder, you'll probably be threatened with death by more radical followers.

C# would be Mormonism - At first glance, it's the same as Java, but at a closer look you realize that it's controlled by a single corporation (which many Java followers believe to be evil), and that many theological concepts are quite different. You suspect that it'd probably be nice, if only all the followers of Java wouldn't discriminate so much against you for following it.

Lisp would be Zen Buddhism - There is no syntax, there is no centralization of dogma, there are no deities to worship. The entire universe is there at your reach - if only you are enlightened enough to grasp it. Some say that it's not a language at all; others say that it's the only language that makes sense.

Haskell would be Taoism - It is so different from other languages that many people don't understand how can anyone use it to produce anything useful. Its followers believe that it's the true path to wisdom, but that wisdom is beyond the grasp of most mortals.

Erlang would be Hinduism - It's another strange language that doesn't look like it could be used for anything, but unlike most other modern languages, it's built around the concept of multiple simultaneous deities.

Perl would be Voodoo - An incomprehensible series of arcane incantations that involve the blood of goats and permanently corrupt your soul. Often used when your boss requires you to do an urgent task at 21:00 on friday night.

Lua would be Wicca - A pantheistic language that can easily be adapted for different cultures and locations. Its code is very liberal, and allows for the use of techniques that might be described as magical by those used to more traditional languages. It has a strong connection to the moon.

Ruby would be Neo-Paganism - A mixture of different languages and ideas that was beaten together into something that might be identified as a language. Its adherents are growing fast, and although most people look at them suspiciously, they are mostly well-meaning people with no intention of harming anyone.

Python would be Humanism - It's simple, unrestrictive, and all you need to follow it is common sense. Many of the followers claim to feel relieved from all the burden imposed by other languages, and that they have rediscovered the joy of programming. There are some who say that it is a form of pseudo-code.

COBOL would be Ancient Paganism - There was once a time when it ruled over a vast region and was important, but nowadays it's almost dead, for the good of us all. Although many were scarred by the rituals demanded by its deities, there are some who insist on keeping it alive even today.

APL would be Scientology - There are many people who claim to follow it, but you've always suspected that it's a huge and elaborate prank that got out of control.

LOLCODE would be Pastafarianism - An esoteric, Internet-born belief that nobody really takes seriously, despite all the efforts to develop and spread it.

Visual Basic would be Satanism - Except that you don't REALLY need to sell your soul to be a Satanist...

CSB|SJU  |  Computer Science@CSB|SJU  | CSB|SJU official disclaimer