We may earn an affiliate commission when you visit our partners.
Course image
Petra Bonfert-Taylor and Rémi SHARROCK

Start learning one of the most powerful and widely used programming languages: C. Within moments you will be coding hands-on in a browser tool that will provide instant feedback on your code.

Read more

Start learning one of the most powerful and widely used programming languages: C. Within moments you will be coding hands-on in a browser tool that will provide instant feedback on your code.

The C programming language is one of the most stable and popular programming languages in the world. It helps to power your smartphone, your car's navigation system, robots, drones, trains, and almost all electronic devices. C is used in any circumstances where speed and flexibility are important, such as in embedded systems or high-performance computing.

In this course, you will get started with C and learn how to write your first programs, how to make simple computations and print the results to the screen, how to store values in variables and how to repeat instructions using loops.

Beginners, even those without any programming experience, will be able to immediately start coding in C with the help of powerful yet simple coding tools right within the web browser. No need to install anything!

Why learn C and not another programming language? Did you know that smartphones, your car’s navigation system, robots, drones, trains, and almost all electronic devices have some C-code running under the hood? C is used in any circumstance where speed and flexibility are important, such as in embedded systems or high-performance computing.

C is a foundational programming language taught at engineering schools around the world, and represents one of the building blocks of modern computer information technology. Invented in the 1970’s. It is still one of the most stable and popular programming languages in the world.

We are excited to introduce you to the world of coding and launch you along your path to becoming a skilled C programmer!

This is the first course in the C Programming with Linux Specialization. This series of seven courses will establish your programming skills and unlock doors to careers in computer engineering.

This course has received financial support from the Patrick & Lina Drahi Foundation.

Enroll now

What's inside

Syllabus

Week 1: Welcome and the History of C
This week you will write your first line of code and become familiar with our learning tools (without installing anything!).
Read more
Week 2: Printing, loops, and comments
This week you will to print text to the screen, utilize for-loops, explain their code by adding comments in various ways, and recognize the different sections of a simple C-program and their purposes (e.g. variable declaration, main function).
Week 3: Integers, variables and user input
This week, you will explore the concept of variables and use integer-type variables (of format specifier %d) through declarations, assignments, and reassignments. You will also utilize these integer-type variables in for-loops and with user input.
Week 4: Characters and doubles
This week you will utilize variables of type integer, double, and character through declarations, assignments, reassignments, printing, converting between types, casting, etc.. You will also create C-programs that perform tasks involving user input, integer and floating point arithmetic operations, and output to the screen.
Concluding the course

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches C, which is core to electronic devices
Offers instant feedback on code
Develops foundations for advanced computer science studies
Belongs to a larger 7-course series
Provides a solid introduction to programming

Save this course

Save C Programming: Getting Started - 1 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 C Programming: Getting Started - 1 with these activities:
Read "C Programming: A Modern Approach" by K. N. King.
This book will provide a solid foundation in C programming.
Show steps
  • Read through the book, taking notes as needed.
  • Complete the exercises at the end of each chapter.
  • Create a simple C program that implements the concepts you have learned.
Follow the C programming tutorials on the official C website.
These tutorials will provide you with a guided introduction to C programming.
Browse courses on C Programming
Show steps
  • Visit the official C website.
  • Read through the tutorials.
  • Complete the exercises at the end of each tutorial.
Organize your class materials for easy reference.
This activity will help you stay organized and make it easier to find the information you need.
Show steps
  • Create a system for organizing your materials.
  • File your materials according to your system.
  • Review your materials regularly.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Solve C programming problems on LeetCode.
This activity will help you develop your problem-solving skills and learn new C programming techniques.
Browse courses on C Programming
Show steps
  • Choose a problem to solve.
  • Read the problem statement carefully.
  • Design an algorithm to solve the problem.
  • Implement your algorithm in C.
  • Test and debug your solution.
Attend a C programming meetup.
This activity will allow you to connect with other C programmers and learn from their experiences.
Browse courses on C Programming
Show steps
  • Find a C programming meetup in your area.
  • Attend the meetup.
  • Introduce yourself to other attendees.
Attend a C programming workshop.
This activity will provide you with hands-on experience with C programming.
Browse courses on C Programming
Show steps
  • Find a C programming workshop in your area.
  • Register for the workshop.
  • Attend the workshop and participate in the activities.
Build a simple text-based game in C.
This project will help you apply the concepts you have learned in the course to a real-world problem.
Browse courses on C Programming
Show steps
  • Design the game's story and mechanics.
  • Create the game's world and characters.
  • Write the game's code.
  • Test and debug the game.
Write a blog post about your experience learning C.
This activity will help you reflect on what you have learned and improve your communication skills.
Browse courses on C Programming
Show steps
  • Choose a topic to write about.
  • Write an outline for your post.
  • Write the first draft of your post.
  • Edit and revise your post.

Career center

Learners who complete C Programming: Getting Started - 1 will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers design, develop, and maintain software applications. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is commonly used in software development.
Web Developer
Web Developers design and develop websites and web applications. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in web development, particularly for high-performance applications.
Computer Programmer
Computer Programmers write and maintain the code that makes computers and software applications work. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is widely used in various industries for developing high-performance, efficient, and reliable software.
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 C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in data science for high-performance computing or embedded systems.
Computer Scientist
Computer Scientists research and develop new computing technologies and applications. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is widely used in various areas of computer science, including operating systems, embedded systems, and high-performance computing.
Embedded Systems Engineer
Embedded Systems Engineers design and develop embedded systems, which are computer systems that are designed to perform specific tasks within a larger system. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is widely used in embedded systems development due to its efficiency, performance, and reliability.
Robotics Engineer
Robotics Engineers design, build, and maintain robots. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in robotics for high-performance control systems and embedded systems.
Software Architect
Software Architects design and oversee the development of software systems. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in software architecture for high-performance and embedded systems.
Security Analyst
Security Analysts identify and mitigate security risks. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in security analysis for high-performance security systems and embedded systems.
Systems Analyst
Systems Analysts analyze and design computer systems. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in systems analysis for high-performance computing and embedded systems.
Network Engineer
Network Engineers design, build, and maintain computer networks. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in network engineering for high-performance networking and embedded systems.
Database Administrator
Database Administrators manage and maintain databases. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in database management systems for high-performance computing and embedded systems.
IT Manager
IT Managers plan and oversee the implementation and maintenance of computer systems. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in IT management for high-performance computing and embedded systems.
Computer Support Specialist
Computer Support Specialists provide technical support to computer users. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in computer support for high-performance computing and embedded systems.
Technical Writer
Technical Writers create and maintain technical documentation. This course in C Programming: Getting Started - 1 may be useful as it will help build a foundation in the C programming language, which is sometimes used in technical writing for documenting high-performance software and embedded systems.

Reading list

We've selected 14 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 C Programming: Getting Started - 1.
The C Programming Language is the original book on the C programming language, and is considered one of the most important books in the history of computer science. It provides a comprehensive overview of the C language, and is essential reading for anyone who wants to learn C.
The Practice of Programming book that provides advice on how to write good C code. It is written by two of the most experienced C programmers in the world, and is full of valuable tips and insights.
Advanced Programming in the Unix Environment book that provides a comprehensive overview of the Unix programming environment. It is an essential reference for anyone who wants to learn more about Unix.
Computer Systems: A Programmer's Perspective book that provides a comprehensive overview of computer systems. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.
Operating Systems: Three Easy Pieces book that provides a comprehensive overview of operating systems. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.
The Elements of Computing Systems book that provides a comprehensive overview of computer systems. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.
Computer Architecture: A Quantitative Approach book that provides a comprehensive overview of computer architecture. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.
Modern Operating Systems book that provides a comprehensive overview of operating systems. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.
Distributed Systems: Concepts and Design book that provides a comprehensive overview of distributed systems. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.
Introduction to Algorithms book that provides a comprehensive overview of algorithms. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.
Data Structures and Algorithms in C++ book that provides a comprehensive overview of data structures and algorithms. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.
Discrete Mathematics and Its Applications book that provides a comprehensive overview of discrete mathematics. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.
Linear Algebra and Its Applications book that provides a comprehensive overview of linear algebra. It is written in a clear and concise style, and is suitable for both beginners and experienced programmers.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to C Programming: Getting Started - 1.
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