Skip to page content

Courses

  • 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.
  • Computational Models (10215)
  • תקציר הקורס:

    Abstract:

    Students will learn about models of computing machines: finite automata,

    pushdown automata, and Turing machines. Students will demonstrate knowledge

    of Formal languages, their descriptions, and their relationships to the

    computational models; Students will learn the limits of the various models.