Skip to page content

Courses

  • Object-Oriented Programming (10128)
  • תקציר הקורס:

    Abstract:

    The students will learn about classes and objects, constructors,

    inheritance, polymorphism and interfaces,

    and will learn how to combine them all to an object oriented system.

    The students will learn how to show the system also using class diagrams.
  • Software Development Tools (10142)
  • תקציר הקורס:

    Abstract:

    Introduction to Linux, Terminal and File Editors, File System Architecture. Introduction to Bash, Basic Commands,

    Batch files, Pipes and redirections, Writing batch scripts in Bash.

    Introduction DevOps software over Linux.

    Using GIT and Docker Containers.
  • 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; Maintaining dynamic code modules using Reflection;

    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;

    Integrating horizontal software aspects using AOP while utilizing software frameworks like Spring.

    Along with learning the above software aspects, students who study this course will implement an Integrated Software System, provide API's to their backend business logic, using a variety of front end applications.

    The system development project requires utilizing 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 will materialize and integrate their knowledge

    and they are required to demonstrate self-learning abilities

    for understanding and utilizing software frameworks, with the guidance of the course teachers.
  • Cloud Computing Architecture (10353)
  • תקציר הקורס:

    Abstract:

    Distributed Systems provide high scalability and modular distribution of developed components.

     

    Cloud Computing Architecture enhances software components dynamics, modularity and flexibility that affects their scalability;

    enables reconstructing software components to better meet changing business and technical requirements;

    provides better distribution of processing, data and control;

    enables cross cloud platform; provides better operational control and addressing runtime issues;

    enables efficient reusability of software components.

     

    The course discusses Cloud Computing Architectures Development aspects, including common Cloud Architecture Design Patterns for efficient development,

    Distributed Data and Process development, efficient Distributed Systems development methodologies,

    monitoring and control for cleaner code, Development cycle automation and further tools and methodologies for effective Agile Cloud Development.

     

    Enhanced Java Development and networking application development knowledge prerequisites are covered by the Prerequisite courses.