Categories

2017-06-30 22:07:17

C Language + Algorithms + Data Structures = Power

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

Up and running with c Programming language and algorithms and data structures

167 students enrolled

Current price: $41
Original price: $165
Discount:
75% off

30-Day Money-Back Guarantee

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

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

+
–

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

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 :)

- About Us
- Udemy for Business
- Become an Instructor
- Affiliate
- Blog
- Topics
- Mobile Apps
- Support
- Careers
- Resources

- Copyright © 2017 Udemy, Inc.
- Terms
- Privacy Policy and Cookie Policy
- Intellectual Property