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

Functional Program Design in Scala (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Program Design in Scala (Scala 2 version) (Coursera)

In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.

Aug 10th 2026
5-12 Weeks
Version Control with Git (Coursera) Coursera
Atlassian

Version Control with Git (Coursera)

The Version Control with Git course provides you with a solid, hands-on foundation for understanding the Git version control system. Git is open source software originally created by Linus Torvalds. Git manages team files for large and small projects. This allows the team to continuously improve its product. It is used by most major technology companies, and is assumed knowledge for many modern programming and IT jobs. It is a core component of DevOps, continuous delivery pipelines and cloud-native computing. You could also use Git to manage the many continuously improving revisions of that book that you are writing.

Aug 10th 2026
4 Weeks
Introdução ao Desenvolvimento de Aplicativos Android (Coursera) Coursera
Universidade Estadual de Campinas - UNICAMP

Introdução ao Desenvolvimento de Aplicativos Android (Coursera)

Este curso tem como objetivo propiciar um primeiro contato com a Programação para Dispositivos Móveis que operam na plataforma Android. O Android Studio será utilizado como ambiente de desenvolvimento desde o início do curso e você receberá dicas de como obter ajuda quando alguma tarefa estiver consumindo mais tempo do que o necessário. Ao solucionar problemas por conta própria, você irá adquirir a autonomia necessária para concluir projetos de programação.

Aug 10th 2026
5-12 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
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Aug 10th 2026
4 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
Customer Relationship Management (Coursera) Coursera
Starweaver

Customer Relationship Management (Coursera)

Customer Relationship Management (CRM) is a comprehensive course that explores various aspects of CRM, from data-driven strategies to customer segmentation and loyalty programs. The course is designed in three stages, each building upon the previous one, and includes self-paced learning with pre-recorded video lectures, exercises, and interactive quizzes. Real-world case studies and problem-solving exercises are introduced in the Intermediate and Advanced stages to simulate real CRM challenges.

Aug 10th 2026
1 Week
Programming Reactive Systems (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Programming Reactive Systems (Scala 2 version) (Coursera)

Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems as per the Reactive Manifesto. Such systems are based on asynchronous message-passing, and their basic building-blocks are event handlers. This course teaches how to implement reactive systems in Scala and Akka by using high-level abstractions, such as actors, asynchronous computations, and reactive streams.

Aug 10th 2026
5-12 Weeks
Computing for Cancer Informatics (Coursera) Coursera
Johns Hopkins University

Computing for Cancer Informatics (Coursera)

One of the key cancer informatics challenges is dealing with and managing the explosion of large data from multiple sources that are often too large to work with on typical personal computers. This course is designed to help researchers and investigators to understand the basics of computing and to familiarize them with various computing options to ultimately help guide their decisions on the topic.

Aug 10th 2026
4 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
An Introduction to Interactive Programming in Python (Part 1) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 1) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Aug 10th 2026
5-12 Weeks