Here is a partial list of the courses I taught and currently teach.

  • Design and Implementation of Information Systems:

The purpose of this course is introducing basic terms and considerations in information system design. The focus is on model-based development in an object-oriented approach (using UML) and a procedural approach (using both ERD and DFD). The implementation will be done in Java or in a fourth generation language (like Access).

The purpose of this course is to expose the students to research and methods in software engineering in general and software product line & domain engineering in particular. The students review and present research papers and analyze & model domains of choice or develop projects on related-topics.

  • Research approaches in Information Systems:

This course deals with research approaches, focusing on design science. The students will study what a research question is, how to review literature, how to design and evaluate research artifacts (outcomes), and how to write papers. They will be requested to write a short paper in English, practicing what they learnt.

  • Specification and Analysis of Information Systems:

The course deals with the specification and analysis stages of information system development and their integration in an organization. The course presents object and process oriented methods for analyzing structural and behavioral aspects of a system. The organizational aspects of information system development and project management techniques will also be taught.

  • Methodologies for Developing Information Systems:

This course focuses on object-oriented and object-process methods, compares their expressiveness during the development cycle, elaborates on the development processes and techniques associated with each method, and exposes the students to appropriate CASE tools.

  • Database Design & Management:

The purpose of this course is introducing basic terms and considerations in designing and managing data-intensive systems. The course deals with the following subjects: ERD, SQL, relational databases, index structures, query processing, transactions, concurrency control protocols, object-oriented databases, DBA activities, and data warehouses.

  • Testing and Evaluation of Human-Computer Interfaces:

The course deals with approaches to the design and the evaluation of human-computer interfaces: standards, goal definitions, user profile definitions, operation scenarios, evaluation program planning, questionnaires and interviews, and result analyzing. In addition objective and subjective criteria for the ease of use will be examined.

  • Cooperative Information Systems:

The course deals with the theory and the implementation of cooperative information system development, cooperation strategies, static and dynamic models of cooperation, solutions of non-compatibility problems, and groupware and its implementation technology.