2017-09-15 19:31:34

Algorithms & Data Structures 2/4:Combinatorial,BT,MST,Prim

315 students enrolled

Please confirm that you want to add **Algorithms & Data Structures 2/4:Combinatorial,BT,MST,Prim** to your Wishlist.

Combinatorial,JohonsonTrotter,Backtracking,Permutation,MST,Prim,Kruskal,ShortestPath,Dijkstra,Bellman-Ford,Floyd-Warshal

315 students enrolled

What Will I Learn?

- SW Problem Solving
- Algorithm Complexity
- Bit Operations
- Number Bases
- Floating Point Numbers
- O(Big-Oh)-Notation, (Big-Omega)-Notation, (Theta)-Notation
- Endianness
- Exhaustive Search Method
- Combinatorial Problem
- Baby Gin Problem
- Brute-Force
- Permutation
- Lexicographic–Order
- Johonson-Trotter
- Combination
- Minimum-exchange Requirement
- Subset
- Knapsack Problem and Fractional Knapsack Method
- Greedy Algorithm and Application of Greedy Approach
- Recursive Algorithm Applying Greedy Method
- Comparison of Greedy Method and Dynamic Programming
- Representative Algorithms of Greedy Methods
- Huffman coding
- Change Reducing Problem
- Meeting Room Scheduling
- Divide and Conquer
- Merge Sort
- Quick sort
- Hoare Partition
- Lomuto Partition
- Binary Search
- Power Set
- Backtracking
- Maze Finding
- State Space Tree
- 8-Queens Problem
- Subset
- Power Set
- Permutation
- Graphs
- Search
- Disjoint Sets
- Expression of Linked List
- Minimum Spanning Tree
- Prim Algorithm
- Kruskal Algorithm
- Shortest Path
- Dijkstra Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- The full training program is divided into few courses. If you wish to take more courses, I recommend to take the courses in sequence to get WHOLE of this training programme.
- When you complete this course, you will be able to understand the terminologies and concepts of Algorithms for software development.
- You will be able to apply the roles of Algorithms in products and various components of the software product.
- This course is designed to improve the software developer’s implementation capabilities by covering the algorithms and data structures to improve implementation ability.
- This course will allow developers to build the concepts in algorithms and learn how to apply them in real world tasks.
- Job seekers who are preparing for interview in Product MNC/e-commerce/service companies. Anyone who has deep desire to learn Data Structures And Algorithms,Competitive Programming.
- For college going students, this course will help in improving grades in college curriculum.
- To receive certification that you have completed the course, you must attend the course in full.

Requirements

- The full training program is divided into few courses. It is recommended to finish all previous courses of this training programme. There may be some references which are taken from the previous courses.
- If you wish to take all the courses, I recommend to take the courses in sequence to get WHOLE of this training programme.
- A spare working computer with gcc compiler(preferably) or virtualization software like VMWare Fusion or Virtual Box.
- This course assumes that the students have some background in mathematical concepts and formal reasoning.

Description

**What is the course about?**

For me, the biggest difference is that you cannot look up algorithms like you can look up syntax or documentation.

Generally software development involves learning new technologies on a daily basis. You get to learn most of these technologies while using them in one of your projects. However, it is not the case with algorithms.

If you don't know algorithms well, you won't be able to identify if you can optimize the code you are writing right now. You are expected to know them in advance and apply them wherever possible and critical.

This is the third part of the Training program on Algorithms and Data Structures which covers the essential information that every serious programmer needs to know about algorithms and data structures. This course will cover **SW Problem Solving, Algorithm Complexity, Bit Operations, Number Bases, Floating Point Numbers, O(Big-Oh)-Notation, (Big-Omega)-Notation, (Theta)-Notation, Endianness, Exhaustive Search Method, Combinatorial Problem, Baby, Gin Problem, Brute-Force, Permutation, Lexicographic–Order, Johonson-Trotter, Combination, Minimum-exchange Requirement, Subset, Knapsack Problem and Fractional Knapsack Method, Greedy Algorithm and Application of Greedy, Approach, Recursive Algorithm Applying Greedy Method, Comparison of Greedy Method and Dynamic Programming, Representative Algorithms of Greedy Methods, Huffman coding, Change Reducing Problem, Meeting Room Scheduling, Divide and Conquer, Merge Sort, Quick sort, Hoare Partition, Lomuto Partition, Binary Search and Power Set,Backtracking, Maze Finding, State Space Tree, 8-Queens Problem, Subset, Power Set, Permutation, Graphs, Search, Disjoint Sets, Expression of Linked List, Minimum Spanning Tree, Prim Algorithm, Kruskal Algorithm, Shortest, Path, Dijkstra Algorithm, Bellman-Ford Algorithm and Floyd-Warshall Algorithm.** This comprehensive course will give you enough understanding on algorithms and data structures from where you can take yourself to higher level of expertise.

The optimisation is always a tradeoff between CPU and memory. The more memory the less CPU and conversely. The way they are affected is described using the Big O notation. Both the CPU and memory have their Big O notation behaviour. Take a look here Big-O Algorithm Complexity Cheat Sheet. The complexity gives a clue about the scalability of the algorithm. Will the algorithm run 2 times slower if there is 2 more elements or it will be the same ? On the memory side, the same rules apply. Will the algorithm require 2 times more memory for processing an array with 2 times more elements ? or is this a fixed amount of memory (in place processing). Choosing the right algorithm should rely on understanding how it will cost in term of CPU and memory.

You basically won't ever get an interview that won't require you to have some foundational knowledge in computer science, and such interviews will often ask you about complexity of various algorithms.

You will be taught all the skills needed for Algorithms and data structures from the basic fundamentals to the very complicated level of details and tricks related to the languages.

This course will benefit you to perform your programming jobs better and also help you to get to better positions, with confidence, in case you are looking out for jobs.This course will help you to to handle Algorithm based interview with more confidence.

This course is not based on any one programming language. Its a concept based training program which deals with psuedo code. This can be applied to any language viz C, C++, Java, Python etc

Please remember that this is a serious course on algorithms. I believe that subjects like algorithms and data structures cannot be learned in few hours or days. It required continuous practice. Students may have to put a lot of efforts in order to become expert in programming and make the best use of this course. This course covers the essential information that every programmer needs to know about algorithms and data structures.

If you are:

1. Tired of finding good learning resources on Algorithms ?

2. Do you want to become a expert level Programmer ?

3. Are you ready to learn how Big-Oh,Brute-Force,Combinatorial,BabyGin,Lexicographic–Order,Johonson-Trotter,Combination,Knapsack,Huffman and Partitions works ?

4. As a Bonus, get a complimentary consultation about Linux OS and Linux Kernel Internals, Algorithms, Data Structures, HTML, C and Java Programming languages.

5. So if you’re looking for knowledge, a rewarding adventure, and the advantage a future perspective can offer, I’m excited to tell you more about my step-by-step training program for Algorithms and Data Structures.

**What kind of material is included?**

1. This course consists of high quality training content using quality videos with industry oriented hands-on examples.

2. I have tried to include the juice of my 10 years of experience in this course.

3. The focus is on giving real life essential tricks and skills.

4. I suggest students to take this course with pen and paper handy. Note the important points and take part in discussions. The exercise is the most important part in learning any subject. I advise students to take the problems after each section.

**How long will the course take to complete?**

1. This is the comprehensive course covering almost all the topics of algorithms and data structures.

2. I advise students to cover not more than one lesson/section per day and do not move to the next lesson/section without doing the exercise.

**How is the course structured?**

1. A perfect blend of theory and programming.

**Why take this course?**

0. Algorithms is the hot subject for interviewers. This course will surely help.

1. This is the comprehensive course covering almost all the topics of algorithms and data structures.

2. This course will tends to replace text books ie it will be a complete reference of algorithms and data structures.

3. For the college going students, this course helps in improving grades in college curriculum and increases the chances at the final Campus Interview.

4. Algorithms is a difficult subject, I have tried hard to make my delivery easy and effective.

**When does the course start and finish?**

The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.

**How long do I have access to the course?**

How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.

**What if I am unhappy with the course?**

We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Join worldwide learners who uses Algorithms and DS as part of their curriculum and Job.

Visit my website eLearningMedium to get discounts on my individual courses + discounted full course training program + additional free resources.

Who is the target audience?

- Job seekers who are preparing for interview in Product MNC/e-commerce/service companies. Anyone who has deep desire to learn Data Structures And Algorithms,Competitive Programming.
- Undergraduates, Graduates and Post-Graduates
- Software developers, computer science engineers and students who wish to strengthen their software problem-solving ability.
- Experienced software engineers who are looking to refresh important fundamental concepts
- If you're fed up with academia centric courses on Data Structures & Algorithms and want to intuitively & practically understand how to implement and the most popular algorithms and data structures in software, then this course is for you.
- If you want to learn popular data structures and algorithms at a deep level, then this course is for you.
- If you are a software developer with a good grasp of the fundamentals of Programming, and you are confident with the essentials but want to delve deeper and understand data structures and algorithms, then this course is for you.
- This course is meant for everyone from scientists to software developers who want to get closer to algorithmic thinking.
- This is a course for professionals and students in occupational group in any organization or academics to help them to understand the basics of Algorithms and data structures that they should know well.
- For college going students, this course will help in improving grades in college curriculum.

Compare to Other C Courses

Curriculum For This Course

44 Lectures

03:14:19
+
–

Orientation
1 Lecture
00:20

Intro and warming up, Course Introduction and contents, Learning structures and preparations.

Preview
00:20

+
–

Problem Solving,Algorithm Complexity,Bit Operations,Number Bases,Floating Point
7 Lectures
30:37

Intro, Learning objectives

Preview
00:42

Limitations and Requirements for Programming

SW Problem Solving Capability

Training for Problem Solving Capability

Problem Solving Procedure

Strategies for Solving Problems

Preview
05:30

Procedure or method for solving problems through finite steps

Efficiency of Algorithm

Analysis of Time Complexity

Asymptotic Notation of Complexity

O(Big-Oh)-Notation

Complexity f(n) and O-Notation

Ω(Big-Omega)-Notation

Complexity f(n) and Ω-Notation

Θ(Theta)-Notation

Necessity of Efficient Algorithm

Preview
06:35

1 << n

i& ( 1 << j )

Endianness

Bit Operations and Endianness

09:23

One of the skills which is useful to programmers is an understanding of the relationship between number bases. When you understand how numbers are represented in base two (Binary), base eight (Octal), and base sixteen (Hexadecimal), you will better understand references which will be made later in your study of C++.

Number Bases

02:38

The term floating point is derived from the fact that there is no fixed number of digits before and after the decimal point; that is, the decimal point can float. There are also representations in which the number of digits before and after the decimal point is set, called fixed-pointrepresentations.

Floating Point Numbers

04:24

Summary

Summary

01:25

+
–

Combinatorial,Permutation,Lexicographic–Order,Johonson-Trotter,Permutation
4 Lectures
25:56

Intro, Learning objectives

Intro, Learning objectives

00:29

Baby Gin Problem

Exhaustive Search

Brute-Force Search(Sequential Search)

Beginning with Exhaustive Search.

Exhaustive Search Method, Baby Gin Problem, Brute-Force

06:19

Combinatorial,Permutation,Minimum-exchange Requirement,Johonson-Trotter,Permutation

Exhaustive Search and Combinatorial Problem

Permutation

Lexicographic–Order

Minimum-exchange Requirement

Johonson-Trotter Algorithm

Permutation Generation through Recursive Call

Subset

Knapsack Problem

Greedy method and dynamic programming

Combination

Combinatorial,Permutation,Minimum-exchange Requirement,Johonson-Trotter

18:23

Summary

Summary

00:45

+
–

Greedy Algorithm,Knapsack,Huffman coding,Change Reducing Problem,Meeting Room
7 Lectures
27:45

Intro, Learning objectives

Intro, Learning objectives

00:43

Operation Process

Application of Greedy Approach

Greedy Algorithm

02:10

Application of Greedy Approach

Change Reducing Problem

04:02

Use of Exhaustive Search

Application of Greedy Approach

Fractional Knapsack Method

Knapsack Problem and Use of Exhaustive Search, Fractional Knapsack Method

05:56

Application of Greedy Approach

Iteration Algorithm by Applying Greedy Method

Recursive Algorithm Applying Greedy Method

Essential Elements of Greedy Method

Essential Elements of Greedy Algorithm to Find an Optimal Solution

Comparison of Greedy Method and Dynamic Programming

Meeting Room Scheduling,Comparison of Greedy Method and Dynamic Programming

09:27

Application of Greedy Approach for Baby Gin Problems

Representative Algorithms of Greedy Methods

Representative Algorithms of Greedy Methods, Huffman coding

03:06

Summary

Summary

02:21

+
–

Divide & Conquer,Merge,Quick sort,Hoare Partition,Lomuto Partition,Binary Search
6 Lectures
19:43

Intro, Learning objectives

Intro, Learning objectives

00:28

Like Greedy and Dynamic Programming, Divide and Conquer is an algorithmic paradigm. A typical Divide and Conquer algorithm solves a problem using following three steps.

1. Divide: Break the given problem into subproblems of same type.

2. Conquer: Recursively solve these subproblems

3. Combine: Appropriately combine the answers

Power Set Power set P(S) of a set S is the set of all subsets of S. For example S = {a, b, c} then P(s) = {{}, {a}, {b}, {c}, {a,b}, {a, c}, {b, c}, {a, b, c}}.

If S has n elements in it then P(s) will have 2^n elements

Divide and Conquer, Power

03:24

Like QuickSort, Merge Sort is a Divide and Conquer algorithm. It divides input array in two halves, calls itself for the two halves and then merges the two sorted halves. The merge() function is used for merging two halves. The merge(arr, l, m, r) is key process that assumes that arr[l..m] and arr[m+1..r] are sorted and merges the two sorted sub-arrays into one.

Merge Sort

02:25

Like Merge Sort, QuickSort is a Divide and Conquer algorithm. It picks an element as pivot and partitions the given array around the picked pivot. There are many different versions of quickSort that pick pivot in different ways.

Always pick first element as pivot.

Always pick last element as pivot (implemented below)

Pick a random element as pivot.

Pick median as pivot.

The key process in quickSort is partition(). Target of partitions is, given an array and an element x of array as pivot, put x at its correct position in sorted array and put all smaller elements (smaller than x) before x, and put all greater elements (greater than x) after x. All this should be done in linear time.

Quick sort

08:48

Given a sorted array arr[] of n elements, write a function to search a given element x in arr[].

A simple approach is to do linear search.The time complexity of above algorithm is O(n). Another approach to perform the same task is using Binary Search.

Binary Search: Search a sorted array by repeatedly dividing the search interval in half. Begin with an interval covering the whole array. If the value of the search key is less than the item in the middle of the interval, narrow the interval to the lower half. Otherwise narrow it to the upper half. Repeatedly check until the value is found or the interval is empty.

Binary Search and Use of Divide and Conquer

03:36

Summary

Summary

01:02

+
–

Backtracking,State Space Tree,8-Queens Problem,Subset,Power Set,Permutation
6 Lectures
25:21

Intro, Learning objectives

Intro, Learning objectives

00:28

Backtracking,Maze finding,Subset Sum Problem,State Space Tree,Depth First Search,N-Queens Problem

Backtracking,Maze Finding,Subset Sum,State Space Tree,Depth First Search,N-Queen

10:38

If A and B are two sets, and every element of set A is also an element of set B, then A is called a subset of B and we write it as A ⊆ B or B ⊇ A

The symbol ⊂ stands for ‘is a subset of’ or ‘is contained in’

The collection of all subsets of set A is called the power set of A. It is denoted by P(A). In P(A), every element is a set.

Subset and Power Set

05:42

State space tree of a permutation

Like subset, if the number of the elements to list is n, n selections are made.

The height of the state space tree of a subset with n elements is identical with that of the permutation.

But, In the cases of a permutation, whenever selection is made, the number of options reduces.

Namely, There are n options in the root, but the number of the options decreases whenever a child node is visited.

Number of leaf nodes= N X (N-1) X . . . 2 X 1 = N!

Permutation and State Space Tree of a Permutation

04:59

Given a value N, if we want to make change for N cents, and we have infinite supply of each of S = { S1, S2, .. , Sm} valued coins, how many ways can we make the change? The order of coins doesn’t matter.

For example, for N = 4 and S = {1,2,3}, there are four solutions: {1,1,1,1},{1,1,2},{2,2},{1,3}. So output should be 4. For N = 10 and S = {2, 5, 3, 6}, there are five solutions: {2,2,2,2,2}, {2,2,3,3}, {2,2,6}, {2,3,5} and {5,5}. So the output should be 5.

Coin Change Problem

02:02

Summary

Summary

01:32

+
–

Graph and Search,Disjoint Sets,Expression of Linked List
5 Lectures
32:49

Intro, Learning objectives

Intro, Learning objectives

00:28

Undirected Graph:Graph representing that the symmetric relations between two items are linked.

Directed Graph:Edges are expressed as an arrow, and the concept of direction is included. Supply relation between companies, order of works, etc.

Weighted Graph:Graph representing the travel cost with edges.

Adjacency:Two vertices are said to be adjacent if an edge exists.

Path:An orderly array of edges.

Simple Path:Path passing through one vertex in a path once at maximum.

Cycle:Path ending in the vertex where the path started.

Graphs:Path,Simple Path,Cycle,Adjacent Matrix,Adjacent List,Array of Edges

09:55

Depth First Search (DFS) Algorithm–Recursion

Depth First Search (DFS) Algorithm–Iteration

Breadth First Search (BFS) Algorithm

Graph Search,Depth First Search DFS,Breadth First Search BFS

10:38

A disjoint-set data structure is a data structure that keeps track of a set of elements partitioned into a number of disjoint (non-overlapping) subsets. A union-find algorithm is an algorithm that performs two useful operations on such a data structure:

Find: Determine which subset a particular element is in. This can be used for determining if two elements are in the same subset.

Union: Join two subsets into a single subset

Disjoint Sets and Operations,Representation of Disjoint Sets–Linked List

09:51

Summary

Summary

01:57

+
–

Minimum Spanning,Prim,Kruskal,Shortest Path,Dijkstra,Bellman-Ford,Floyd-Warshall
7 Lectures
28:32

Intro, Learning objectives

Intro, Learning objectives

00:30

Problem of Minimum Spanning Problem in Graph

Problem of minimum spanning tree

Finding thetreein which the sum of the weights of the edgesconnecting all vertices becomes minimum.

Problem of shortest path

Finding the pathin which the sum of the weights of the edgesfrom the start vertex to the target one with minimum spanning.

Spanning tree

The tree composed of n vertices and n-1 edges in an undirected graph composed of n vertices.

In a tree with N vertices, n-1 edges should exist.

The number of spanning trees in the graph increases in proportion to the number of vertices and edge.

Minimum Spanning Tree

01:43

Start by selecting one arbitrary vertex.

Select the vertex having the edge with minimum spanning among the vertices adjacent to the selected vertex.

Repeat the processes 1) and 2) until all vertices are selected.

Prim Algorithm

07:13

Algorithm for finding minimum spanning tree by selecting edges with minimum weight one by one.

Cycle should not be generated.

n-1 edges are selected from the graph with n vertices.

Kruskal Algorithm

06:19

Path with the smallest value in the sum of weights of edges among the paths between two vertices in a graph with weighted value of edges.

Dijkstra Algorithm: Negative weight is not allowed.

Bellman-Ford Algorithm: Negative weight is allowed. A cycle that the sum of weights is negative is not allowed.

Shortest Path,Dijkstra,Bellman-Ford,Floyd-Warshall Algorithms

00:58

Method for finding the shortest path by continuously selecting the vertices with minimum distance starting from the start vertex

The method uses greedy method and similar to prim algorithm of MST.

Dijkstra Algorithm,Bellman-Ford Algorithm

10:08

Summary

Summary

01:41

+
–

Bonus and Discounts
1 Lecture
03:30

Finally, you have reached to the Last Lecture of the course. Great !!

Its time to move on to another course to Skill-Up.

Get Huge Discount on Courses on Linux, Algorithms, Software Project Management, Mobile APP Development, Java and Software Engineering. Apply Coupon Code **DOLLARTEN**:

**1. Linux**

**a. Linux OS in Embedded System & Linux Kernel Internals(1/2)**

https://www.udemy.com/becoming-linux-expert-series-install-linux-operating-system/?couponCode=DOLLARTEN

Overview of the structure of modern operating systems. Over the course of the subsequent units, we will discuss the history of modern computers, analyze in detail each of the major components of an operating system (from processes to threads), and CPU scheduling, Synchronization and Deadlocks

**b. Linux OS in Embedded System & Linux Kernel Internals(2/2)**

https://www.udemy.com/c-complete-reference/?couponCode=DOLLARTEN

Focus on UNIX-based operating systems, though we will also learn about alternative operating systems, including Windows. Over the course of the subsequent units, analyze in detail each of the major components of an operating system, Memory management, Paging, Memory Management in Intel 80386, Virtual Memory, Demand Paging, , Page Fault, Belady’s Anomaly, Stack Replacement Algorithms, Thrashing, File Concept, Directory Structure, File System, Mounting, File Sharing and Protection, Space Allocation Techniques, Disk Structure and Scheduling, Free Space Management.

**2. Algorithms and Data Structures**

**a. Algorithms & Data Structures 1/4:Greedy,DFS,BFS,Tree,Heap**

https://www.udemy.com/oops-java-object-oriented-programming/?couponCode=DOLLARTEN

Introduction to Algorithms, Arrays, Search, Greedy Algorithm, Sort, Subset, Stack Data Structures, Memoization, backtracking, Dynamic Programming, Depth First Search (DFS), Divide and Conquer,Pattern matching,Queue,Breadth First Search(BFS),List,Insertion,Merge,Tree(Binary & Expression),Binary search Tree,Heap

**b. Algorithms & Data Structures 2/4:Combinatorial,BT,MST,Prim**

https://www.udemy.com/java-oops-object-oriented-programming/?couponCode=DOLLARTEN

SW Problem Solving, Algorithm Complexity, Bit Operations, Number Bases, Floating Point Numbers, O(Big-Oh)-Notation, (Big-Omega)-Notation, (Theta)-Notation, Endianness, Exhaustive Search Method, Combinatorial Problem, Baby, Gin Problem, Brute-Force, Permutation, Lexicographic–Order, Johonson-Trotter, Combination, Minimum-exchange Requirement, Subset, Knapsack Problem and Fractional Knapsack Method, Greedy Algorithm and Application of Greedy, Approach, Recursive Algorithm Applying Greedy Method, Comparison of Greedy Method and Dynamic Programming, Representative Algorithms of Greedy Methods, Huffman coding, Change Reducing Problem, Meeting Room Scheduling, Divide and Conquer, Merge Sort, Quick sort, Hoare Partition, Lomuto Partition, Binary Search and Power Set,Backtracking, Maze Finding, State Space Tree, 8-Queens Problem, Subset, Power Set, Permutation, Graphs, Search, Disjoint Sets, Expression of Linked List, Minimum Spanning Tree, Prim Algorithm, Kruskal Algorithm, Shortest, Path, Dijkstra Algorithm, Bellman-Ford Algorithm and Floyd-Warshall Algorithm.

**c. Algorithms & Data Structures 3/4:DP,Hashing,Trie,Suffix Tree**

https://www.udemy.com/algorithms-data-structures-programming/?couponCode=DOLLARTEN

Hashing,Collision,Pattern Matching,Brute Force,Karp–Rabin,KMP(Knuth-Morris-Pratt),Boyer-Moore,Trie,Compressed Trie,Suffix Tree,Suffix Array,Compression,LCP Array,Run-Length Encoding,Huffman Coding,Lampel-Ziv-Welch Encoding,Arithmetic Coding,Dynamic Programming,Fibonacci Number,Mathematical Induction,Pigeon Hole Principle,Memoization,Binomial Theorem,Pascal's Triangle,Knapsack Problem,Search of State Space Tree,Branch and Bound, Pruning (Backtracking),Best-First Search

**d. Algorithms & Data Structures 4/4:DP,NPComplete,Hard,Coloring**

https://www.udemy.com/algorithms-programming-data-structures/?couponCode=DOLLARTEN

Dynamic Programming,Longest Increasing Sequence,All Pairs Shortest Path,Weighted directed graph,Floyd-Warshall Algorithm,Traveling Salesman Problem,NP-Complete,Deterministic, Nondeterministic,Polynomial Time Conversion,NP-Hard,SAT,Boolean Expression,Partition,Vertex Cover,Independence Set,Clique,Graph Coloring,Set Cover,Longest Path,Hamiltonian Cycle,Bin Packing,Job Sheduling,Approximation Algorithm,Job Scheduling,Simulated Annealing,Graph of Search Process,Number Theory and Optimization,Probability,GCD,Euclid Algorithm,LCM,Modulo Operation

**3. Software Project Management**

**a. Project Management 1/4:SDLC Models & Methodology,Agile**

https://www.udemy.com/software-engineering-software-architecture/?couponCode=DOLLARTEN

Software Life Cycle Models & Development Methodology, Integration, Stakeholder, Scope, Resource, Time, Cost, Risk, Quality, Procurement, Communication, software Engineering

**b. Project Management 2/4:Time Management,Risk Management,Scope**

https://www.udemy.com/software-engineering-management/?couponCode=DOLLARTEN

Integration Management,Time Management,Risk Management,Scope Management,Work and Change Control,Extraction & Analysis of Requirements,WBS,Scope Creep and Gold Plating, Scope and Quality

**c. Project Management 3/4:Resource Management,Cost, Procurement**

https://www.udemy.com/programming-algorithm/?couponCode=DOLLARTEN

Project Resource Management,Resource Estimation,Project Cost Management,Develop Budget and Cost Baseline,Earned Value Method,Project Procurement Management

**d. Project Management 4/4:Quality Management & Software Testing**

https://www.udemy.com/programming-algorithms-data-structure/?couponCode=DOLLARTEN

Project Quality Management,Characteristics and Assessment of Software Quality,Quality Plan Process,Quality Assurance Process,Software test,White box tests,Black,box tests,Regression tests,Software test case Design and Components,Software test Automation,Configuration Management,Baseline,Maintenance,Project,Communication Management,Communication Network

**4. Software Development Process and Software Engineering**

**a. Software Development - Software Architecture & Software Engineering, UML(1/3)**

https://www.udemy.com/uml-software-engineering/?couponCode=DOLLARTEN

Software Platform: External and Internal, Software Architecture: Style and Documentation, Software Development Process, Software Development Model, Software Requirement Specification, Software Design Document, API Specification, Unified Modeling Language UML, UML Basic Building Blocks, UML Modeling Rules, UML Modeling Tool and Modeling with UML Diagram

**b. Software Development - Coding Appearance & Idioms, Design Patterns(2/3)**

https://www.udemy.com/object-oriented-programming-java-io/?couponCode=DOLLARTEN

Coding Appearance, File Organization, Declaration and Statements, Indentation Style and Comments, Naming Convention, Coding Idiom, Memory Management, Security, Exception Handling, Concurrency / Parallelism, Type Safety, Performance, Code Review: Gerrit - Google Code review System, Code Review: Gerrit - Review Board, Design Patterns, Creational Pattern, Structural Pattern, Behavioral Pattern, Code Refactoring Methods.

**c. Software Development - Software Testing, Configuration Management & Open Source License(3/3)**

https://www.udemy.com/software-architecture-software-engineering/?couponCode=DOLLARTEN

Software Testing and Software Test Levels, Testing Techniques, Intuition and Experience-Based Technique, Specification-Based Technique, Code-Based Technique, Software Configuration Management, Issue Tracking, Version Control, Understanding of Open Source, Open Source License, GPL Violation Watchdogs, Open Source Contribution, Main Obligations of GPL 2.0, GPL3.0, Main Obligations of LGPL 2.1, AGPL, Main Obligations of MPL1.1, EPL, Main, Obligations of Apache2.0, BSD2.0, Open Source Instructions for Developers, Instructions to Adopt Open Source, Instructions to Use Open Sources, Instructions to Distribute Open Sources

**5. HTML5 : Mobile App Development**

https://www.udemy.com/data-structure-algorithms/?couponCode=DOLLARTEN

HTML5, Tags, CSS, Responsive Web, JavaScript, DOM, jQuery, Selectors, Mobile App Development

**6. Java Programming Language**

**a. Java Programming(1/3):JVM,Operator & Array,Control Statement**

https://www.udemy.com/object-oriented-programming-java-net/?couponCode=DOLLARTEN

Java Development Kit JDK,Java Virtual Machine JVM,Operator and Array,Control Statements

**b. Java Programming(2/3):Object Oriented Programming, java.lang**

https://www.udemy.com/oops-java-net/?couponCode=DOLLARTEN

OOP,Inheritance & Polymorphism,Overloading & Encapsulation,Abstraction,Interface,Exception Handling,'java.lang' Package

**c. Java Programming(3/3):java io,java net,java.util,Map,Thread**

https://www.udemy.com/java-net-object-oriented-programming/?couponCode=DOLLARTEN

java io,java net,java.util,Utility,Formatter,Collection,Generics,Map,Chatting Program(Server and Clients)

Visit my website **eLearningMedium **to get additional free resources + discounted course bundles

Bonus Lecture

03:30

About the Instructor