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

Exploring C

Charles Russell Severance

The C programming language is heavily influential in the world of coding and helps run some of the most powerful computer programs in the world. In Exploring C, examine the historical context and impact of C on the development of programming over the past 50 years. In this course, you’ll compare and contrast C with the programming language Python, review how to code in C and gain an understanding of the nuances of computer programming.

Enroll now

What's inside

Syllabus

Historical Context
Part 1: From Python to C
Part 2: From Python to C
Read more
Part 1: A Tutorial Introduction
Part 2: A Tutorial Introduction

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines C's historical context and impact on the development of programming over the past 50 years
Compares and contrasts C with the programming language Python
Reviews how to code in C
Provides an understanding of the nuances of computer programming

Save this course

Save Exploring C 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 Exploring C with these activities:
Read _The C Programming Language_ by Brian Kernighan and Dennis Ritchie
Improve understanding of C syntax and semantics by reviewing a foundational text on the topic.
Show steps
  • Read through the chapters thoroughly, taking notes on key concepts.
  • Compile and run the code examples provided in each chapter.
  • Answer the review questions at the end of each chapter to test comprehension.
Organize a study group with classmates
Enhance understanding through collaborative learning and peer support.
Browse courses on Collaboration
Show steps
  • Reach out to classmates to form a study group.
  • Establish meeting times and a communication channel for the group.
  • Discuss course material, share insights, and work on assignments together.
Solve C programming challenges on HackerRank
Enhance coding proficiency by solving a series of challenging C programming exercises.
Browse courses on C Programming
Show steps
  • Select a set of problems aligned with the course syllabus.
  • Attempt to solve the problems independently, referring to course materials for support.
  • Check solutions against provided test cases to assess accuracy.
Three other activities
Expand to see all activities and additional details
Show all six activities
Participate in an online C programming competition
Test and improve C programming skills in a competitive environment.
Browse courses on Competitive Programming
Show steps
  • Identify a suitable online C programming competition.
  • Register for the competition and study the rules and format.
  • Attempt the competition problems, aiming for accuracy and efficiency.
Develop a C programming project
Apply C programming skills by building a practical project from scratch.
Browse courses on Software Development
Show steps
  • Identify a project idea that aligns with course objectives.
  • Design the project architecture and create a plan for implementation.
  • Implement the project code, testing and debugging as you go.
  • Document the project, including user instructions and technical details.
Contribute to an open-source C project on GitHub
Gain practical experience and showcase skills by contributing to an open-source project.
Browse courses on Collaborative Development
Show steps
  • Identify a suitable open-source C project on GitHub.
  • Review the project documentation and codebase.
  • Identify a specific issue or feature to work on.
  • Fork the project, implement your changes, and submit a pull request.

Career center

Learners who complete Exploring C will develop knowledge and skills that may be useful to these careers:
Systems Engineer
Systems Engineers design and develop computer systems. This course may be useful for learning the C programming language, which is commonly used in systems engineering. The course can help build a foundation in C, which can be beneficial for Systems Engineers who want to work with this language.
Computer Programmer
Computer Programmers write and test code for software applications. This course may be useful for learning the C programming language, which is commonly used in software development. The course can help build a foundation in C, which can be beneficial for Computer Programmers who want to work with this language.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course may be useful for learning the C programming language, which is commonly used in software development. The course can help build a foundation in C, which can be beneficial for Software Engineers who want to work with this language.
Web Developer
Web Developers design and develop websites and web applications. This course may be useful for learning the C programming language, which is sometimes used in web development. The course can help build a foundation in C, which can be beneficial for Web Developers who want to work with this language.
Mobile Developer
Mobile Developers design and develop mobile applications. This course may be useful for learning the C programming language, which is sometimes used in mobile development. The course can help build a foundation in C, which can be beneficial for Mobile Developers who want to work with this language.
Network Engineer
Network Engineers design and develop computer networks. This course may be useful for learning the C programming language, which is sometimes used in network engineering. The course can help build a foundation in C, which can be beneficial for Network Engineers who want to work with this language.
Software Architect
Software Architects design and develop software architectures. This course may be useful for learning the C programming language, which is sometimes used in software architecture. The course can help build a foundation in C, which can be beneficial for Software Architects who want to work with this language.
Chief Technology Officer
Chief Technology Officers (CTOs) are responsible for the overall technology strategy of an organization. This course may be useful for learning the C programming language, which is sometimes used in CTO roles. The course can help build a foundation in C, which can be beneficial for CTOs who want to work with this language.
Data Scientist
Data Scientists use data to solve business problems. This course may be useful for learning the C programming language, which is sometimes used in data science. The course can help build a foundation in C, which can be beneficial for Data Scientists who want to work with this language.
Computer Architect
Computer Architects design and develop computer architectures. This course may be useful for learning the C programming language, which is sometimes used in computer architecture. The course can help build a foundation in C, which can be beneficial for Computer Architects who want to work with this language.
Machine Learning Engineer
Machine Learning Engineers design and develop machine learning models. This course may be useful for learning the C programming language, which is sometimes used in machine learning. The course can help build a foundation in C, which can be beneficial for Machine Learning Engineers who want to work with this language.
Database Administrator
Database Administrators manage and maintain databases. This course may be useful for learning the C programming language, which is sometimes used in database administration. The course can help build a foundation in C, which can be beneficial for Database Administrators who want to work with this language.
Computer Hardware Engineer
Computer Hardware Engineers design and develop computer hardware. This course may be useful for learning the C programming language, which is sometimes used in computer hardware engineering. The course can help build a foundation in C, which can be beneficial for Computer Hardware Engineers who want to work with this language.
IT Manager
IT Managers plan and manage IT systems. This course may be useful for learning the C programming language, which is sometimes used in IT management. The course can help build a foundation in C, which can be beneficial for IT Managers who want to work with this language.
Security Analyst
Security Analysts identify and mitigate security risks. This course may be useful for learning the C programming language, which is sometimes used in security analysis. The course can help build a foundation in C, which can be beneficial for Security Analysts who want to work with this language.

Reading list

We've selected ten 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 Exploring C .
Comprehensive introduction to the C programming language. It is well-written and easy to follow, making it a good choice for beginners. It covers all the essential concepts of the language, and it also includes a number of programming exercises.
Unique and engaging introduction to the C programming language. It uses a visual approach to teaching, which makes it easy to understand the concepts of the language. It good choice for beginners who want to learn C in a fun and interactive way.
Modern and up-to-date introduction to the C programming language. It covers all the essential concepts of the language, and it also includes a number of programming exercises. It good choice for beginners who want to learn C in a modern and efficient way.
Comprehensive guide to advanced C programming techniques. It covers a wide range of topics, including data structures, algorithms, and operating systems. It good choice for students who want to learn more about C programming.
Classic introduction to the C programming language. It is well-written and easy to follow, making it a good choice for beginners. It covers all the essential concepts of the language, and it also includes a number of programming exercises.
Beginner-friendly introduction to the C programming language. It covers all the essential concepts of the language, and it also includes a number of programming exercises. It good choice for beginners who want to learn C in a simple and easy-to-understand way.
Collection of frequently asked questions about C programming. It good resource for students who want to get help with specific C programming problems.
Beginner-friendly introduction to the C programming language. It covers all the essential concepts of the language, and it also includes a number of programming exercises. It good choice for beginners who want to learn C in a simple and easy-to-understand way.
Beginner-friendly introduction to the C programming language. It covers all the essential concepts of the language, and it also includes a number of programming exercises. It good choice for beginners who want to learn C in a simple and easy-to-understand way.
Comprehensive guide to C programming for embedded systems. It covers all the essential concepts of the language, and it also includes a number of programming exercises. It good choice for beginners who want to learn C in an embedded systems environment.

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