Sorry, this page is no longer available
Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Andrew D. Hilton, Anne Bracy, and Genevieve M. Lipp

The third course in the specialization Introduction to Programming in C introduces the programming constructs pointers, arrays, and recursion. Pointers provide control and flexibility when programming in C by giving you a way to refer to the location of other data. Arrays provide a way to bundle data by guaranteeing sequences of data are grouped together. Finally, recursive functions—functions that call themselves—provide an alternative to iteration that are very useful for implementing certain algorithms.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Pointers
Pointers are one of the most important and powerful aspects of the C language. Pointers are critical to understanding arrays, which let you manipulate sequences of data. They also give a programmer control and flexibility when programming, enabling solutions that are clean and efficient. Some other languages use pointers implicitly—or pointer-like constructs—so understanding their use will make you a better programmer in any language.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides an introduction to programming constructs pointers, arrays, and recursion
Instructors are recognized for their work in the topic that the course teaches
Teaches skills, knowledge, and/or tools that are highly relevant to industry

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Solid foundation in c core concepts

According to learners, this course provides a solid and fundamental understanding of critical C programming concepts: pointers, arrays, and recursion. Many students found the lectures clear and well-structured, particularly appreciating the explanations of complex topics. The practical project, building a poker hand evaluator, was frequently highlighted as a rewarding experience that helped solidify learning. However, some reviewers noted a steep learning curve, particularly with pointers and recursion, suggesting that students may need to seek external resources or have prior programming experience to succeed. While the assignments are generally considered valuable, a minority found certain parts challenging or occasionally unclear.
The practical project is difficult but aids learning.
"The poker project is tough, but successfully implementing it felt incredibly rewarding."
"Building the card deck and hand evaluator was a great way to apply pointers and arrays."
"While frustrating at times, the project really solidifies the concepts taught."
"I liked the hands-on approach of the project; it wasn't just theory."
Builds a strong base in core C concepts.
"This course is essential for anyone serious about programming in C."
"Provided me with a solid foundation for understanding how memory works in C."
"Really helped solidify my understanding of how arrays and pointers relate."
"Crucial concepts taught well for building future programming skills."
Concepts are explained clearly and effectively.
"The instructor does a great job explaining complex topics like pointers."
"I finally understand recursion after taking this course; the explanations were very clear."
"Lectures break down pointers and arrays into manageable parts."
"Helped clarify pointer arithmetic better than other resources I've used."
Some learners needed outside help for mastery.
"While the course is good, I definitely needed to supplement with online articles and tutorials."
"Found myself searching Stack Overflow quite a bit for the project."
"More practice problems or deeper dives into tricky edge cases would be helpful."
"I used other resources to fully grasp recursion techniques."
Course can be challenging, especially for beginners.
"Pointers are notoriously difficult, and this course is no exception. Requires effort."
"As a beginner, I found the section on recursion quite challenging and needed extra practice."
"Might be a bit fast-paced if you have no prior programming background."
"Some concepts felt advanced, requiring me to pause and rewatch or look elsewhere."

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 Pointers, Arrays, and Recursion with these activities:
Review data structures and algorithms
Refresh your knowledge of data structures and algorithms before starting this course.
Browse courses on Data Structures
Show steps
  • Go over your notes from a previous data structures and algorithms course or tutorial.
  • Complete some practice exercises to refresh your memory.
  • If you encounter any difficulties, seek help from a tutor or online forum.
Review basic C syntax
Strengthen your foundation in C syntax before starting this course.
Browse courses on C Programming
Show steps
  • Go over your notes from a previous C course or tutorial.
  • Complete some practice exercises to refresh your memory.
  • If you encounter any difficulties, seek help from a tutor or online forum.
Organize your notes and assignments
Stay organized throughout the course by keeping your materials in one place.
Show steps
  • Create a dedicated folder for the course.
  • File your notes, assignments, and quizzes in the folder.
  • Review your materials regularly to reinforce your understanding.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Connect with experienced C programmers
Find mentors to provide guidance and support throughout the course.
Show steps
  • Attend industry events and meetups.
  • Reach out to professionals on LinkedIn.
  • Join online forums and communities.
Review C pointer syntax
Practice writing C code to solidify your understanding of pointers.
Browse courses on Pointers
Show steps
  • Set up a development environment for C programming.
  • Review the syntax for declaring and using pointers in C.
  • Write a simple program that uses pointers to access and modify variables.
  • Test your program and debug any errors.
  • Repeat steps 2-4 with different types of data and pointer operations.
Learn about using arrays in C
Deepen your understanding of arrays by exploring their use in real-world C programs.
Browse courses on Arrays
Show steps
  • Find a tutorial on using arrays in C.
  • Follow the tutorial and complete the exercises.
  • Create your own C program that uses arrays to solve a problem.
  • Test your program and debug any errors.
  • Share your program with others and discuss your approach.
Write a blog post about pointers and arrays in C
Reinforce your understanding of pointers and arrays by explaining them to others.
Browse courses on Pointers
Show steps
  • Choose a specific aspect of pointers and arrays in C to focus on.
  • Research the topic thoroughly.
  • Write a blog post that explains the topic in a clear and concise way.
  • Edit and proofread your blog post.
  • Publish your blog post and share it with others.
Build a simple card game using pointers and arrays
Apply your knowledge of pointers and arrays to a practical project.
Browse courses on Pointers
Show steps
  • Design the game and define the data structures you will need.
  • Implement the game logic using pointers and arrays.
  • Test your game and debug any errors.
  • Add features and polish to your game.
  • Share your game with others and get feedback.

Career center

Learners who complete Pointers, Arrays, and Recursion will develop knowledge and skills that may be useful to these careers:
Software Developer
A Software Developer will need to be able to program and code in C. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are critical to understanding the language.
Computer Programmer
Computer Programmers will need to have a solid understanding of C programming, including pointers and arrays. This course will provide you with the skills you need to succeed in this role.
Systems Analyst
Systems Analysts will need to be able to design and implement computer systems. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are essential for this role.
Database Administrator
Database Administrators will need to be able to manage and maintain databases. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many database management systems.
Web Developer
Web Developers will need to be able to design and develop websites. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many web development frameworks.
Mobile App Developer
Mobile App Developers will need to be able to design and develop mobile apps. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many mobile app development frameworks.
Game Developer
Game Developers will need to be able to design and develop video games. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many game development engines.
Embedded Systems Engineer
Embedded Systems Engineers will need to be able to design and develop embedded systems. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many embedded systems.
Robotics Engineer
Robotics Engineers will need to be able to design and develop robots. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many robotics applications.
Artificial Intelligence Engineer
Artificial Intelligence Engineers will need to be able to design and develop AI systems. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many AI applications.
Data Scientist
Data Scientists will need to be able to analyze data and develop data-driven solutions. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many data science applications.
Machine Learning Engineer
Machine Learning Engineers will need to be able to design and develop machine learning models. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many machine learning applications.
Actuary
Actuaries will need to be able to analyze data and develop financial models. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many actuarial applications.
Financial Analyst
Financial Analysts will need to be able to analyze data and develop financial models. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many financial analysis applications.
Investment Analyst
Investment Analysts will need to be able to analyze data and develop investment models. This course will teach you how to use pointers and arrays in C, which are two programming constructs that are used in many investment analysis applications.

Reading list

We've selected eight 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 Pointers, Arrays, and Recursion.
Provides a comprehensive overview of fundamental algorithms. It covers topics such as sorting, searching, recursion, and dynamic programming. It good choice for students and programmers who want to learn more about these fundamental algorithms.
Provides a comprehensive overview of data structures and algorithms in C. It covers topics such as arrays, linked lists, stacks, queues, trees, and graphs. It good choice for students and programmers who want to learn more about these fundamental data structures and algorithms.
Provides a comprehensive overview of algorithms. It covers topics such as sorting, searching, recursion, and dynamic programming. It good choice for students and programmers who want to learn more about these fundamental algorithms.
This comprehensive guide offers a clear and concise introduction to the fundamentals of C programming, serving as an excellent complement to the course. It covers essential concepts, including pointers, arrays, and recursion, in a well-structured and approachable manner.
Provides a comprehensive treatment of arrays and pointers in C. It covers topics such as pointer arithmetic, array manipulation, and memory management. It good choice for students and programmers who want to learn more about these advanced C concepts.
Provides a comprehensive overview of recursion in C. It covers topics such as recursive algorithms, stack frames, and tail recursion. It good choice for students and programmers who want to learn more about this powerful programming technique.
This tutorial provides a clear and concise introduction to pointers in C. It covers topics such as pointer arithmetic, arrays, and strings, and includes numerous examples and exercises. It good choice for beginners who want to quickly learn about pointers.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser