Coursera
Coursera Logo

Duke University - Pointers, Arrays, and Recursion 

  • Offered byCoursera

Pointers, Arrays, and Recursion
 at 
Coursera 
Overview

Duration

15 hours

Start from

Start Now

Total fee

Free

Mode of learning

Online

Difficulty level

Beginner

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Pointers, Arrays, and Recursion
 at 
Coursera 
Highlights

  • This Course Plus the Full Specialization.
  • Shareable Certificates.
  • Graded Programming Assignments.
Details Icon

Pointers, Arrays, and Recursion
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • 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.

Pointers, Arrays, and Recursion
 at 
Coursera 
Curriculum

Pointers

Introduction to Pointers, Arrays, and Recursion

Naive Swap

Pointers

Corrected Swap

Swap with Hardware

Pointer Basics

Pictures

Swap Revisited

The Practice Programming Environment

Assignment 11_read_ptr1

Pointers under the Hood

A Program's View of Memory

NULL

Pointers to Structs

Pointers to Pointers

const

Aliasing

Pointer Arithmetic

Use Memory Checker Tools

Assignment 12_read_ptr2

Pointers Conceptually

Pointers in Hardware

Pointers to Sophisticated Types

Arrays

Array Access with Pointer Arithmetic

Array Access with Pointer Indexing

Index of Largest Element

Closest Point Step-Through

Dangling Pointers

Cryptography Motivation

Array Declaration and Initialization

Accessing an Array

Passing Arrays as Parameters

Writing Code with Arrays

Assignment 13_read_arr1

Dangling Pointers

Array Size

Assignments 14_array_max, 15_tests_subseq, 16_subseq

Array Basics

Uses of Pointers

Compare Two Strings

Copy a String

Incompatible Representations

Buffer Overflow

String Literals

Mutable Strings

String Equality

String Copying

Converting Strings to ints

Standard Library Functions

Assignments 17_read_arr2 and 18_reverse_str

Introduction

Declaration

Indexing

Initializing

Array of Pointers

Incompatibility

Array of Strings

Assignments 19_bits_arr and 20_rot_matrix

Function Pointer Basics

Sorting Functions

Format String Attacks

Function Pointers

Security Hazards

Recursion

Executing Recursive Factorial by Hand

Writing Factorial Recursively

Translating Recursive Factorial to Code

Writing Fibonacci Recursively

Translate Recursive Fibonacci to Code

Duplication of Computation in Fibonacci

Execution of the Tail Recursive Implementation of Factorial

Execution of Mutually Recursive isOdd and isEven

Advice from a Duke Software Engineering Alum: Solve Real-World Problems

Introduction to Recursion

Reading Recursive Code

Principles of Writing Recursive Code

Is Recursion Slow?

Assignment 21_read_rec1

Tail Recursion

Equivalence of Tail Recursion and Iteration

Mutual Recursion

Assignments 22_tests_power and 23_power_rec

(Optional) Recursion Theory

Reading Recursion

Project

If you did not take Course 2...

Building a Deck

Assignment c3prj1_deck

Evaluating a Hand

Assignment c3prj2_eval

Pointers, Arrays, and Recursion
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 CoursesRight Arrow Icon
    qna

    Pointers, Arrays, and Recursion
     at 
    Coursera 

    Student Forum

    chatAnything you would want to ask experts?
    Write here...