This is a work-in-progress repository of resources to help students learn difficult concepts during the intermediate years (years two and three) of undergraduate computer science. This work is part of ongoing dissertation research into supporting students as they engage with learning difficult concepts in these years.
The topics discussed in this repository were frequently identified by students as being problematic when learning them. Topics were identified through a survey distributed to students at universities across the United States. The findings of this research are pending publication.
Below are modules for each of the difficult concept areas. Each module contains explanatory material, worked examples, curated links, and videos. All modules are actively being developed.
malloc
and free
in C. Covers single, double, and void pointers.