Image Description

Ahmed Zekri


Mathematics & Computer Science Department


a.zekri@bau.edu.lb


07 985080 Ex: 3323


Debbieh


Ahmed Zekri

Assistant Professor of Computer Science


I received my B.Sc. and M.Sc. degrees in Computer Science from Alexandria University. I received the PhD degree on 2008 from the Graduate School of computer science and engineering, The University of Aizu, Japan. Starting in Jan 2009, I worked an assistant professor of computer science in the department of Mathematics and Computer science, faculty of science, Alexandria University. Since Sept 2012, I have been working in the department of Mathematics and Computer science, faculty of science, Beirut Arab University. I worked as an executive manager of Alexandria University Digital Library, Apr 2011 until Aug 2012. I also worked as an executive manager of the Computer Unit, Mar 2010 until Nov 2010, Faculty of Science, Alexandria University. My research interests include parallel algorithm design and implementation, performance evaluation on multi- and many-core processors, resource provisioning and scheduling of cloud computing data centers, parallelizing digital image processing applications.

Download CV

Teaching

Previous courses

Undergraduate Courses:

Introduction to programming, object oriented programming, data structures, computer architectures and organization, parallel computing, operating systems, databases systems, information systems, analysis and design of algorithms, multimedia systems, computer systems, microprocessors, analysis and design of information systems.

Graduate Courses:

Advanced computer architectures, research topics in parallel computing, advanced information system analysis and design, Information retrieval, advanced analysis and design of algorithms, Image processing

Spring 2015/2016

  • CMPS 242 - Object Oriented Programming
  • Object Oriented Programming -  CMPS 242

    Class Meeting: Wednesday 10:00 - 12:00

    Catalog Description

    Object oriented concepts and techniques for analysis, design, and implementation. Topics include methods and parameters passing, recursive methods, objects and classes, UML representation of classes, abstraction, encapsulation and information hiding, message passing, methods overloading and overriding, classes relationships (aggregation, composition), inheritance, polymorphism, abstract classes, interfaces, Exception handling, Files.

    Textbook

    An Introduction to Object-Oriented Programming With JAVA: Fifth Edition McGraw-Hill. C. Thomas WU.

    Course Objectives


    Students who successfully pass this course will be able to

        1. Justify the philosophy of object-oriented design and the concepts of encapsulation, abstraction, inheritance, and polymorphism;

        2. Design, implement, test, and debug programs in an object-oriented programming language, Java;

        3. Describe how the class mechanism supports encapsulation and information hiding;

        4. Design, implement, and test the implementation of "is-a" relationships among objects using a class hierarchy and inheritance;

        5. Compare and contrast the notions of overloading and overriding methods in an objectoriented language;

        6. Explain the relationship between the static structure of the class and the dynamic structure of the instances of the class;

        7. Design and implement programs using input/output files; exception handling

    Course Outcomes

        1. Students will be able to understand and implement methods in classes.

        2. Student will be able to analyze a problem, and identify and define the computing requirements appropriate to its solution.
        
        3. Student will be able to learn the basic concepts of designing and implementing programs using javaprogramming language.

        4. Student will be able to understand the different relationship between classes: aggregation, association, composition.

        5. Student will be able to learn some basic concepts of object oriented programming such as late binding, inheritance, polymorphism, abstract classes and interfaces and using these concepts to design and implement object oriented applications.

        6. Student will be able to implement object oriented programs using different tools and techniques such as Predefined methods, IDE (eclipse or NetBeans) 

    Download course syllabus as PDF

    • CMPS 304 - Computer Architecture
    • Computer Architecture -  CMPS 304

      Class Meeting: Thursday 13:00 - 15:00

      Course Objectives

      This course intends to teach students what is the fundamentals of computer architecture and organization, to develop the ability to perform programming in an assembly language, to know how RISC Instruction sets are designed, how single cycle CPU and cache memories, designed, and evaluated using simple performance equations.

      Course Outcomes

      After the completion of this course, the students will be able to:

          1. Recall instruction sets design principles, instruction formats, addressing modes and converting high-level language statements into assembly instructions.

          2. Recall how computers do arithmetic operations

          3. Recall how performance of programs is measured by different architecture designs in cache, CPU pipeline, and compiler.

          4. Recall the understanding and ability to determine the processor (datapath and control) functions, i.e., how instructions are executed on the datapath using the control circuits.

          5. Recall the pipeline design of CPUs and it enhances the execution of software

          6. Recall the basics of computer memory hierarchy (RAM, cache, registers …); how cache memories are designed and work

          7. Design and implement small programs using the MIPS assembly language using a MIPS simulator software such as SPIM.

      Recommended Textbook

      Computer Organization and Design 3rd edition, David Patterson and John Hennessy, Elsevier Inc. 2005.

      References

          1. Computer Organization and Architecture, 8th or 9th edition, W. Stallings, Prentice Hall 2006.

      Download course syllabus as PDF

      • CMPS 414 - Data and Algorithm Analysis
      • Data and Algorithm Analysis -  CMPS 414

        Class Meeting: Tuesday 11:00 - 13:00

        Catalog Description

        A systematic study of algorithms and their complexity. Topics include techniques for designing efficient computer  algorithms, proving their correctness, analyzing their run-time complexity. Divide and Conquer algorithms, Greedy  algorithms, Dynamic Programming algorithms, Sorting and Searching algorithms (Binary search, Radix sort,  Bucket sort, Count Sort, Insertion sort, Merge sort, Quick sort and Heap sort), Order statistics, Graph algorithms  (Graph traversal, Minimum spanning trees and Shortest path problems).

        Textbook

        Introduction to Algorithms, Second Edition. Thomas H. Cormen, Charles E. Leiserson, Ronald L.
        Rivest and Clifford Stein. The MIT Press © 2001

        Course Objectives


        The course aims to make the students be able to understand the fundamentals of algorithm analysis and design.  Upon the completion of this course, they will be able to analyze the asymptotic performance of algorithms,  demonstrate a familiarity with major algorithms and data structures, apply important algorithmic design  approaches and methods of analysis implement different algorithms and data structures and compare their runtimes.

        Course Outcomes

            1. Student will be able to understand and analyze the asymptotic run time of algorithms

            2. Student will be able to understand and use the Master theorem and the substitution methods to derive closed form expressions for some runtime recurrence relations.

            3. Student will be able to understand and apply the divide-and-Conquer design approach, Greedy algorithms and dynamic programming technique, and when to use each of them in solving problems

            4. Student will be able to understand, analyze and prove the correctness of different comparisonbased sorting algorithms (such as insertion sort, heap sort, quick sort and merge sort)

            5. Student will be able to understand, analyze and prove the correctness of different linear sorting algorithms (such as radix sort and count sort)

            6. Student will be able to understand and analyze order statistics algorithms such as finding kth element and the mean of a list.

            7. Student will be able to understand graph representations, basic graph algorithms and their analyses.

            8. Students will be able to implement the studied algorithms with different tradeoffs in the design approach.

        Download course syllabus as PDF

Research

Publications

List of publications:

Refereed Journals

1. Ahmed S. Zekri. Optimizing Image Spatial Filtering on Single CPU core. Multimedia Tools and
Applications (2016). doi:10.1007/s11042-016-4266-5 (2016). Springer:In press

2. Ramzi A Haraty, Sanaa Kaddoura, Ahmed Zekri. Transaction Dependency Based Approach for
Database Damage Assessment Using a Matrix. International Journal on Semantic Web and
Information Systems (IJSWIS), 13(2):74-86, Apr 2017. DOI: 10.4018/IJSWIS.2017040105. In press

3. Salah Al-Shami, Ali El-Zaart, Ahmed Zekri, Rached Zantout, Khaled Almustafa. Number
Recognition in the Saudi License Plates using Classification and Clustering Methods. Applied
mathematics & Information sciences, an international journal, 11(1): 1-13 (2017).

4. Auday Aldulaimy, Ahmed Zekri, Wassim Itani, Rached Zantout. Towards Solving the Problem of
Virtual Machine Placement in Cloud Computing: A Job Classification Approach. Journal of
Computer Science Vol. 12. Issue 3. Pages 113-127. DOI : 10.3844/jcssp.2016.113.127

5. Auday Al-Dulaimy, Wassim Itani, Ahmed Zekri, Rached Zantout. Power management in
virtualized data centers: state of the art. Journal of Cloud Computing: Advances, Systems and
Applications. (2016) 5:6. DOI 10.1186/s13677-016-0055-y (SpringerOpen)

6. Ahmed S. Zekri. Multi-threaded computation of the Sobel image gradient on Intel multi-core
processors using OpenMP library. International Journal of Computer Science & Information
Technology (IJCSIT), Vol. 8, No. 2, pp.89 - 102, April 2016. DOI:10.5121/ijcsit.2016.8207

7. Sanaa Kaddoura, Ramzi A Haraty, Ahmed Zekri, Mehedi Masud. Tracking and Repairing
Damaged Healthcare Databases Using the Matrix. International Journal of Distributed Sensor
Networks (online), Volume 2015, Article ID 914305, 8 pages, August 2015
(http://dx.doi.org/10.1155/2015/914305)

8. Ahmed S. Zekri. Enhancing the matrix transpose operation using Intel AVX instruction set
extension. International Journal of Computer Science & Information Technology (IJCSIT), Vol. 6,
No. 3, pp.67-78, June 2014

9. Ahmed S. Zekri, Stanislav G. Sedukhin. Level-3 BLAS and LU Factorization on a Matrix Processor.
IPSJ Digital Courier Vol.4, pp. 151-166, 2008 and IPSJ Transactions on Advanced Computing
Systems, Vol.49 No.SIG2, pp.37-52, March 2008

Refereed International Conferences and book chapters


10. Salah Al-Shami, Ahmed Zekri, Ali El-Zaart, Rached Zantout. On the Parallelization of Closed-set
Patterns Classification for an Automatic License Plate Recognition System. Accepted at the
international conference on Sensors, Networks, Smart and Emerging Technologies. September
2017 in Beirut, Lebanon

11. Rawas, S., Itani, W., Zekri, A., & El Zaart, A. ENAGS: Energy and Network-aware Genetics
Scheduling Algorithm on Cloud Data Centers. Accepted for publication in Proceedings of
The second International Conference on Internet of Things, Data and Cloud Computing (ICC
2017). March 2017.

12. Salah Al-Shami, Ali El-Zaart, Rached Zantout, Ahmed Zekri, Khaled Almustafa. 'Intelligent
Recognition of Closed-Set Characters'. Proceedings of the 22 International Scientific Conference
of LAAS “The Social Avenues of Research” Holy Spirit University of Kaslik (USEK), Kaslik,
Lebanon, 14 - 15 April, 2016 (Poster)

13. Auday Aldulaimy, Wassim Itani, Rached Zantout, Ahmed Zekri. The Effect of Bandwidth Allocation
on Power Efficiency in Cloud Data Centers. Proceedings of the IEEE 11th International Computer
Engineering Conference (ICENCO), Cairo, Egypt, Dec 2015.

14. Auday Aldulaimy, Rached Zantout, Ahmed Zekri, Wassim Itani. Job Classification in Cloud
Computing: The Classification Effects on Energy Efficiency. Proceedings of the IEEE/ACM 8th
International Conference on Utility and Cloud Computing, At Limassol, Cyprus, December 2015.
(DOI: 10.1109/UCC.2015.97)

15. Ramzi A. Haraty, Sanaa Kaddoura, Ahmed Zekri. Information Warfare: Fighting Back Through
the Matrix. Proceedings of the IEEE Symposium Series on Computational Intelligence (SSCI
2015), CAPE TOWN, SOUTH AFRICA, December 2015

16. Ahmed Zekri. Restructuring and implementations of 2D matrix transpose algorithm using SSE4 vector
instructions. Proceedings of the International Conference on Applied Research in Computer
Science and Engineering (ICAR2015), Beirut, Lebanon, October 2015

17. Salah Al-Shami, Ali El-Zaart, Rached Zantout, Ahmed Zekri, Khaled Almustafa. The recognition of
the closed-set patterns in the Saudi license plates. Proceedings of the International Conference on
Applied Research in Computer Science and Engineering (ICAR2015), Beirut, Lebanon, October
2015

18. S. Rawas, W. Itani, A. Zaart, A. Zekri. Towards Greener Services in Cloud Computing: Research and Future Directives. Proceedings of the International Conference on Applied Research in Computer Science and Engineering (ICAR2015), Beirut, Lebanon, October 2015

19. S. Al-Shami, A. El-Zaart, R. Zantout, A. Zekri, K. Almustafa. A New Feature Extraction Method
for License Plate Recognition. Proceedings of the Fifth International Conference on Digital Information and Communication Technology and its applications DICTAP2015, pp. 64-69, April,
2015 Beirut, Lebanon, April, 2015 (DOI: 10.1109/DICTAP.2015.7113172)

20. Hanadi Atwe, Ahmed Zekri, Lama Hamandi. Parallelizing Sobel Edge Detection Algorithm on a
Multi-core processor. 21 st LAAS International Science Conference, Saint Joseph University
(USJ), pp. 533-534, Beirut, Lebanon, April 2015 (Extended Abstract)

21. Ahmed S. Zekri. An implementation of matrix transposition using SSE instructions. Proceedings
of the 19th LAAS International Science Conference - New Frontiers in Sciences. Lebanese
American University, Beirut, Lebanon, April 5–6, 2013 (Poster)

22. Ahmed S. Zekri. Three Dimensional SPMD Matrix-Matrix Multiplication Algorithm and A Stacked
Many-core Processor Architecture. Book chapter, Innovations and Advances in Computer,
Information, Systems Sciences, and Engineering, Lecture Notes in Electrical Engineering, Vol. 152,
1139-1150 , 2013

23. Ahmed S. Zekri. Three Dimensional SPMD Matrix-Matrix Multiplication Algorithm and A Stacked
Many-core Processor Architecture. International Joint Conferences on Computer, Information,
and Systems Sciences, and Engineering (CISSE 11), University of Bridgeport, USA , Dec 3-6, 2011
(Virtual Conference)

24. Stanislav Sedukhin, Ahmed Zekri and Toshiaki Miyazaki. Orbital Algorithms and Unified Array
Processor for Computing 2D Separable Transforms. The 5th International Symposium on
Embedded Multicore Systems-on-Chip, in conjunction with the 39th Int. Conference on parallel
Processing (ICPP 2010), San Diego, California, USA, September 13-16, 2010

25. Ahmed S. Zekri, Stanislav G. Sedukhin. 2-D Separable Transforms on a Matrix Processor.
Proceedings of the ISCA 21st International Conference on Computer Applications in Industry
and Engineering, pp. 106-111, CAINE 2008, November 12-14, 2008, Honolulu, Hawaii, USA

26. Ahmed S. Zekri, Stanislav G. Sedukhin. Design and evaluation of data-parallel algorithms on a
matrix processor. Proceedings of the 1st Egypt-Japan International Symposium on Science and
Technology EJISST2008, June 8-10, Tokyo, Japan 2008

27. Ahmed S. Zekri, Stanislav G. Sedukhin: Evaluating the Performance of Basic Linear Algebra

Subroutines on a Torus Array Processor. Proceedings of the 7th IEEE International Conference
on Computer and Information Technology CIT 2007, pp. 300- 305, Seoul, Korea 2007

28. Ahmed S. Zekri, Stanislav G. Sedukhin. Fine-grained Matrix Multiply-Add on a Torus Array
Processor. Proceedings of the ISCA International Conference on Computers and Their
Applications CATA07, pp.44-51, USA 2007

29. Ahmed S. Zekri, Stanislav G. Sedukhin. Performance Evaluation of Basic Linear Algebra
Subroutines on a Matrix Co-processor. Parallel Processing and Applied Mathematics, 7th
International Conference PPAM 2007, LNCS 4967, pp. 1190-1199, September 9-12,Gdansk,
Poland 2007

30. Ahmed S. Zekri, Stanislav G. Sedukhin. Matrix Transpose on 2D Torus Array Processor.
Proceedings of the 6th IEEE International Conference on Computer and Information Technology
CIT 2006, pp. 45, AizuWakamatsu City, Japan 2006

31. Ahmed S. Zekri, Stanislav G. Sedukhin. The General Matrix Multiply-Add Operation on 2D Torus.
Proc. of the 20th IEEE International Parallel and Distributed Processing Symposium IPDPS 2006,
April 25-29, Rhodes Island, Greece 2006

32. Ahmed S. Zekri, Stanislav G. Sedukhin. Computationally Efficient Parallel Matrix-Matrix
Multiplication on the Torus. 6th international symposium, ISHPC 2005, LNCS 4759, pp. 219-226,
September 7-9, Nara City, Japan 2005
Technical Reports

33. Ahmed S. Zekri, Stanislav Sedukhin, Blocked Matrix Multiply-Add on 2D Torus, Technical Report
2006-1-002, 16 pages, Oct 2006, The University of Aizu, AizuWakamatsu city, Japan

34. Ahmed S. Zekri, Stanislav Sedukhin, Matrix Transpose on 2D Torus, Technical Report 2005-1-
001, 10 pages, Dec 2005, The University of Aizu, AizuWakamatsu city, Japan

Research Interests

Multi-core processors programming: studying the restructuring of existing sequential algorithms in linear algebra applications and image processing to suit the micro-architecture of the general-purpose multi-core processors. Implementing these new algorithms using the OpenMP multi-threading library and the streaming SIMD extensions, such as SSE/AVX, that exist in the processor architecture. Evaluating the performance of the new algorithms and compare with other conventional ones to draw conclusions and delineate future directions.

Cloud computing: Investigating different scheduling algorithms to effectively manage the computing resources in data centers while reducing the energy consumption. The scheduling problem is represented as optimization problems, which are solved using several methods such as multi-choice knapsack, Bin-packing algorithm and genetic algorithms. Different scheduling heuristics are proposed and used to solve the optimization problems.

Activities

- Coordinator of the post graduate studies, Faculty of Science, Beirut Arab University, 2014/15, 2015/16.

- Member of the Assessment & Accreditation committee of the computer science program (ABET accredited)

- Supervising and co-supervising several master and PhD students at the department of Mathematics and Computer Science, Beirut Arab University.

- Member of organizing committee of the Research Festival (to be held in May 2016), faculty of science, Beirut Arab University.

- Past member of the committee for consulting and purchasing computer, Quality Assurance Unit, Faculty of Science, Alexandria University, 2009~2011

- Past member of management council of the Computer Unit, Faculty of Science, Alexandria University, 2008 ~ 2010.

Awards

- Awarded a PhD scholarship supported by the Egyptian government to study at the Graduate Department of Computer and Information and Systems, The University of Aizu, Japan, Oct 2004 – Sept 2008.


- Ranked first among the B.Sc. students batch, the Department of Mathematics & Computer Science, Faculty of Science, Alexandria University, May 1994

- Awarded a Professional Invitation from Marquis “Who's Who in the World” Jan 2009.