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 |
Credential | Certificate |
Pointers, Arrays, and Recursion at Coursera Highlights
- This Course Plus the Full Specialization.
- Shareable Certificates.
- Graded Programming Assignments.
Pointers, Arrays, and Recursion at Coursera Course details
- 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