D3.js Sankey Diagram to visualize flow of students through Fall 2016 course at a macro level:

Overview to Pre-Test = 235Pre-Test to Introduction = 223Introduction to Nested loops = 4Nested loops to Iterative algorithms = 2Iterative algorithms to While loops = 145While loops to For loops = 140Overview to Introduction = 22Introduction to Iterative algorithms = 138Pre-Test to Overview = 5Iterative algorithms to Time-efficiency = 1Introduction to While loops = 5For loops to Making Decisions = 68Making Decisions to Time-efficiency = 10Introduction to Time-efficiency = 16Time-efficiency to Making Decisions = 41For loops to Lists = 57Lists to Nested loops = 96Nested loops to Time-efficiency = 86Making Decisions to Post-Test = 2Post-Test to Iterations + Decisions = 2Making Decisions to Lists = 55Introduction to For loops = 7Making Decisions to Iterative algorithms = 4While loops to Time-efficiency = 2Making Decisions to Iterations + Decisions = 15Time-efficiency to Iterations + Decisions = 33Overview to Lists = 1Lists to Time-efficiency = 8Pre-Test to Recursion = 3Recursion to Data Structures = 2Data Structures to Data Representation = 1Data Representation to Introduction = 1For loops to Nested loops = 4Introduction to Making Decisions = 11Pre-Test to Iterative algorithms = 10Iterative algorithms to Introduction = 2While loops to Lists = 3Introduction to Lists = 3Making Decisions to For loops = 1For loops to While loops = 4Lists to Making Decisions = 6Making Decisions to Nested loops = 5For loops to Post-Test = 1Nested loops to Making Decisions = 3Iterations + Decisions to Time-efficiency = 1Making Decisions to Recursion = 1Recursion to Lists = 1Recursion to Introduction = 2Iterative algorithms to For loops = 3Introduction to Pre-Test = 12Pre-Test to Lists = 1Pre-Test to Making Decisions = 2Pre-Test to Encryption = 1For loops to Time-efficiency = 4Nested loops to Lists = 2Time-efficiency to Overview = 1Overview to Making Decisions = 1Lists to For loops = 1Time-efficiency to Pre-Test = 1Introduction to Iterations + Decisions = 1Iterations + Decisions to Making Decisions = 1Time-efficiency to Nested loops = 1Nested loops to Iterations + Decisions = 2While loops to Making Decisions = 2Making Decisions to Introduction = 1Time-efficiency to Lists = 2Iterative algorithms to Making Decisions = 1While loops to Iterative algorithms = 2Overview to Iterative algorithms = 1For loops to Introduction = 1Iterations + Decisions to Post-Test = 1Post-Test to Recursion = 1Introduction to Post-Test = 1Post-Test to Time-efficiency = 1Iterative algorithms to Lists = 1Lists to While loops = 1Lists to Recursion = 1Overview - Completed By: 260 studentsOverviewPre-Test - Completed By: 248 studentsPre-TestIntroduction - Completed By: 252 studentsIntroductionEncryption - Completed By: 1 studentsEncryptionRecursion - Completed By: 6 studentsRecursionIterative algorithms - Completed By: 157 studentsIterative algorithmsWhile loops - Completed By: 155 studentsWhile loopsFor loops - Completed By: 152 studentsFor loopsData Structures - Completed By: 2 studentsData StructuresMaking Decisions - Completed By: 136 studentsMaking DecisionsLists - Completed By: 126 studentsListsNested loops - Completed By: 110 studentsNested loopsTime-efficiency - Completed By: 129 studentsTime-efficiencyData Representation - Completed By: 1 studentsData RepresentationPost-Test - Completed By: 5 studentsPost-TestIterations + Decisions - Completed By: 53 studentsIterations + Decisions