Skip to page content

Courses

  • Introduction To Software Engineering (10014)
  • תקציר הקורס:

    Abstract:

    The first digital computer was built for the US Army in 1946.

    High-level programming languages appeared in the 1950s.

    Within a quarter century, we already faced what is known as the “software crisis”.

    The crisis did not occur because software was not func tioning properly but rather because of problems related to the software development process, and the growing demand for complex software systems. The software crisis manifests itself in many problems: lack of well defined requirements;

    frequently changing requirements; poorly estimated costs and budgets;

    programmer productivity that cannot keep up with demand;

    and software of insufficient quality. Software Engineering was developed in order to solve the problems that characterize the software crisis, and it encompasses the entire software development life cycle.
  • Software Engineering Methods (10214)
  • תקציר הקורס:

    Abstract:

    Software engineering aims to facilitate the construction

    of large and complicated software systems within well-defined bounds of quality, time and budget. Like other engineering disciplines software engineering uses models to analyze and reason about the systems under construction.

    In this course, we teach the Unified Modeling Language (UML) and demonstrate how it may describe the different models that are used in the course of development of large software systems. The course structure follows the major phases of software development: requirements elicitation, system specification, architectural design, class design and finally the construction of the system. To assimilate these ideas and techniques you will form groups and develop a series of practical assignments

    throughout the semester. Each meeting will contain a theoretical

    part where we will learn new ideas and a practical part where we will implement them in context.