After my latest survey on my Training Courses post, I decided to announce a state-of-the art course in algorithms and data structures in java course in Mansoura (My Second love, after Alexandria).

The course is a life-changing experience and will allow you to advance from being a coder to a computer scientist programmer. The course is 36 Hours of hands-on experience on algorithmic challenges using the Java programming language.

The course is pure computer science and can be applied on any programming language either functional or object oriented but all examples will be applied on the Java programming language to meet the vast majority of the programmers-base as the java language is the most common open source programming language and almost known to every programmer.

Course Contents

  • Definition of Algorithms.
  • Understanding Complexity in Relation to Algorithms.
  • Understanding Big-O Notation.
  • Introduction to Unit-Testing and JUnit.
  • Introduction to Algorithm Analysis.
  • Recurrences.
    • Recursion and Iteration.
    • Divide and Conquer
    • Anatomy of Recursive Algorithms.
    • Merge Sort
  • Understanding and Testing Lists
    • ArrayList
    • Linked List
  • Understanding Queues and Stacks.
    • Queue Operations
    • FIFO, LIFO.
    • Blocking Queues.
    • Undo/Redo.
  • Basic Sorting
    • Understanding Comparators.
    • Inserstion, Selection ,Bubble.
    • Sorting Stability.
  • Advanced Sorting
    • Shellsort, Quicksort.
  • Priority Queues.
  • Binary Search and BST.
  • Hashing and Hashtables.
  • Maps (ListMap, HashMap, TreeMap)
  • B-Trees.
  • String Searching
  • String Matching.
  • Computational Geometry.

This is only an introductory course and an advanced course will be announced after establishing this course for those who are highly interested in a more algorithmic depth.

If you are interested in the course, kindly comment here and send an email to course+algorithms1@ahmedsoliman.com as soon as possible.