4 out of 5
4
239 reviews on Udemy

C Language + Algorithms + Data Structures = Power

Up and running with c Programming language and algorithms and data structures
Instructor:
Nidhal Abidi
1,327 students enrolled
English [Auto-generated]
Be able to write C programs correctlly and efficiently
Be able to solve the most challenging Algorithmic problems.
Be very confortable in implementing The various data structures and using them.
Be able to reason about the effeciency of the various algorihtms.

In this course I will be teaching you everything you need to learn in order to become a professional C programmer , Algorithm designer and a problem solver. Whether you are a beginner or an experienced programmer , this course will fill all the gaps and give you a strong foundation and prepare you for an expert professional coding life.

If you chose computer sciences then Learning C is mandatory , Every kind of software was made with C, Operating systems such as Linux (The Most popular OS on earth), Version control systems such as Git (The most used Version control system on earth), Web servers such as Apache (The most popular web server on earth), Video game engines such as Unity3d (The most popular game engine on earth), Video encoders such as H.264 (The most popular and widely used video encoder on earth) , even most popular programming language were originally written in c such as c++ , c# , java , javascript, objective c… All of them was written with C. For that reason , any giant high tech company such as google , Microsoft ,IBM… will happily hire any programmer who masters C , Algorithms and Data Structure. So what are you waiting for ? Enroll now and let the journey begins.

This course will cover the following topics:

Course 101:

  • Introduction to the C programming language.
  • Input And Output
  • Variables and data types
  • Constants 
  • Operators
  • Conditional
  • Iterative programming
  • Arrays
  • Functions
  • Pointers
  • Scopes 
  • Input And Output
  • Strings
  • Manual Compilation via the command line prompt / Terminal

Algorithms:

  • Sorting Algorithms
  • Geometric Algorithms
  • Math Algorithms
  • String Algorithms
  • Approximation Algorithms
  • Tree Algorithms
  • Graph Algorithms
  • Complexity Theory
  • Problem Solving Approaches
  • More Algorithms are being added continuously FOREVER…

Data Structures:

  • variables
  • Arrays (Multi dimensional)
  • Strings
  • Stacks
  • Queues
  • Linked lists (Singly & Doubly)
  • Heaps
  • Trees (Binary Search Tree , AVL Trees …)
  • Graphs
  • More Data structures are being added continuously FOREVER…

Problem set:

  • A vary rich problem set with solutions and explanations
  • More problems are being added continuously FOREVER…

Course 101

1
Introduction
2
installing the development environment + Hello world Program

In order to write and run C programs you will need to install an IDE (interactive development environment).

In this video will will install an IDE , Write our very first program, Break it down and explain the meaning of every keyword. We will cover Fundamentals of building your project as well as an introduction to all of the notions you need to know to get started.

3
Variables - Integers

Variables are one of the most idea in programming , in face every programming language has the notion of variables. They (Variables) are basically a way to store data temporarily to serve more sophisticated job.

4
Variables - Non Integers
5
Constants and Macros
6
Operators
7
Conditional Programming - IF statement
8
Loops
9
Arrays
10
Functions - Theory
11
Funcitons - Examples
12
Struct
13
Standard Input
14
Pointers
15
Application 1
16
Variable scopes
17
multidimensional Arrays
18
Debbugging with The IDE
19
Break - Continue
20
enumerators - User Defined Values
21
Pointers as function arguments
22
Strings - Definition & Operations
23
Strings - Functions
24
Compiling manually

Problem set | 101

1
Problem Set 1
2
Problem 1
3
Problem 2
4
Problem 3
5
Problem Set 2
6
Problem 1
7
Problem 2
8
Problem Set 3
9
Problem 1
10
Problem 2
11
Problem 3 - Method 1
12
Problem 3 - Method 2

Data Structures

1
Introduction
2
Stacks - Theory
3
Stack - Implementations
4
Stack - Premitives
5
Queues - Theory & Implementation
6
Queue - Primitives
7
Linked Lists - Singly | Theory & Implementation
8
Linked Lists - Singly | Front operations
9
Linked Lists - Singly | Back operations
10
Linked Lists - doubly | Push operations
11
Linked Lists - doubly | Pop Operations
12
Binary Trees - Theory & implementation
13
Binary Trees - Insertion
14
Binary Trees - Printing the tree
15
Graph - Theory
16
Graph - Representation
17
Graph - Implementation
18
Heap - Theory
19
Heap - Implementation - Insertion

This video comes with the downloadable source code (The source code has a slight change, so please check it out)

20
Heap - Implementation- Extraction

Problem Set | Data structures

1
Problem Set 1

Algorithms

1
Introduction
2
Palindromic sequence
3
Recursion - Theory
4
Recursion - More examples
5
Introduction to complexity theory I
6
Introduction to complexity theory II
7
Counting the occurences - O(n^2) | O(max(n))
8
Printing the multiplication table - O(n^2)
9
Master theorem| recurense relation complexity
10
Bruteforce approach

Sorting Algorithms

1
Bubble sort - O(n^2) | Theory
2
Bubble sort - O(n^2) | Implementation
3
Bubble sort - O(n^2) | Complexity Analysis
4
Selection sort - O(n^2)
5
Sorting - Insertion sort - O(n^2)
6
Sorting - merge sort - O(n log n) - Theory
7
Sorting - merge sort - O(n log n) - Pseudo Code
8
Sorting - merge sort - O(n log n) - Implementation

Graph Algorithms

1
Introduction
2
Graph - Depth First Search - Theory
3
Graph - Depth First Search - Implementation
4
Graph - Breadth First Search - Theory
5
Graph - Breadth First Search - Implementation
6
Graph - Count number of paths between two nodes - Theory
7
Graph - Count number of paths between two nodes - Implementation
8
Dijkstra's Shortest Path - Theory
9
Dijkstra's Shortest Path - Heap Customization
10
Dijkstra's Shortest Path - Implementation

Problem Set | Algorithms

1
Problem set 1 - Recursion
2
Problem 1
3
Problem 2
4
Problem 3 - Theory
5
Problem 3 - Implementation
6
Problem 4
7
Problem 5
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4
4 out of 5
239 Ratings

Detailed Rating

Stars 5
90
Stars 4
94
Stars 3
33
Stars 2
12
Stars 1
10
1885a61bc168c2277e460cfd98a16d00
30-Day Money-Back Guarantee

Includes

17 hours on-demand video
9 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion