The 'Introduction to Programming with C Language' course is suitable for learners with no prior programming experience. The course covers the fundamentals of the C programming language. At the end of this course, the learners would be able to write interactive and non-interactive programs for solving many real-world use cases. The course will also provide the necessary foundational knowledge required for taking up more advanced courses in C language and other programming languages as well.

Introduction to Programming with C Language

Introduction to Programming with C Language

Instructor: Chandrashekar Ramanathan
Access provided by KAUST Academy learning programs
1,868 already enrolled
Recommended experience
Recommended experience
Beginner level
Suitable for all learners and no prior programming experience required.
Recommended experience
Recommended experience
Beginner level
Suitable for all learners and no prior programming experience required.
What you'll learn
Understand the fundamentals of the C Programming
Learn sequential, conditional, and iterative statements, functions, user-defined data types, and standard libraries such as stdio.h and string.h
Create your own C Application
Skills you'll gain
Tools you'll learn
Details to know

Add to your LinkedIn profile
13 assignments
See how employees at top companies are mastering in-demand skills

There are 9 modules in this course
This course provides a comprehensive introduction to C programming, guiding students through essential concepts from basic syntax to advanced topics like pointers and dynamic memory allocation. Through a mix of theoretical lessons and practical exercises, learners will develop a strong foundation in programming principles, enabling them to write efficient and effective C programs. By the end of the course, students will be equipped with the skills needed to tackle real-world programming challenges and explore further advanced topics in software development.
What's included
2 videos1 reading1 discussion prompt
2 videos•Total 5 minutes
- Introduction to Programming with C Language•3 minutes
- Course Introduction•2 minutes
1 reading•Total 10 minutes
- Syllabus•10 minutes
1 discussion prompt•Total 10 minutes
- Motivation•10 minutes
This module introduces the foundational principles of C programming, focusing on the lifecycle of a C program and essential system setup requirements. Learners will install a C compiler and explore the language's features, setting the stage for effective programming in C.
What's included
10 videos3 readings2 assignments1 discussion prompt
10 videos•Total 37 minutes
- Introduction to required hardware support•4 minutes
- Representation of instructions in the memory•4 minutes
- Introduction to High-Level Languages•4 minutes
- Compiled Languages•3 minutes
- Scripting Languages•3 minutes
- Life-cycle of a c program•1 minute
- compilation process•4 minutes
- linking process•4 minutes
- handling updates in a c program•5 minutes
- language_Features•5 minutes
3 readings•Total 28 minutes
- Introduction to Programming Slides•8 minutes
- Life Cycle of a C Program•10 minutes
- Installing Virtual IDE•10 minutes
2 assignments•Total 60 minutes
- Module 2•30 minutes
- Module 2•30 minutes
1 discussion prompt•Total 10 minutes
- Getting Comfortable with IDE•10 minutes
In this module, students will delve into common types of errors in C, along with fundamental data types and variables. Through hands-on exercises, learners will write their first C program, understand the compilation process, and learn to read and write data via terminal input and output.
What's included
20 videos1 reading2 assignments1 ungraded lab
20 videos•Total 98 minutes
- Introduction to Variables, Memory and Data•5 minutes
- IDE Introduction•3 minutes
- Building First Program•3 minutes
- Compiler Warnings and Errors•5 minutes
- Linking Errors•5 minutes
- Runtime Errors•6 minutes
- Logical Errors•5 minutes
- Understanding the Structure of a C program•7 minutes
- Coding Practice•4 minutes
- Introduction to Variables, Data Types, and basic input/output•6 minutes
- Variables•4 minutes
- Purpose of Data Types•6 minutes
- Numeric Data Type•6 minutes
- Floating Data Types•2 minutes
- Character Data Type•7 minutes
- Basic Operations on Data•6 minutes
- Reading input from the terminal and displaying output •2 minutes
- Format Specifiers for numbers•3 minutes
- Format Specifiers for Strings•4 minutes
- Practice Session: Coding demo on case-study •8 minutes
1 reading•Total 10 minutes
- Case Study Program - for computing the bill value for a purchase•10 minutes
2 assignments•Total 60 minutes
- Practice Quiz: Module 3•30 minutes
- Quiz 3: Module 3•30 minutes
1 ungraded lab•Total 60 minutes
- Starting to code•60 minutes
This module covers various operators in C and the implementation of control flow statements like if, switch, and loops. Students will also explore arrays and multidimensional arrays, applying these concepts to develop basic C programs that demonstrate effective control and data handling.
What's included
24 videos3 readings2 assignments4 ungraded labs
24 videos•Total 160 minutes
- Introduction to Operators•3 minutes
- Arithmetic Operator•8 minutes
- Assignment Operator•5 minutes
- Relational Operator•7 minutes
- Logical Operator•7 minutes
- Bitwise Operator•8 minutes
- Operator Precedence•4 minutes
- Example- Operator Precedence•11 minutes
- Example- Assignment Operator•6 minutes
- Conditional Statements•12 minutes
- Switch Case Statement•7 minutes
- For Loop•10 minutes
- Nested For Loop•3 minutes
- While Loop•4 minutes
- Do While Loop•3 minutes
- Break Statement•6 minutes
- Goto Statement•3 minutes
- Case Study - Menu Driven Program •13 minutes
- Introduction to an Array•9 minutes
- One Dimensional Array•8 minutes
- Two Dimensional Array•7 minutes
- Example of an 1-D Array•6 minutes
- Example of 2-D Array•5 minutes
- Case Study- Matrix Addition Program•5 minutes
3 readings•Total 30 minutes
- Operators Slides and Practice Programs•10 minutes
- Control Statements Programs•10 minutes
- Programs related to Array•10 minutes
2 assignments•Total 60 minutes
- Question Bank : Module 4•30 minutes
- Quiz : Module 4•30 minutes
4 ungraded labs•Total 240 minutes
- operators•60 minutes
- control statements•60 minutes
- array•60 minutes
- casestudy•60 minutes
Focusing on functions and their types, this module also introduces character strings and string manipulation in C. Students will learn the basics of pointers, their definitions, and usage, culminating in the development of programs that utilize functions, strings, and pointers effectively.
What's included
20 videos3 readings2 assignments2 ungraded labs
20 videos•Total 141 minutes
- Introduction to Functions•4 minutes
- How to work with Functions•5 minutes
- Example of Function - Main() Function•8 minutes
- Arguments and Parameters to Function•5 minutes
- Returning Value from Function•5 minutes
- Case Study- Implementing Calculator using Functions •5 minutes
- Scope of variable (Block, Function, File, External)•11 minutes
- Introduction to Strings•8 minutes
- Working with Strings•8 minutes
- Program to work with Strings•7 minutes
- String Functions•9 minutes
- Case Study - Strings•8 minutes
- Introduction to Pointers•8 minutes
- Memory Allocations and Pointers•7 minutes
- Representation of Pointers•6 minutes
- Pointer Assignments•5 minutes
- Working with Pointers•4 minutes
- Passing Pointers to Functions•7 minutes
- Passing Pointers to Functions•11 minutes
- Void Pointer•8 minutes
3 readings•Total 30 minutes
- Practice Programs Related to Functions•10 minutes
- Documents Related to Strings•10 minutes
- Content Related to Pointers•10 minutes
2 assignments•Total 60 minutes
- Question Bank : Module 5•30 minutes
- Quiz : Module 5•30 minutes
2 ungraded labs•Total 120 minutes
- functions•60 minutes
- strings•60 minutes
This module enhances understanding of pointers, including their arithmetic and relationships with arrays. Students will learn about dynamic memory allocation using functions like malloc and calloc, and delve into structures, including nested structures, applying these concepts in practical programming tasks.
What's included
20 videos3 readings2 assignments1 discussion prompt4 ungraded labs
20 videos•Total 130 minutes
- Arrays and Pointers•5 minutes
- Passing Array to Pointers•5 minutes
- Pointer Arithmetic•7 minutes
- Array of Pointers•3 minutes
- Pointer to String•8 minutes
- Array of String•7 minutes
- Example of Array of String•7 minutes
- Passing Array to Functions•10 minutes
- Dynamic Memory Allocation•8 minutes
- Example of Dynamic Memory Allocation•7 minutes
- Scope and LIfetime of a Variable•7 minutes
- Dynamic Memory Allocation Pitfalls•5 minutes
- Dynamic Memory Allocation Pitfalls- Memory Leak•7 minutes
- Introduction to Structures•8 minutes
- Example of Structures•7 minutes
- Nested Structures•7 minutes
- Example of Nested Structures•4 minutes
- Pointers to Structure•7 minutes
- Example of Pointers to Structure•6 minutes
- Case- Study on Structures and Pointers•5 minutes
3 readings•Total 30 minutes
- Documents Related to Structure•10 minutes
- Practice Assignment•10 minutes
- Practice Assignment•10 minutes
2 assignments•Total 60 minutes
- Question Bank : Module 6•30 minutes
- Quiz : Module 6•30 minutes
1 discussion prompt•Total 10 minutes
- Programming Strategy•10 minutes
4 ungraded labs•Total 240 minutes
- Pointers•60 minutes
- dynamic memory allocation•60 minutes
- structure•60 minutes
- casestudy•60 minutes
In the final module, students will learn about file handling in C, including reading and writing binary and text files. Additionally, they will explore standard C libraries and their functions, culminating in projects that integrate file operations and library usage in C programs.
What's included
13 videos3 readings2 assignments2 ungraded labs
13 videos•Total 85 minutes
- Introduction to Data Files•8 minutes
- Working with Files in C•8 minutes
- Write Operation On Files•3 minutes
- Exampple on Write Operation On Files•8 minutes
- Read Operation On Files•3 minutes
- Example on Read Operation On Files•10 minutes
- Dos and Don'ts - Working with Files•7 minutes
- Macros•8 minutes
- Macros with Parameters•7 minutes
- Enumeration•7 minutes
- Preprocessor - #Include•7 minutes
- Static Variable•5 minutes
- typedef: User denied data types•4 minutes
3 readings•Total 30 minutes
- Programs Related to Files•10 minutes
- Programs related to Macros and User Defined Data Types•10 minutes
- Practice Assignment•10 minutes
2 assignments•Total 60 minutes
- Question Bank : Module 7•30 minutes
- Quiz : Module 7•30 minutes
2 ungraded labs•Total 120 minutes
- files•60 minutes
- macros and user defined data types•60 minutes
In this capstone module, students will apply all the concepts learned throughout the course to develop a series of diverse projects that showcase their C programming skills. Each project will integrate various topics, such as data types, control flow, functions, arrays, pointers, and file handling, encouraging students to think critically and solve complex problems. Examples of projects include a simple text-based game, a personal diary application with file storage, and a dynamic memory allocation exercise that utilizes structures. This hands-on approach will reinforce learning and prepare students for real-world programming scenarios.
What's included
11 videos1 reading1 assignment1 ungraded lab
11 videos•Total 86 minutes
- Problem Solving with C•7 minutes
- Write a C program to count number of vowels and consonants •10 minutes
- Write a C Program to check if number is prime number.•7 minutes
- Write a C Program to swap two variables•7 minutes
- Write a C Program to deduplicate an array•7 minutes
- Write a C Program to apply linear serach method to find a number•9 minutes
- Write a C Program to apply binary serach method to find a number•11 minutes
- Concept of Recursion•6 minutes
- C Program to implement Recursion Logic•6 minutes
- Counting number of words in a file - Logic•6 minutes
- Write a C Program to Count number of words in a file •10 minutes
1 reading•Total 10 minutes
- Miscellaneous Programs•10 minutes
1 assignment•Total 60 minutes
- Module 8•60 minutes
1 ungraded lab•Total 60 minutes
- Miscelleneous•60 minutes
As technology continues to evolve, C programming remains relevant due to its efficiency and foundational role in system-level programming. Future trends may include increased integration with IoT devices, enhanced support for concurrent programming, and the ongoing development of cross-platform applications. Additionally, the rise of AI and machine learning is likely to lead to new libraries and frameworks built on C, allowing developers to harness its speed and performance in emerging fields. Continuous learning and adaptation will be essential for programmers to stay ahead in this dynamic landscape.
What's included
1 video1 discussion prompt
1 video•Total 4 minutes
- Way Forward•4 minutes
1 discussion prompt•Total 10 minutes
- Application•10 minutes
Instructor

Offered by

Offered by

The International Institute of Information Technology Bangalore (IIITB) was established in 1998 jointly by the Government of Karnataka and the IT Industry with the mission “to build on the track record set by India in general and Bangalore in particular, to enable India to play a key role in the global IT scenario through a world-class institute with a focus on education and research, entrepreneurship and innovation.” The institute ensures that its curriculum and syllabus are current and meet the ever-changing requirements of the industry. This has fortified IIITB’s unique strength of ensuring a near 100% placement with major companies in the areas of product, hardware, research and development consistently visiting the campus.
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.
