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

Developing FPGA-accelerated cloud applications with SDAccel: Theory (Coursera) Coursera
Politecnico di Milano

Developing FPGA-accelerated cloud applications with SDAccel: Theory (Coursera)

This course is for anyone passionate in learning how to develop FPGA-accelerated applications with SDAccel! We are entering in an era in which technology progress induces paradigm shifts in computing! As a tradeoff between the two extreme characteristics of GPP and ASIC, we can find a new concept, a new idea of computing... the reconfigurable computing, which has combined the advantages of both the previous worlds.

Sep 21st 2026
4 Weeks
Start Your Lifelong Learning (Coursera) Coursera
Accenture

Start Your Lifelong Learning (Coursera)

This course is designed to provide you with techniques to assist you in adopting a growth mindset, dealing effectively with others, and thinking through decisions. It will also help you resolve everyday challenges in the workplace and in your daily life. The course is divided into four modules: Lifelong Learning, Emotional Intelligence, Solving Problems, and Critical Thinking.

Sep 21st 2026
4 Weeks
Java程序设计 (Coursera) Coursera
Peking University

Java程序设计 (Coursera)

《Java程序设计》课程是使用Java语言进行应用程序设计的课程,针对各专业的大学本科生开设。课程的主要目标有三: 一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯,会使用重构、设计模式、单元测试、日志、质量管理工具提高代码的质量。 对于学过“计算机基础、计算概论或C语言的学生”尤为适用。

Sep 21st 2026
5-12 Weeks
Programming Languages, Part C (Coursera) Coursera
University of Washington

Programming Languages, Part C (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Sep 21st 2026
3 Weeks
Programming for Data Science (Coursera) Coursera
University of Leeds

Programming for Data Science (Coursera)

Explore the basics of programming and familiarise yourself with the Python language. After completing this course, you will be able to write Python programs in Jupyter Notebook and describe basic programming. In this course, you will learn everything you need to start your programming journey. You will discover the different data types available in Python and how to use them, learn how to apply conditional and looping control structures, and write your own functions.

Sep 21st 2026
3 Weeks
Problem Solving, Python Programming, and Video Games (Coursera) Coursera
University of Alberta

Problem Solving, Python Programming, and Video Games (Coursera)

This course is an introduction to computer science and programming in Python. Important computer science concepts such as problem solving (computational thinking), problem decomposition, algorithms, abstraction, and software quality are emphasized throughout. The Python programming language and video games are used to demonstrate computer science concepts in a concrete and fun manner. However, a learner can take the knowledge and skills from this course and apply them to non-game problems, other programming languages, and other computer science courses.

Sep 21st 2026
5-12 Weeks
VLSI CAD Part II: Layout (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part II: Layout (Coursera)

A modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Sep 21st 2026
5-12 Weeks
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Sep 21st 2026
5-12 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Sep 14th 2026
5-12 Weeks
Programming with Cloud IoT Platforms (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Programming with Cloud IoT Platforms (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data.

Sep 21st 2026
5-12 Weeks