Teaching

I've been teaching at the Technion - Israel Institute of Technology since March -1996. I teach information system courses of the IE&M faculty. I also start teaching information system courses at the Ben-Gurion University of the Negev within the Department of Information System Engineering. In addition, I teach in Haifa University within the Department of Management Information Systems.

Here is a list of the courses I teach as a teaching assistant (Tech - TA) or a lecturer (Tech – L, BGU – L, Haifa - L).

Object-Oriented Analysis and Design (BGU – L):

The course introduces the principles of designing systems using the object-oriented paradigm using the standard modeling language – UML. The course follows the state-of-the-art development process – the unified process and deals with connecting the design stages with the implementation ones.

Web-based Application Development (Haifa – L):

The course presents the principle of developing web-based application with emphasis on the development process and the available technologies for deploying such systems.

Specification and Analysis of Information Systems (Tech - L):

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 methodologies which help analyzing structural and behavioral aspects of a system. These analysis models are basis for the design and the implementation stages.

Software Engineering (Tech - L):

The course presents basic concepts of software developing. It extends the basic C programming language and introduces design concepts such as Abstract Data Types. In addition, the course introduces the object-oriented paradigm utilizing the C++ programming language. The course covers the issues of class, inheritance, generic programming (via templates), operator overloading, and exceptions. 

Agent-Oriented Software Engineering (Tech – L, BGU - L):

The course presents the new approach of agent-oriented software engineering and in particular it focuses on agent-oriented methodologies. The topic covered by the course are the following: introduction to agents and multi-agent systems, agent-oriented methodologies, agent communication and knowledge sharing , agents and multi-agent system architecture, FIPA Specifications, agent development tools.

Intelligent Agents for E-Commerce (Tech - TA):

The course presents an introduction to the fields of agents and their application to eCommerce. The course covers the following topics: agent definition and attributes, multi-agent system, design philosophy, agent architectures, agent-oriented software engineering, communication languages and protocols, games and markets.

Case Studies in Information Systems (Tech - TA): 

The course presents case studies of various aspects of information systems engineering. The case studies deal with development, implementation and assimilation of information systems in the industry, service and public administration sectors. Each case is examined and studied thoroughly. The course covers the following topics: an information system life cycle, organizational and human aspects of assimilation of information systems, advanced information technology, project management, alternative analysis, re-engineering, security, and centralized and decentralized systems.

Design and Implementation of Information Systems (Tech - TA):

The purpose of this course is introducing basic terms and considerations in information system design. The implementation of the detailed design will be done by a fourth generation language (like Access). The course deals with the following subjects: introduction to information systems, inputs and input checking, data storing, information retrieval and processing, textual and graphical retrieval languages, graphical user interfaces, safety and reliability of information, design of multi-user systems, and decentralization principles of information systems.

Methodologies for Information Systems (Tech - TA):

This course presents object-oriented and object-process methodologies and ontology, compares their expressiveness during the development cycle, elaborates the development process associated with each methodology, and enables the students practicing the use of appropriate CASE tools. The course covers the following topics: methodologies and ontologies in information systems development, integration of processes with objects, system structure and behavior, scaling as a tool for complexity management, the transition from analysis to design and from design to implementation, and computer aided software engineering tool.