We may earn an affiliate commission when you visit our partners.
Course image
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

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Programming with these activities:
Review Basic Programming Concepts
Strengthen your foundation by reviewing basic programming concepts such as variables, data types, and control structures.
Browse courses on Programming Concepts
Show steps
  • Read textbooks or online resources on basic programming concepts.
  • Practice writing simple programs to implement these concepts.
Organize Course Materials
Improve your learning experience by organizing and reviewing course materials such as notes, assignments, and quizzes.
Browse courses on Organization
Show steps
  • Gather all course materials into one location.
  • Create a system for organizing materials by topic or module.
  • Review materials regularly to reinforce your understanding.
Explore C Programming Tutorials
Enhance your understanding of C Programming by exploring online tutorials and resources that provide clear explanations and examples.
Browse courses on C Programming
Show steps
  • Search for reputable C Programming tutorials.
  • Select tutorials that align with your learning goals.
  • Follow the tutorials step-by-step.
  • Practice the concepts covered in the tutorials.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Explore C Programming Documentations
Enhance your understanding of C Programming by exploring official documentation and reference materials.
Browse courses on C Programming
Show steps
  • Access the official C Programming documentation website.
  • Search for specific concepts or functions you need to understand.
  • Read and comprehend the explanations and examples provided.
Practice C Programming Exercises
Develop your understanding of C Programming concepts and improve problem-solving skills by working through practice exercises.
Browse courses on C Programming
Show steps
  • Set aside dedicated time for practice.
  • Solve problems using C Programming syntax and logic.
  • Review solutions and identify areas for improvement.
Build a C Program
Demonstrate your understanding of C Programming by creating a practical program that solves a specific problem.
Browse courses on C Programming
Show steps
  • Identify a problem that can be solved using C Programming.
  • Design and develop an algorithm to solve the problem.
  • Implement the algorithm using C Programming syntax.
  • Test and debug your program.
Solve C Programming Problems
Sharpen your problem-solving skills by solving a variety of C Programming problems.
Browse courses on C Programming
Show steps
  • Find problem sets or online platforms that offer C Programming challenges.
  • Select problems that are appropriate for your skill level.
  • Analyze and design solutions using C Programming concepts.
  • Implement your solutions and test for correctness.

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.

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