Lecturer Dr. Armon Deganit

Courses

  • בסיסי נתונים (10127)
  • תקציר הקורס:

    Abstract:

    Database Management Systems (DBMS) are a core technology used in almost every type of business application.

    The course is designed to give students an understanding of DBMS theory and practice.

    Major topics include: introduction to database management systems, the relational model,

    entity-relationship modeling, SQL, database design. We will use PostgreSQL to gain hands-on experience in using a relational database.
  • הנדסת תוכנה אינטגרטיבית (10143)
  • תקציר הקורס:

    Abstract:

    Developing and refactoring complex software systems require understanding a variety of software aspects:

    Multiprocessing; Utilizing Reactive Programming methodologies and techniques; Logging;

    Separating components to layers and utilizing architectural patterns like MVC;

    Unit-testing, Mocking and Integration-testing;

    Integration to Relational and NoSQL databases;

    Client/Server oriented development using Web-Services;

    Utilizing software frameworks like Spring and Hibernate.

     

    The students will implement an Integrated Software System, provide API's to their backend business logic, using a variety of front end applications.

    The students are required to utilize knowledge gained throughout the Software Engineering Program, including aspects of Operating Systems, Networking, Database development,

    Object Oriented Design and Development and Software Architecture.

     

    The students are expected to demonstrate self-paced learning skills by extending their knowledge and understanding of utilizing software frameworks, with the guidance of the course teachers.
  • הנדסת דרישות (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 software developers should understand the problem to be solved along with the customer needs, and translate them into technical specifications, to be used as a basis for development and testing of the system.

    Research shows that more than 75% of problems found by customers after system deployment, derive from incorrect requirements specifications.

    Software Requirements elicitation is based on methods, models and processes aiming to better define, manage and control the requirements from their origin until successful deployment of the system and customer approval.
  • קומפילציה (10334)
  • תקציר הקורס:

    Abstract:

    lexical analysis, automatic generation of lexical analyzers

    flex - a software tool for generating lexical analyzers

    top-down parsing: predictive parsing, recursive descent parsing

    bottom-up parsing: shift reduce parsing

    syntax directed definitions

    bison: a software tool for generating shift reduce parsers

    run time environments

    generating intermediate code for assignments, expressions and basic control statements

    linkers and additional subjects (as time permits)

    basic optimizations

    LLVM and other contemporary topics as time permits
  • פרויקט גמר חלק ב' (10422)
  • תקציר הקורס:

    Abstract:

    Studying and defining an engineering report document
  • פרויקט גמר חלק ג' (10423)
  • תקציר הקורס:

    Abstract:

    Studying and defining the project book