Learn Intricate C programming-Problem Solving in Big Project
0.0 (0 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.
300 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn Intricate C programming-Problem Solving in Big Project to your Wishlist.

Add to Wishlist

Learn Intricate C programming-Problem Solving in Big Project

How can I go from solving small coding problems to enjoying big projects?
0.0 (0 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.
300 students enrolled
Last updated 6/2017
Price: $200
30-Day Money-Back Guarantee
  • 1.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • This course will emphasis on Problem Solving in Big Projects.
  • Students will get a sound knowledge on any programming language compiled on linux gcc compiler.
  • As C is close to the machine level, this course is good for various optimization techniques.
  • Students will be able to write nice long program in C language.
  • Algorithms are also explained at some points.
View Curriculum
  • A working computer with C compiler

About Course
This course is about hndling and resolving problems while executing some big projects. Most of the problem comes in Functions and Macros. These are the tickiest parts in any language.
The "trick" is to, at every step in the development cycle, have a source tree which compiles and runs a regression test suite. TDD is a tool: for some kind of problems it makes sense to write the test first using mock objects, some kind of problems are best developed using another approach (e.g., write the code first and then test all possible inputs).
The point is adding new functionality and re-factoring existing functionality should be frictionless and stress-free for you. E.g., if you're using C++ but are afraid of typing "make" due to cryptic error messages from g++, consider switching to clang++ and XCode or to another programming language.

The curriculum consists of five modules. Each module consists of video content that may be used as-is or adapted for use in courses.

How long will it take to complete
1. Students are advised not to cover more than one section per day.
2. 2 sections, 5 lectures, short course of approx 1 hr in length with crisp information about the subject.

Kind of Course Material
1. The course is dynamic in nature, its a living entity. I will keep on changing the material according to students feedback.
2. I have avoided too much text without a break, vary activities, and have kept it light and fun. Incorporated a lot of color, small animations, video clips, sound, etc.
3. High quality video content with industry oriented examples.
4. Real life essential tricks and skills.

Structured Course
A perfect blend of theory and programming.

Do I need to take this course ?
1. C programming language is a basic language and all other programming languages are derived from it such as C++, Java, Python, etc.
2. This is the specific course that addresses the specific modules of C Programming in good detail.
3. Students are not required to refer to text books after completing this course.
4. Students will learn how programming languages work with data, what program flow is, and Functions and macros.
5. Helps in improving grades in college curriculum and at the final Campus Interview.

Who is the target audience?
  • Software Engineers with little or no Programming experience
  • IT professionals
  • Students who are at beginning level in programming language.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
5 Lectures
1 Lecture 00:29


Preview 00:29
Problem Solving
4 Lectures 01:21:33

The scope of a variable  refers to the extent to which different parts of a program have access to the variable--in other words, where the variable is visible. When referring to C variables, the terms accessibility and visibility are used interchangeably. When speaking about scope, the term variable refers to all C data types: simple variables, arrays, structures, pointers, and so forth. It also refers to symbolic constants defined with the const keyword.
Scope also affects a variable's lifetime: how long the variable persists in memory, or when the variable's storage is allocated and deallocated. First, this chapter examines visibility.

Preview 31:33

The preprocessor language comprises a set of approximately 12-15 directives. Each is marked with the special character ‘#’. We note that these directives are not part of the specification of the C language.

Preprocessor Language and Directives

There are several very handy directives that can be used to control how the program is assembled and compiled. That is, to stipulate which lines of source code are passed through to the output file (to be compiled) or ignored based upon a computed condition. These directives are particularly important if we want to build for different targets or when we are enabling or disabling debug code, for example.

Conditional Compilation, File inclusion and Miscellaneous Directives

In this chapter we will cover some advanced preprocessor topics. First we will talk in-depth about function-like macros, focusing on how to avoid some common pitfalls. We present the # and ## preprocessor operators and describe how they can be used when defining macros. An ancient trick-ofthe- trade called the "do { ... } while(0)" trick is presented. The article ends with a discussion on whether #if or #ifdef is preferable for conditional compilation

Tips and Tricks using the Preprocessor and Exercise
About the Instructor
Saurabh Kumar Bansal
3.4 Average rating
7 Reviews
1,014 Students
21 Courses
Software Programmer, Consultant, Mobile Developer

I  was apparently not a diligent student. I worked with C/C++ and HTML, CSS, JavaScript since 12 years. I speak to the world on software freedom. From the beginning of my career I have always worked in large and small teams. While programming has been more of a individual activity, it is the collaboration in teams that can make and break a project. I have been interested in algorithms and data structures and its implementations especially in Java since university.

I am a co-author of various manuals, and has edited and reviewed more than a dozen other books. I wrote columns that provided keen insights into the little algorithmic nuggets that we use in our programs. My favorite books includes  "Writing Efficient Programs", "More Programming Pearls" and "Programming Pearls". The best programmers not only continuously improved the quality of their work, they also influence other members of their team.

I learned about project management and team interaction working at various organisations. I still believe that humans are still at the beginning of the code revolution. Programmers and users are still imitating what came before, and haven’t even imagined all that could be in the future. One thing I am sure of is that code is a type of language, based on the same logic as Sanskrit, and for the first time in history, language can change the physical world. Programming is a literature.

I've always had a passion for teaching in seminars and corporations during my consulting projects. My online school eLearningMedium gives me the opportunity to share my knowledge with students of all backgrounds and experiences across the globe! I'm really excited for this opportunity to bring to you real-world practical experience!

I've plans of making some of the courses about Algorithms and Data Structures, Java, HTML5, Software Engineering and Software Project Management. I give all my heart into creation of courses. I always try to explain everything the easiest possible way. I'm sure that my courses will help you in the adventure.