I absolutely agree - Arabic is a beautiful language and a joy to learn, and it is particularly appealing for those who enjoy structure and regularity (e.g. CS and math folk!). Be forewarned, though - the significant differences between MSA (modern standard Arabic, the focus of most "Arabic" courses/material) and regional/national dialects (and the differences between those various dialects themselves) may make it a bit less practical than you'd hope (and a source of disappointment when you go to actually speak with people!).
It's basically an online version of Hans Wehr, the de facto standard dictionary for students of Arabic. You can search by root or by word and provides form I vowelling, masadir (infinitives), broken plurals, and other useful information organized by form. I know there exist other good dictionaries out there, but I never found one I quite liked as a reference as much as I enjoyed Hans Wehr. I hope someone else finds it useful! (I've been neglecting it a bit recently, so I apologize for any bugs and for the lack of an SSL cert).
Permit me to plug a pet project of mine:
http://arabicreference.com
It's basically an online version of Hans Wehr, the de facto standard dictionary for students of Arabic. You can search by root or by word and provides form I vowelling, masadir (infinitives), broken plurals, and other useful information organized by form. I know there exist other good dictionaries out there, but I never found one I quite liked as a reference as much as I enjoyed Hans Wehr. I hope someone else finds it useful! (I've been neglecting it a bit recently, so I apologize for any bugs and for the lack of an SSL cert).