We may earn an affiliate commission when you visit our partners.
Course image
Course image
Coursera logo

Introduction to Programming

Jagat Sesh Challa and Sundaresan Raman

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.

Read more

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.

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.

Enroll now

What's inside

Syllabus

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.
Read more
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.
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.
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.
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.
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Suitable for students who have an interest in science and problem-solving backgrounds
Introduces programming concepts in C Language, providing a solid foundation for further study in computer science
Covers essential programming constructs and teaches how to use them to solve scientific problems
Structured to align with the curriculum of a BITS Pilani BSc Computer Science degree program
Provides opportunities to practice programming skills through assignments and projects
Instructors have extensive experience in teaching programming and computer science

Save this course

Save Introduction to Programming to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Introduction to Programming. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Introduction to Programming will develop knowledge and skills that may be useful to these careers:
Computer Programmer
Computer Programmers write, modify, and maintain computer programs. This course in Introduction to Programming will provide you with the skills to become a successful Computer Programmer. The course covers topics such as branching, looping, functions, and arrays, which are essential for developing efficient and reliable computer programs. Additionally, you will learn about debugging techniques and best practices for software development.
Software Engineer
Software Engineers design, develop, test, deploy, and maintain software. This course in Introduction to Programming can help build a foundation in programming concepts essential for success as a Software Engineer. The course covers topics such as branching, looping, functions, and arrays, which are fundamental building blocks of software development. By learning these concepts, you will be well-equipped to contribute to the design and implementation of complex software systems.
Software Developer
Software Developers are responsible for the development of software applications. This course in Introduction to Programming will provide you with the necessary skills to become a successful Software Developer. The course covers topics such as branching, looping, functions, and arrays, which are essential for developing robust and efficient software applications. Additionally, you will learn about problem-solving and debugging techniques that are critical for success in this field.
Web Developer
Web Developers design, create, and maintain websites and web applications. This course in Introduction to Programming will provide you with the foundation you need to become a successful Web Developer. The course covers topics such as branching, looping, functions, and arrays, which are essential for developing dynamic and interactive web applications. Additionally, you will learn about HTML, CSS, and JavaScript, which are the core technologies used for web development.
Information Security Analyst
Information Security Analysts design, implement, and maintain security measures to protect computer systems and networks. This course in Introduction to Programming can help build a foundation in programming and information security, which are essential for success as an Information Security Analyst. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in security systems. By learning these concepts, you will be well-equipped to develop and implement effective security measures.
Financial Analyst
Financial Analysts use financial data and models to make investment decisions. This course in Introduction to Programming can help build a foundation in programming and data analysis, which are essential for success as a Financial Analyst. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in financial models. By learning these concepts, you will be well-equipped to develop and implement effective financial models.
Actuary
Actuaries use mathematical and statistical methods to assess risk and uncertainty. This course in Introduction to Programming can help build a foundation in programming and data analysis, which are essential for success as an Actuary. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in actuarial models. By learning these concepts, you will be well-equipped to develop and implement effective actuarial models.
Computer Scientist
Computer Scientists research and develop new computing technologies. This course in Introduction to Programming can help build a foundation in programming and computer science, which are essential for success as a Computer Scientist. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in computer science research. By learning these concepts, you will be well-equipped to contribute to the advancement of computing technologies.
Systems Analyst
Systems Analysts design, develop, and implement computer systems. This course in Introduction to Programming can help build a foundation in programming and systems analysis, which are essential for success as a Systems Analyst. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in systems analysis and design. By learning these concepts, you will be well-equipped to develop and maintain complex computer systems.
Computer Systems Analyst
Computer Systems Analysts analyze, design, and implement computer systems. This course in Introduction to Programming can help build a foundation in programming and systems analysis, which are essential for success as a Computer Systems Analyst. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in systems analysis and design. By learning these concepts, you will be well-equipped to develop and maintain complex computer systems.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. This course in Introduction to Programming can help build a foundation in programming and data analysis, which are essential for success as a Data Scientist. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in data analysis and machine learning algorithms. By learning these concepts, you will be well-equipped to handle and analyze large datasets and extract valuable insights.
Software Quality Assurance Analyst
Software Quality Assurance Analysts test and evaluate software products to ensure they meet quality standards. This course in Introduction to Programming can help build a foundation in programming and software testing, which are essential for success as a Software Quality Assurance Analyst. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in software testing. By learning these concepts, you will be well-equipped to develop and implement effective software testing strategies.
Operations Research Analyst
Operations Research Analysts use mathematical and analytical methods to solve business problems. This course in Introduction to Programming can help build a foundation in programming and data analysis, which are essential for success as an Operations Research Analyst. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in operations research models. By learning these concepts, you will be well-equipped to develop and implement effective operations research models.
Database Administrator
Database Administrators manage and maintain databases. This course in Introduction to Programming can help build a foundation in programming and database management, which are essential for success as a Database Administrator. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in database management systems. By learning these concepts, you will be well-equipped to design and implement efficient database systems.
Network Administrator
Network Administrators manage and maintain computer networks. This course in Introduction to Programming can help build a foundation in programming and network administration, which are essential for success as a Network Administrator. The course covers topics such as branching, looping, functions, and arrays, which are used extensively in network management systems. By learning these concepts, you will be well-equipped to design and implement efficient network systems.

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 Introduction to Programming.
Is the classic reference for the C programming language. It was written by the creators of C and must-read for any serious C programmer.
Provides a comprehensive overview of data structures and algorithms. It valuable resource for understanding how computer systems store and manipulate data.
Provides a comprehensive overview of deep learning. It valuable resource for understanding how computer systems can be used to learn from large amounts of data.
Provides a comprehensive overview of operating system concepts. It valuable resource for understanding how computer systems work.
Provides a comprehensive overview of machine learning. It valuable resource for understanding how computer systems can be used to learn from data.
Provides a comprehensive overview of natural language processing. It valuable resource for understanding how computer systems can be used to understand and generate human language.
Provides a comprehensive overview of quantum computing. It valuable resource for understanding how computer systems can be used to perform computations that are impossible on classical computers.
Classic reference for C programming. It is well-written and comprehensive, but it is not as beginner-friendly as some other books.
Provides a comprehensive overview of computer vision. It valuable resource for understanding how computer systems can be used to see and interpret the world around them.
Comprehensive reference for the C programming language. It is not a good choice for beginners, but it valuable resource for experienced programmers.

Share

Help others find this course page by sharing it with your friends and followers:
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