Skip to page content

Courses

  • Requirements Engineering (10213)
  • תקציר הקורס:

    Abstract:

    Requirement Analysis is the first and most important phase in the system development lifecycle, where the customer problem is identified and requirements are defined accordingly. The development representative should understand the problem to be solved along with the customer needs, and translate them into technical specifications, to be used as basis for development and testing of the system.

    Research shows that more than 75% of defects found by customers after system deployment originate from incorrect requirements specifications.

    Thus, the financial implications are clear.

    During the last two decades, the new discipline of Requirements Engineering (RE) was developed, including methods, models and processes aiming to better define, manage and control the requirements from their origin at customer needs until successful delivery of the system and customer satisfaction.
  • Agile Programming Methodologies (10346)
  • תקציר הקורס:

    Abstract:

    The Agile Programming Methodologies class introduces advanced project management and development process methodologies, mainly focusing on Agile Development at the software industry.

    The class will include several guest lectures from prominent high tech experts who will demonstrate the practical usage of the class methodologies in the high tech industry, the pros and cons of agile development processes, and how it is put into practice at high tech firms.
  • Seminar (10400)
  • תקציר הקורס:

    Abstract:

    The term formal methods refers to languages and methods that allow precise modeling of systems at various levels of abstraction, requirements to be formulated for them and the fulfillment of these requirements to be reliably analyzed.

    Formal methods are used in software engineering to enable precise and unambiguous specifications, rigorous design, and formal verification of systems, reducing the likelihood of errors that could lead to failures in critical applications.

    This seminar introduces students to formal methods, emphasizing the importance of these methods in ensuring software correctness, reliability, and security.

    At the seminar, we will cover various topics in formal methods throughout the software development lifecycle.
  • Ethics in Software Engineering (10825)
  • תקציר הקורס:

    Abstract:

    Introduction to the basic ideas in the philosophy of morality and ethics Challenges that life in the high-tech industry poses

    The knowledge-rich industry exposes its workers to numerous moral challenges and ethical dilemmas:

     

    Is it legitimate to work in a company without ethical principles?

     

    What about companies that vehemently oppose Israel?

     

    Is it ethical to work in a company involved in gambling?

     

    And what would Aristotle and Kant say about all of this?

     

    In each lesson, dilemmas from everyday life in the industry will be presented in studies and in general. Some of the examples are difficult to hear and contain triggers for prejudice, chauvinism, profiteering from murder, and more.