C Language + Algorithms + Data Structures = Power
4.8 (8 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
167 students enrolled
Wishlisted Wishlist

Please confirm that you want to add C Language + Algorithms + Data Structures = Power to your Wishlist.

Add to Wishlist

C Language + Algorithms + Data Structures = Power

Up and running with c Programming language and algorithms and data structures
4.8 (8 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
167 students enrolled
Created by Nidhal Abidi
Last updated 7/2017
English
Current price: $41 Original price: $165 Discount: 75% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 16.5 hours on-demand video
  • 9 Articles
  • 10 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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.
View Curriculum
Requirements
  • Basic computer literacy
Description

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...




Who is the target audience?
  • Student who are willing to learn and master The C programming language
  • Student who are willing to learn and master Algorithms
  • Student who are willing to learn and master The Data Structures
  • Computer science or engineering majors
  • Embedded systems or hardware students
  • Students who are willing to become computer scientitists or build the next big thing!
  • Students who are willing to become popular contestants in competitive programming contests such as ACM ICPC, Google Code jam ...
Students Who Viewed This Course Also Viewed
Curriculum For This Course
94 Lectures
16:50:25
+
Course 101
24 Lectures 04:25:36
Introduction
03:56

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.

Preview 16:20

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.

Variables - Integers
14:37

Variables - Non Integers
12:35

Constants and Macros
09:04

Operators
12:20

Conditional Programming - IF statement
09:47

Loops
08:31

Arrays
09:57

Functions - Theory
19:53

Funcitons - Examples
11:48

Struct
08:48

Standard Input
06:41

Pointers
18:47

Application 1
10:17

Variable scopes
06:52

multidimensional Arrays
16:44

Debbugging with The IDE
09:19

Break - Continue
10:18

enumerators - User Defined Values
05:06

Pointers as function arguments
03:38

Strings - Definition & Operations
15:22

Strings - Functions
18:13

Compiling manually
06:43
+
Problem set | 101
12 Lectures 01:32:29
Problem Set 1
00:47


Problem 2
08:49

Problem 3
11:36

Problem Set 2
00:29

Problem 1
06:53

Problem 2
07:58

Problem Set 3
01:06

Problem 1
09:29

Problem 2
16:21

Problem 3 - Method 1
16:00

Problem 3 - Method 2
05:23
+
Data Structures
20 Lectures 04:14:25
Introduction
00:30

Stacks - Theory
19:07

Stack - Implementations
06:51

Stack - Premitives
18:42

Queues - Theory & Implementation
06:06

Queue - Primitives
17:37

Linked Lists - Singly | Theory & Implementation
08:33

Linked Lists - Singly | Front operations
12:40

Linked Lists - Singly | Back operations
17:12

Linked Lists - doubly | Push operations
16:56

Linked Lists - doubly | Pop Operations
14:57

Binary Trees - Theory & implementation
10:51

Binary Trees - Insertion
15:33

Binary Trees - Printing the tree
10:05

Graph - Theory
12:21

Graph - Representation
07:26

Graph - Implementation
18:25

Heap - Theory
15:33

Heap - Implementation - Insertion
11:44

Heap - Implementation- Extraction
13:16
+
Problem Set | Data structures
1 Lecture 01:03
Problem Set 1
01:03
+
Algorithms
10 Lectures 01:56:53
Introduction
08:01

Palindromic sequence
08:52

Recursion - Theory
09:26

Recursion - More examples
13:22

Introduction to complexity theory I
16:52

Introduction to complexity theory II
18:17

Counting the occurences - O(n^2) | O(max(n))
12:40

Printing the multiplication table - O(n^2)
03:53

Master theorem| recurense relation complexity
17:36

Bruteforce approach
07:54
+
Sorting Algorithms
8 Lectures 01:22:09

Bubble sort - O(n^2) | Implementation
04:23

Bubble sort - O(n^2) | Complexity Analysis
05:14

Selection sort - O(n^2)
11:40


Sorting - merge sort - O(n log n) - Theory
15:30

Sorting - merge sort - O(n log n) - Pseudo Code
12:13

Sorting - merge sort - O(n log n) - Implementation
09:56
+
Graph Algorithms
10 Lectures 01:58:47
Introduction
02:52

Graph - Depth First Search - Theory
15:30

Graph - Depth First Search - Implementation
09:41

Graph - Breadth First Search - Theory
10:46

Graph - Breadth First Search - Implementation
08:08

Graph - Count number of paths between two nodes - Theory
14:37

Graph - Count number of paths between two nodes - Implementation
05:47

Dijkstra's Shortest Path - Theory
19:32

Dijkstra's Shortest Path - Heap Customization
12:12

Dijkstra's Shortest Path - Implementation
19:42
+
Problem Set | Algorithms
8 Lectures 01:15:04
Problem set 1 - Recursion
02:16

Problem 1
09:25

Problem 2
08:46

Problem 3 - Theory
11:53

Problem 3 - Implementation
12:16

Problem 4
19:17

Problem 5
04:17

Problem 6
06:54
+
Problem Set - Graph Theory
1 Lecture 00:34
Problem Set 1
00:34
About the Instructor
Nidhal Abidi
4.8 Average rating
9 Reviews
168 Students
2 Courses
Nidhal Abidi

I'm a software engineer and computer scientist and the founder of IKnowBrain inc, I instructed allot of courses on a variety of computer science universities. I focus on software and electrical engineering projects.

I competed in allot of programming contests and I won allot of prizes. My students like how I teach using a very comprehensive method, while ensuring the very in depth details.

Can't Wait to see you in Class :)