Introduction to Programming (Coursera)

Introduction to Programming (Coursera)

This course aims to prepare you for problem solving through programming. In this course, you’ll be introduced to the C Programming Language. You’ll learn about various constructs supported by C Language and use them to write programs which can solve scientific problems. This course covers a wide variety of topics in fundamentals of programming that are designed to give you an overview of what’s to come in the BITS Pilani BSc Computer Science degree program.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

By the end of the course in the degree program you will be able to write C programs to solve scientific problems, understand the high-level components of a computer and how they are interconnected to execute programs, write programs using various constructs supported by the C language such as assignment, sequencing, conditional and iteration, perform indirect memory level operations of a computer through pointers and dynamic memory allocation, create, edit and delete files on a computer using programs as well as write programs to create large records of data and implement operations such as searching, sorting etc.
Here you can experience the first half of the course very similarly to how you would were you enrolled in the degree program.

What You Will Learn

  • Learn about various constructs supported by C Language and use them to write programs which can solve scientific problems.
  • Write programs using various constructs supported by the C language such as assignment, sequencing, conditional and iteration.
  • Perform indirect memory level operations of a computer through pointers and dynamic memory allocation.
  • Create, edit and delete files on a computer using programs.

Syllabus

WEEK 1
Course Introduction
This module introduces you to the course and its structure. The course introductory video orients you to the skills and knowledge you will acquire through this course. The syllabus reading highlights the course values, assessments, grading scheme, schedule and details of live sessions, and readings list that you must procure to acquire the concepts better. You will also meet and greet your peers around the globe through a discussion prompt.
Introduction to Computing and Problem-Solving
In this module, you will learn about the basics of a computer, what computer programs are, and how they are executed in a computer with the help of an operating system. In addition, you will also learn to schematically represent the steps to solve a problem before writing a computer program by drawing flowcharts for scientific problem-solving.

WEEK 2
Introduction to C Programming
In this module, you will learn the key elements of a C program and learn how to execute a C program. You will know what variables are and how to initialize and modify the value of variables in a C program. You will also learn to write arithmetic and logical expressions in a C program.

WEEK 3
Branching and Looping
In this module, you will learn about branching and looping. You will learn how decision-making can be incorporated into a program. You will also discover how repetitive and iterative tasks can be achieved using while loops and for loops.

WEEK 4
Functions
In this module, you will learn how to break down a complex problem into modular functions. You will learn about the scope and lifetime of a variable declared in a C program. You will also analyze and examine the data stored at the different memory segments for any C program.

WEEK 5
Arrays
In this module, you will learn to store a collection of similar type data contiguously in adjacent memory using arrays. You will learn to perform operations on arrays, search for specific values from them, and sort the data stored in the arrays in ascending or descending order.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction à la programmation orientée objet (en Java) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Introduction à la programmation orientée objet (en Java) (Coursera)

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage Java. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en Java) ».

Aug 16th 2026
5-12 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Aug 10th 2026
4 Weeks
Foundation to Multi-Cloud (Coursera) Coursera
EDUCBA

Foundation to Multi-Cloud (Coursera)

The "Foundation to Multi-Cloud" course is designed to provide a comprehensive understanding of multi-cloud computing principles, benefits, and challenges. It equips you with the knowledge and skills required to effectively manage and utilize multiple cloud platforms simultaneously. This course introduces the concept of multi-cloud, elucidates its advantages and complexities, and delves into various strategies and technologies for implementing and managing multi-cloud environments.

Aug 10th 2026
3 Weeks
FPGA computing systems: Background knowledge and introductory materials (Coursera) Coursera
Politecnico di Milano

FPGA computing systems: Background knowledge and introductory materials (Coursera)

This course is for anyone passionate in learning how a hardware component can be adapted at runtime to better respond to users/environment needs. This adaptation can be provided by the designers, or it can be an embedded characteristic of the system itself. These runtime adaptable systems will be implemented by using FPGA technologies.

Aug 10th 2026
4 Weeks
Leadership & Organization Design (Coursera) Coursera
Illinois Tech

Leadership & Organization Design (Coursera)

To succeed in today’s knowledge intensive organizations managers need to understand how individual differences in personality, learning style and cultural values, group dynamics, organizational culture, and human resource management policies shape employee attitudes and behaviors. This course teaches managers creative problem-solving and ethical decision-making, change management, leadership techniques for enhancing social capital and influencing other organizational members, and management tools for multicultural and geographically dispersed teams.

Aug 10th 2026
5-12 Weeks
Ajax Basics (Coursera) Coursera
Board Infinity

Ajax Basics (Coursera)

This Ajax Basics course is designed for beginners who want to learn how to build web applications that dynamically update content without reloading the entire page. In this course, you will learn the fundamentals of Ajax, including its features, advantages, and common usage scenarios.

Aug 10th 2026
3 Weeks
Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Aug 10th 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Aug 10th 2026
4 Weeks
C# for .NET Developers (Coursera) Coursera
Board Infinity

C# for .NET Developers (Coursera)

In this course you will be introduced to everything from the basics of programming concepts like variables, data types, and control structures, to more advanced topics like object-oriented programming, etc. By the end of the course, you'll have a solid understanding of C# programming, the .NET framework, and how to use them to build a variety of applications. You'll have the skills and knowledge you need to start your career as a C# developer or take your current skills to the next level.

Aug 10th 2026
3 Weeks
Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Aug 10th 2026
4 Weeks