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

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
Arrays
Arrays are sequences of memory of the same type that are guaranteed to be one after another. This is an incredibly useful data format, enabling you to store many things together under one variable name. In this module, you will learn how to use arrays to solve more complex problems and lay the groundwork for more complex data types.
Uses of Pointers
Now that you have mastered the basics of pointers and arrays, it is time to see some important uses of them. In this module, you will learn about how to manipulate strings and multi-dimensional arrays. You will also learn about function pointers, which allow you to pass "which function to call" as the parameter of another function.
Recursion
By now you are familiar with iteration, in which repetition is expressed in terms of loops. Another programming technique to accomplish similar ideas is "recursion" in which a more complex instance of a problem is expressed in terms of solutions to simpler instances of the problem. In this module, you will learn how to read and write recursive code, giving you another powerful option for how to approach programming problems.
Project
Now that you have learned about pointers and arrays, you will build on the code you wrote in Course 2 to build a deck of cards and evaluate a poker hand. In the next course, you will complete the program to calculate poker odds with a Monte Carlo simulation.

Good to know

Know what's good
, what to watch for
, 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

Save Pointers, Arrays, and Recursion to your list so you can find it easily later:
Save

Reviews summary

Colleges first c programming

Learners say that this is a challenging but rewarding introductory course to C programming, especially for those with a fundamental understanding of programming languages. Students should expect a variety of assignments, including readings, quizzes, and a final programming project. The coursework covers essential concepts like pointers, arrays, and recursion. Students should be comfortable with debugging and working with code that interacts with other code. This course is an excellent option for those seeking to enhance their programming skills and understanding of the C programming language.
Course provides valuable lessons on testing and debugging.
"Excellent course with valuable testing and debugging lessons!"
"Completing the final assignment is very rewarding and satisfying."
"This course definitely worth putting your effort into it."
Course is well-structured with clear explanations.
"Excellent materials on pointers, arrays & recursion."
"Teachers are great, concise and clear, they did a really good job by writing their own C programming learning book."
"Awesome Course. A very well structured course to learn about C deeply."
Course is challenging, especially the final project.
"The project was absolutely brutal, but so rewarding and fulfilling once you finally complete it!"
"This course is certainly very challenging and I am glad I made it."
"The last project is the most difficult one I ever had in a while. I am enjoying it very much."
Some assignments and projects have unclear instructions.
"Only thing keeping this from 5 stars is the testing assignments"
"The README of the project can be more clearer as I spent quite a lot time to figure out what the variables are in the pre-defined functions."
"The last assignment is described in complicated manner."
Course can be frustrating due to technical issues with the online programming environment.
"Really frustrating experience. The course content was challenging and interesting, but I am so tired of trying to access the online programming environment just to see that it's down."
"The tools (programming environment) is buggy, slow, and a pain to use."

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

Here are nine courses similar to Pointers, Arrays, and Recursion.
Embedded Systems using C
Most relevant
C Programming: Pointers and Memory Management
Most relevant
C Programming: Pointers and Memory Management - 4
Most relevant
Working with Pointers and Arrays in C++ 20
Most relevant
Abstraction, Problem Decomposition, and Functions
Most relevant
Simulation, Algorithm Analysis, and Pointers
Most relevant
Reading Legacy C++
Most relevant
C Programming: Modular Programming and Memory Management
Most relevant
The Unreal Arsenal: Learn C++ and Unreal Engine
Most relevant
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