Skip to page content

Courses

  • Data Structures (10117)
  • תקציר הקורס:

    Abstract:

    Issues of the course:

    Analysis of Algorithms and Mathematical Foundations: Growth of f?unctions and Asymptotic notations, Master Methods. Searching for a term in a sorted and an unsorted list,merging sorted series, analyzing the complexity of their run times.

     Abstract Data Types, the Concept of Implementation, Data Types. Lists: Linked Lists, the Linked List as a Data Structure, Double Linked Lists. Stacks, Queues,

    Trees: Binary Trees and Traversals, Binary Search Trees General Trees, Balanced Trees.

    Heaps and Heapsort, analysis of Heapsort . Sorting and Searching:, Quicksort,

     analysis of Quicksort, Sorting in Linear Time : Bucket sort, Radix sort, Counting sort . Median and Order Statistics, Sequential/ Binary/ Tree Searching. Hash Tables.
  • Database Systems (10127)
  • Integrative Software Engineering (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.
  • Compilation (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
  • Agile Programming Methods (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.
  • Final Project Part B (10422)
  • Final Project Part C (10423)