We may earn an affiliate commission when you visit our partners.
Course image
Shibaji Paul

I have been teaching this course to the undergraduate engineering students for last 15 years in class room. This course is well designed and covered almost all the topics that one should know while learning C language. Will not only help the student to build a solid foundation on the topic but will boost their confidence to face technical interviews boldly.

Read more

I have been teaching this course to the undergraduate engineering students for last 15 years in class room. This course is well designed and covered almost all the topics that one should know while learning C language. Will not only help the student to build a solid foundation on the topic but will boost their confidence to face technical interviews boldly.

The course contents are mostly video lectures. I would encourage absolute beginners to follow the lectures strictly in chronological manners, please start from the very first video and go to the next one only if you are done with the previous. However, though not recommended, but students with some previous knowledge could jump lectures if they are confident.

The course is structured basically for the new programmers who may not have any previous experience with any programming language. From the very basic to advanced topics. Simple program to complex one in step-by-step.

One should take this course to build a career as a programmer. Programming in C has been considered as foundation for any programming language. If one is confident with C, then can start learning any other language like PHP, C++ or Java.

Enroll now

What's inside

Learning objectives

  • If else statements, loop - while, for and do while loop with many examples.
  • Array - 1d and 2d, why we need them and how to use them effectively.
  • String in c - null terminated character arrays.
  • Writing function, parameter passing to function. returning value from function.
  • Storage class - auto, static, extern and register
  • Pointer - in depth understanding.
  • Relationship between arrays and pointers.
  • Array of pointers.
  • Command line arguments
  • Reading and writing with files, both text and binary.
  • Recursion - how it works, recursion vs iteration in depth discussion - towers of hanoi
  • Various string utilities - sprintf, strtok and many others
  • Function pointers
  • Bitwise operators in c programming.
  • Show more
  • Show less

Syllabus

In this section, apart from the introduction you will get the guidance to follow the course in the best way. Get idea on how to post in Q/A forum, how to do coding exercises in the course.
Read more
Introduction
A note on screen resolution.
Course dash-board, Q/A section, basic guidance to follow the course.
How to do the coding exercises, please watch.
This section deals with mainly installation of compilers and IDEs, and how to write, compile and execute C program in various popular IDEs and also using simple text editor
A brief note on IDE and Compiler

This video will guide you to download, install and use Xcode for your Mac OSX. Xcode is a powerful IDE and best choice for OSX users. It is available for free, also when you install Xcode you get the C, C++, swift and Objective-c compiler installed on your Mac as well.

In this video you will learn how to write your C program using a text editor like Sublime text and then how to compile and execute your program from the terminal of MacOS.

Using Visual Studio Code on MacOS for C program.

This lecture will show you how to use Codeblocks under Mac, if you are using Windows and willing to use Codeblocks just see the next lecture.

This video tutorial will demonstrate how you can download, install and use Code::Blocks IDE for your Windows operating system along with the MinGW compiler.

Compiling from Windows terminal using gcc
Using Visual Studio Code for Windows.

This lecture will walk you through the process of downloading and installing the Visual Studio 2019 Community Edition for your Windows machine, after that you will also experience how to create a C project and build and run that under this powerful IDE.

This tutorial shows how to use netbeans IDE for C projects. How one can create a project, how to compile and execute.

Initialisation of variables, relational and logical operators, short circuit property, explicit casting.

In this tutorial you will understand each part of the program that prints "Hello, World!" into the console.

Just print Hello World

In this video you will learn about variables, data types and how to declare variables.

This video will teach you how to print content of a variable into console using printf.

In this video you will learn how to read data from keyboard and assign that into a variable using the scanf function.

Have you understood printf and scanf?
Initialization of variable, octal and hexadecimal initialization.
Arithmetical Operators in C
Do some arithmetic work
Console I/O and Variable declarations
Dealing with characters

Quiz to test your skill about characters and how they are represented.

Flushing problem while taking character input
Idea of casting
Assignment to test your idea about data type casting.
The secret of printf
The secret of scanf
The most neglected operator - Assignment operator
Relational operators for comparing values
Can you take this challenge?
Introduction to Logical Operator, AND operation
Logical OR operation
Logical NOT operation
Unary increment and decrement operator
Short circuit feature of AND and OR operation

Test yourself, how strong you are on the very basic things like variable declarations, operators, initialisation.

How to write if-else block for doing condition based branching in C program. If-else-if ladder. The conditional operator, only operator ternary in nature
"To be or not to be" - how to decide using if-else
Going further, the if-else-if structure
"Mood of Pupeta the funny creature" - Test your skill on if-else
Another programming example on if-else-if, this will help you more.
Are you sure you can answer this? Take a look.
Ops! Not done yet, here is some more information on if-else
Print remark according to the age.
Make it smart using conditional operator, the only ternary operator in C
Nested if-else, checking leap year.

Switch case statements can be suitable alternatives to if-elseif sometime. 

Quiz on if-else structure. You need to take decision firmly, always, are you sure?

Practice if-else statement
Introduction to iteration or looping to execute a block of code repetitively. Students will learn how to write for, while and do-while loop, how to break or continue as per need.
Introduction to loop, while loop.
Quiz on While loop
While loop - Programming Example 1
While loop - Programming Example 2
Find sum of all numbers which are divisible by 3 but not divisible by 5 up to a positive integer n.
Take a challenge on while loop, here is interesting "predict output" on while.
Assignment: While loop - 1
All about smart looking for loop
Pattern Printing
First do then check, do-while loop
How to break a loop early: use of 'break' keyword
The other loop utility: 'continue' keyword

There is a coding exercise, hi_low_dame.c, download the file and try that. I have written all the comments there. Just read the comments and follow the instructions.

To check how you have understood the concept of loops.

Hi_Lo_Game
A dice game
How to declare and use arrays in C programming
Introduction to one dimensional array
Initialisation of one dimensional array
Allocating array dynamically, Example input output operations with array
A programming example using 1-D array
One dimensional array - first assignment.
Second assignment on one dimensional array
Introduction to two dimensional array
2-D array programming example
Print transpose of a matrix.
Generate Magic Square

The purpose of the quiz is to test your acquired knowledge on 1-D arrays.

In this quiz you will get questions on 2 dimensional arrays that will help you to judge your foundation on 2-D arrays, good luck!

After completing this section students will learn how to store and manipulate string. Also students will be introduced with library functions available for string manipulation in C
Introduction to string, using character array for storing string
How to input string from keyboard
Finding the length of string
Searching and counting target in string
Library function for string operations, string.h
Find longest word in a string
Check if a string is a Palindrome or not.
count frequency of digits in a string.

This quiz will test your understanding on string or NULL terminated character arrays.

Students will learn the benefit of modularisation, how to write user defined function, idea of function prototype, parameter passing.
Introduction to function
Prototype or signature of function, declaring a function.
Write a simple function.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Introduces learners to the basics of the C programming language, which is used in many industries
Appropriate for absolute beginners with no prior coding experience
Builds a strong foundation for understanding programming concepts in general, making it a suitable starting point
Taught by an experienced instructor who has been teaching the course for a decade
Covers a wide range of topics, from basic data types and operators to advanced concepts like pointers and recursion
Provides hands-on exercises and quizzes to reinforce understanding

Save this course

Save C Programming Step by Step - Complete Tutorial For Beginners to your list so you can find it easily later:
Save

Reviews summary

Solid c programming course for beginners

Learners say that this beginner-friendly course is challenging but rewarding. Students report feeling more comfortable with C after taking this course. However, they do not feel completely fluent yet.
The instructor is knowledgeable and helpful.
"The instructor is good."
Expect to spend a significant amount of time on this course.
"It took me many hours and more then a month to complete."
Be prepared for a difficult course.
"Thanks for this course. It was challenging . . ."
"It took me many hours and more then a month to complete."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in C Programming Step by Step - Complete Tutorial For Beginners with these activities:
Review C Language Basics
Refresh your memory on the fundamental concepts of C programming, including variables, data types, operators, and control structures.
Browse courses on C Language
Show steps
  • Review lecture notes or online resources
  • Take practice quizzes or coding challenges
  • Complete coding exercises to reinforce your understanding
Review 'The C Programming Language' by Brian Kernighan and Dennis Ritchie
Solidify your C knowledge by reading and reviewing the classic text 'The C Programming Language,' gaining insights from the creators of the language.
Show steps
  • Obtain a copy of the book
  • Read the book thoroughly
  • Take notes and highlight key concepts
  • Complete the exercises and practice problems
  • Refer to the book for reference and further clarification
Practice Using IDEs
Reinforce your understanding of C syntax by practicing writing, compiling, and executing programs in various IDEs.
Browse courses on C Programming
Show steps
  • Choose an IDE
  • Write a simple program
  • Compile and run the program
  • Explore the IDE's features
  • Write a more complex program
Four other activities
Expand to see all activities and additional details
Show all seven activities
Engage in Peer Code Review
Collaborate with peers by reviewing and discussing each other's C code, providing feedback and identifying areas for improvement.
Browse courses on Code Review
Show steps
  • Find a peer to collaborate with
  • Exchange code for review
  • Review the code for clarity, efficiency, and correctness
  • Provide constructive feedback
  • Incorporate feedback into your own code
Follow Tutorials on Pointers
Deepen your understanding of pointers and their relationship with arrays by following guided tutorials and applying them to coding exercises.
Browse courses on Pointers
Show steps
  • Find tutorials on pointers
  • Watch the tutorials
  • Complete the practice exercises
  • Apply your knowledge to coding challenges
Participate in Coding Competitions
Challenge yourself by participating in coding competitions, applying your C programming skills to solve algorithmic problems in a timed setting.
Browse courses on Problem Solving
Show steps
  • Find a coding competition platform
  • Choose a competition that matches your skill level
  • Study the competition rules and problem statements
  • Develop and submit your solutions
  • Analyze your performance and identify areas for growth
Develop a C Program for a Game
Test your C programming skills by designing and implementing a simple game, showcasing your understanding of loops, conditionals, and user interaction.
Browse courses on Programming
Show steps
  • Plan the game mechanics
  • Design the game interface
  • Implement the game logic
  • Test and refine your game
  • Share your game with others

Career center

Learners who complete C Programming Step by Step - Complete Tutorial For Beginners will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers combine engineering principles with computer science to design, build, and maintain computer software. They analyze user needs to determine the best solutions for software applications, and oversee the development and testing of software programs. Their work ensures that software runs efficiently and effectively.
Computer Programmer
Computer Programmers write and test code that allows computer applications and software programs to run. They are responsible for ensuring that the programs are efficient, reliable, and user-friendly. This course provides a foundation in the C programming language, a widely used language for developing various software applications.
Web Developer
Web Developers design, create, and maintain websites. They work with both the front-end and back-end of websites, ensuring that they are visually appealing, functional, and meet the needs of the end-users. This course's focus on C programming can be beneficial for Web Developers, as C is often used in web development for tasks such as developing web servers and handling network traffic.
Data Analyst
Data Analysts collect, analyze, interpret, and present data to help organizations make informed decisions. They use statistical techniques and software to uncover trends and patterns in data, which can be used to improve business operations, customer service, and product development. This course's emphasis on data structures, algorithms, and problem-solving can provide a solid foundation for Data Analysts.
Database Administrator
Database Administrators are responsible for managing and maintaining databases, ensuring that they are reliable, secure, and efficient. They work with database management systems to create, modify, and optimize databases, and implement security measures to protect data from unauthorized access.
Information Security Analyst
Information Security Analysts plan and implement security measures to protect an organization's computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. They may also conduct security audits and risk assessments to identify vulnerabilities and make recommendations for improvements.
Systems Analyst
Systems Analysts study the needs of an organization and design and implement computer systems to meet those needs. They may also develop and maintain software applications, and work with users to ensure that systems are running smoothly.
Network Administrator
Network Administrators manage and maintain computer networks, ensuring that they are running smoothly and securely. They install, configure, and maintain network hardware and software, and monitor network traffic to identify and resolve problems.
Computer Systems Analyst
Computer Systems Analysts study the needs of an organization and design and implement computer systems to meet those needs. They may also develop and maintain software applications, and work with users to ensure that systems are running smoothly.
Software Quality Assurance Analyst
Software Quality Assurance Analysts test and evaluate software products to identify and fix bugs and ensure that they meet quality standards. They may also develop and implement testing procedures, and work with developers to improve the quality of software products.
IT Project Manager
IT Project Managers plan, organize, and manage IT projects, ensuring that they are completed on time, within budget, and to the required quality standards. They work with stakeholders to define project requirements, develop project plans, and track project progress.
Business Analyst
Business Analysts study the needs of an organization and develop and implement solutions to improve business processes. They may work with stakeholders to identify problems, gather and analyze data, and develop and implement recommendations.
Technical Writer
Technical Writers create and maintain technical documentation, such as user manuals, white papers, and training materials. They work with subject matter experts to gather information and write clear and concise documentation that can be easily understood by users.
Computer Support Specialist
Computer Support Specialists provide technical support to computer users, helping them to resolve problems with hardware, software, and networks. They may also provide training on new software and hardware, and help users to troubleshoot and resolve technical issues.
IT Auditor
IT Auditors review and evaluate an organization's IT systems and processes to ensure that they are secure and compliant with regulations. They may also conduct risk assessments and provide recommendations for improvements to IT security and compliance.

Reading list

We've selected 15 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in C Programming Step by Step - Complete Tutorial For Beginners.
Comprehensive reference on C programming. It covers all the features of the language, from the basics to the most advanced topics. It good choice for students who want to learn more about C and its applications.
This classic book is the definitive guide to the C programming language. It is written by the creators of C, and it covers everything from the basics to the most advanced features of the language.
Comprehensive reference on C programming. It covers all the features of the language, from the basics to the most advanced topics. It good choice for students who want to learn more about C and its applications.
Classic text on C programming. It is written by a renowned expert in the field, and it provides a comprehensive overview of the language. It good choice for students who want to learn more about the underlying principles of C.
Good choice for students who want to learn how to use C for scientific and engineering applications. It covers a wide range of topics, from numerical methods to data analysis. It good choice for students who want to learn how to use C to solve real-world problems.
Practical guide to writing C code. It covers a wide range of topics, from memory management to error handling. It good choice for students who want to learn how to write safe and efficient C programs.
Great introduction to C programming for beginners. It covers all the basics of the language in a clear and concise way.
Practical guide to writing reliable C code. It covers a wide range of topics, from memory management to error handling. It good choice for students who want to learn how to write safe and efficient C programs.
Good choice for students who want to learn more about the fundamentals of computer science. It covers a wide range of topics, from data structures to algorithms. It good choice for students who want to learn more about the theoretical foundations of C.
Popular tutorial on C programming. It is written in a clear and concise style, and it covers all the essential topics of the language. It good choice for beginners who want to learn C quickly and easily.
Step-by-step guide to C programming. It covers all the basics of the language, from variables and data types to functions and arrays. It good choice for beginners who want to learn C in a structured and systematic way.
Good choice for students who want to learn more about pointers and structures in C. It covers all the basics of these topics, and it provides a number of examples to help students understand how they work.
Fun and engaging way to learn C. It uses a visual approach to teaching, and it is full of examples and exercises. It good choice for students who want to learn C in a more interactive way.
Good choice for complete beginners who have no prior programming experience. It starts with the basics of programming and gradually introduces more advanced concepts. It good choice for students who want to learn C from scratch.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to C Programming Step by Step - Complete Tutorial For Beginners.
Learn Flowcharting and Pseudocode. Be a better programmer!
Most relevant
Groovy Fundamentals For Testers - Step By Step
Most relevant
Modern C++ Concurrency in Depth ( C++17/20)
Most relevant
Object Oriented Development using C#
Most relevant
Introduction to C# Programming and Unity
Most relevant
C# Class Development
Most relevant
Beginning C++ Programming - From Beginner to Beyond
Most relevant
More C# Programming and Unity
Most relevant
Computer Science 101: Master the Theory Behind Programming
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser