Dr. Islam Elkabani received his Ph.D. in Computer Science from New Mexico State University (NMSU), USA in 2007. He worked as a Teaching and Research Assistant during his graduate studies at NMSU. Between 2007 and 2009, he worked as an Assistant Professor of Computer Science and an Executive Director of the Computer Center of the Faculty of Science at Alexandria University, Egypt. He has been a faculty member in the Computer Science Department at Beirut Arab University since September 2009. His research interests include Knowledge Representation, Answer Set Programming, Social Networks Analysis and Mining, Assistive Technologies, Natural Language Processing and Data Mining.
Theory of computation, Compilers Construction, Programming Languages Structures, Operating Systems, Advanced programming using C++, Object Oriented Programming using Java, Data Structures and Algorithms, Web Programming, Discrete Structures, File Structures, Decision Support Systems, Software Project Management
Knowledge Representation, Logic Programming and Nonmonotonic Reasoning, Advanced Programming Languages Structures (Denotational Semantics), Human-Computer Interaction, Multi Agents Systems
Web Programming - CMPS 246
Class Meeting: Thursday 10:00 - 12:00
LAB Meeting: Tuesday 11:00 - 02:00
Office Hours: Monday 11:00 - 12:00
1. Student will be able to understand the major web technologies, the Internet Infrastructure and the difference
between server-side and client-side programming.
2. Student will gain a strong knowledge about the cutting-edge techniques for developing web-based applications
developing Web applications
4. Student will be able to work effectively both in a team and independently in lab assignments and group project
using some tools such as Dreamweaver, PHP 5, Mysql database and Apache server.
5. Student will gain presentation skills.
Download course syllabus as PDF
Discrete Structures I - CMPS 248
Class Meeting: Thursday 08:00 - 10:00
LAB Meeting: Wednesday 02:00 - 05:00
Office Hours: Tuesday 11:00 - 12:00
The course aims to provide students with the specialist knowledge in Discrete Structures and Discrete Mathematics. With this overall aim, the course strives to enable students to:
• Understand analytical, developmental and technical principles that relate to Discrete Structures
• Develop the academic abilities required to solve problems and applications in Discrete Structures and critically
assess relevant aspects of Computer Science.
• Demonstrate an ability to initiate and sustain in-depth research in applications based on this topic.
1. Student will be able to learn and understand basic topics in mathematical logic.
2. Student will be able to construct formal proofs in propositional and predicate logic.
3. Student will be able to learn and understand functions, sets, relation and their applications in computer
4. Student will be able to model using sets, functions, and relations
5. Student will able to understand and use different types of counting techniques and their application in
6. Student will be able to learn logic programming and design and implement Prolog programs.
7. Student will be able to analyze discrete structures related problems and identify the requirements for solving
8. Student will be able to design and implement C++ programs for some discrete structure applications.
Download course syllabus as PDF
Theory of Computation - CMPS 346
Class Meeting: Monday 12:00 – 14:00
Problem Solving: Thursday 08:00 – 10:00
Office Hours: Monday 10:00 – 11:00
The course aims to provide students with the sense of interest for computability theory, automata theory and complexity theory. With this overall aim, the course strives to enable students to be able to determine what can be computed and what cannot be computed, its time and memory complexity, and on which type of computational model. The course also intends to teach students how to reduce one problem to another.
1. Student will be able to understand the different formal languages and different abstract machines recognizing
2. Student will be able to learn how to design a deterministic and non-deterministic finite state machine.
3. Student will be able to distinguish between regular language and non regular language and use the pumping
lemma to prove that a language is non regular.
4. Student will be able to learn how to design a context free grammar and push down automata in order to
recognize a certain context free language.
5. Student will be able to distinguish between context free languages and non context free languages and use
the pumping lemma to prove that a language is non context free.
6. Student will be able to understand turing machines and how they work.
7. Student will be able to understand decidable and undecidable language and use the mathematically proving to
prove the undecidability of a language.
8. Students will gain a preliminarily knowledge about the complexity theory.
Download course syllabus as PDF
- Instructor of Information Technology in the Health Career Opportunity Program (HCOP), New Mexico State University, USA, Summer 2005.
- Instructor of Robotics Programming in the “Young Women in Computing” Program, Department of Computer Science, New Mexico State University, USA, Summer 2006.
- Member of the Association of Logic Programming (ALP) since 2003
- Participated in revising the new curriculums for the Computer Science and Information Technology programs at Beirut Arab University (Fall 2009)
- Member of the Strategic Planning Committee for the Faculty of Science, Beirut Arab University. Beirut, Lebanon 2010.
- Member of the organizing committee of the 3rd EMUNI Research Souk 2011 (ReSouk 2011), the Euro-Mediterranean Student Research Multi-conference. Beirut, Lebanon 2011.
- Member of the organizing committee of Beirut Arab University Research Day 2012
- Member of the organizing committee of Beirut Arab University Research Day 2013
- Coordinator of the organizing committee of the VEX Robotics Competition workshop, Beirut Arab University (Fall 2012).
- Member of the Quality Assurance Unit of the Faculty of Science, Beirut Arab University (2010 – 2014)
- Coordinator of the Computer Science Program ABET Accreditation Committee, Beirut Arab University (2010 – Now)
- Selected by the Arab Robotics Association to be the Chair of the Judiciary Committee for the 6th Annual Arab Robotics Competition (Spring 2013).
- Member of the Beirut Arab University Committee responsible for preparing the self-assessment report for the FIBAA Institutional Accreditation 2014
- Participated in revising the new curriculum for the Computer Science program at Beirut Arab University 2014
- The Chair of the Design and Programming Committee in the Lebanese National Robotics Competitions in the years 2015 and 2016
- Selected by the Arab Robotics Association to be the Chair of the Design and Programming Committee in the 9th Annual Arab Robotics Competition (Spring 2016)
- A scholarship from the Egyptian Government, 2001
- A teaching & research assistantship from New Mexico State University, New
Mexico, USA, 2002
- Winner of the NM-AGEP Best Poster in Math, Science and Engineering, Las Cruces, NM, USA, 2004
- Winner of the best Science Poster in the Graduate Research and Arts Symposium (GRAS), Las Cruces, NM, USA, 2004
- Winner of the merit-based enhancement award from the New Mexico State University Graduate School for academic year 2005-2006.
- The coach of the Egyptian Team winning the best programming award at the International Robotics Contest (FLL), Atlanta, Georgia, USA, 2008
- Supervisor of the Senior Year Project “MORSHID” the winner of the 3rd place prize in the Global Startup Battle organized by Google Entrepreneurship, USA, 2014