How Can I Apply Spaced Repetition To Teaching CS?
Clash Royale CLAN TAG#URR8PPP
up vote
6
down vote
favorite
Lately I've been seeing quite a bit on the importance of spaced repetition in retention of skills. My job is to level up a group of C# developers and I'm trying to figure out how to apply the idea of spaced repetition to what they do.
I've got some ideas--in no particular order:
1.) Periodic reinforcement via syntax flashcards
2.) Weekly/monthly coding contests of some sort (possibly vary this with minimum information puzzles as well since problem solving is such an essential skill in software development).
3.) Using Exercism.io and other such online academies to reinforce as well.
I would love to hear the thoughts of other educators on this subject. I'm specifically looking for these answers: does one or any of those strategies seem better than others in terms of teaching software development? Are there articles on the application of spaced repetition to teaching software development?
I'm sorry--I know this is a fairly broad question so if others can suggest ways for me to narrow the question please do. I just can't think of another way to ask this.
curriculum-design
add a comment |Â
up vote
6
down vote
favorite
Lately I've been seeing quite a bit on the importance of spaced repetition in retention of skills. My job is to level up a group of C# developers and I'm trying to figure out how to apply the idea of spaced repetition to what they do.
I've got some ideas--in no particular order:
1.) Periodic reinforcement via syntax flashcards
2.) Weekly/monthly coding contests of some sort (possibly vary this with minimum information puzzles as well since problem solving is such an essential skill in software development).
3.) Using Exercism.io and other such online academies to reinforce as well.
I would love to hear the thoughts of other educators on this subject. I'm specifically looking for these answers: does one or any of those strategies seem better than others in terms of teaching software development? Are there articles on the application of spaced repetition to teaching software development?
I'm sorry--I know this is a fairly broad question so if others can suggest ways for me to narrow the question please do. I just can't think of another way to ask this.
curriculum-design
1
Most programming concepts don't have short definitions; I don't see where flashcards would be useful. Since -- like it or not -- programming is a lot like math, and math builds upon itself, biweekly exercises which either adds to or refactor the last excercise's code using the techniques you've recently used is an excellent idea.
â RonJohn
Aug 31 at 20:15
@RonJohn agreed on programming concepts--but syntax is usually something that can be drilled. I want my students to be able to recognize the import of certain syntax in the way a math teacher would want his/her students to recognize the significance of the sigma symbol for a summation function.
â Onorio Catenacci
Sep 4 at 14:12
Well, C# (and C++ and Java) is hell spawn, so you're right, drilling syntax is probably useful... #sadface
â RonJohn
Sep 4 at 14:24
add a comment |Â
up vote
6
down vote
favorite
up vote
6
down vote
favorite
Lately I've been seeing quite a bit on the importance of spaced repetition in retention of skills. My job is to level up a group of C# developers and I'm trying to figure out how to apply the idea of spaced repetition to what they do.
I've got some ideas--in no particular order:
1.) Periodic reinforcement via syntax flashcards
2.) Weekly/monthly coding contests of some sort (possibly vary this with minimum information puzzles as well since problem solving is such an essential skill in software development).
3.) Using Exercism.io and other such online academies to reinforce as well.
I would love to hear the thoughts of other educators on this subject. I'm specifically looking for these answers: does one or any of those strategies seem better than others in terms of teaching software development? Are there articles on the application of spaced repetition to teaching software development?
I'm sorry--I know this is a fairly broad question so if others can suggest ways for me to narrow the question please do. I just can't think of another way to ask this.
curriculum-design
Lately I've been seeing quite a bit on the importance of spaced repetition in retention of skills. My job is to level up a group of C# developers and I'm trying to figure out how to apply the idea of spaced repetition to what they do.
I've got some ideas--in no particular order:
1.) Periodic reinforcement via syntax flashcards
2.) Weekly/monthly coding contests of some sort (possibly vary this with minimum information puzzles as well since problem solving is such an essential skill in software development).
3.) Using Exercism.io and other such online academies to reinforce as well.
I would love to hear the thoughts of other educators on this subject. I'm specifically looking for these answers: does one or any of those strategies seem better than others in terms of teaching software development? Are there articles on the application of spaced repetition to teaching software development?
I'm sorry--I know this is a fairly broad question so if others can suggest ways for me to narrow the question please do. I just can't think of another way to ask this.
curriculum-design
curriculum-design
asked Aug 31 at 14:17
Onorio Catenacci
2547
2547
1
Most programming concepts don't have short definitions; I don't see where flashcards would be useful. Since -- like it or not -- programming is a lot like math, and math builds upon itself, biweekly exercises which either adds to or refactor the last excercise's code using the techniques you've recently used is an excellent idea.
â RonJohn
Aug 31 at 20:15
@RonJohn agreed on programming concepts--but syntax is usually something that can be drilled. I want my students to be able to recognize the import of certain syntax in the way a math teacher would want his/her students to recognize the significance of the sigma symbol for a summation function.
â Onorio Catenacci
Sep 4 at 14:12
Well, C# (and C++ and Java) is hell spawn, so you're right, drilling syntax is probably useful... #sadface
â RonJohn
Sep 4 at 14:24
add a comment |Â
1
Most programming concepts don't have short definitions; I don't see where flashcards would be useful. Since -- like it or not -- programming is a lot like math, and math builds upon itself, biweekly exercises which either adds to or refactor the last excercise's code using the techniques you've recently used is an excellent idea.
â RonJohn
Aug 31 at 20:15
@RonJohn agreed on programming concepts--but syntax is usually something that can be drilled. I want my students to be able to recognize the import of certain syntax in the way a math teacher would want his/her students to recognize the significance of the sigma symbol for a summation function.
â Onorio Catenacci
Sep 4 at 14:12
Well, C# (and C++ and Java) is hell spawn, so you're right, drilling syntax is probably useful... #sadface
â RonJohn
Sep 4 at 14:24
1
1
Most programming concepts don't have short definitions; I don't see where flashcards would be useful. Since -- like it or not -- programming is a lot like math, and math builds upon itself, biweekly exercises which either adds to or refactor the last excercise's code using the techniques you've recently used is an excellent idea.
â RonJohn
Aug 31 at 20:15
Most programming concepts don't have short definitions; I don't see where flashcards would be useful. Since -- like it or not -- programming is a lot like math, and math builds upon itself, biweekly exercises which either adds to or refactor the last excercise's code using the techniques you've recently used is an excellent idea.
â RonJohn
Aug 31 at 20:15
@RonJohn agreed on programming concepts--but syntax is usually something that can be drilled. I want my students to be able to recognize the import of certain syntax in the way a math teacher would want his/her students to recognize the significance of the sigma symbol for a summation function.
â Onorio Catenacci
Sep 4 at 14:12
@RonJohn agreed on programming concepts--but syntax is usually something that can be drilled. I want my students to be able to recognize the import of certain syntax in the way a math teacher would want his/her students to recognize the significance of the sigma symbol for a summation function.
â Onorio Catenacci
Sep 4 at 14:12
Well, C# (and C++ and Java) is hell spawn, so you're right, drilling syntax is probably useful... #sadface
â RonJohn
Sep 4 at 14:24
Well, C# (and C++ and Java) is hell spawn, so you're right, drilling syntax is probably useful... #sadface
â RonJohn
Sep 4 at 14:24
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
5
down vote
accepted
This is also called Spiral education. There is a pattern devoted to it in Pedagogical Patterns: Advice for Educators. But it is more than just repetition. The basic idea is that one introduces an idea early in the course, but in a basic way. Possibly nothing more than its name if the idea is applied early. There can be a lot of such ideas in any given course.
Then, the instructor returns to the idea repeatedly, each time with a deeper explanation requiring deeper understanding. Both the lectures and the student work need to reinforce this.
Students are unlikely to learn much the first time they see an idea, especially if it has deep implications for which they don't already have the background. Ideas are interrelated, not stand-alone. So, on each loop around the spiral the whole set of ideas gets a deeper understanding. Some curricula actually recognize this. Advanced Calculus in some mathematics programs covers the same material as basic Calculus, but in a deeper way. But you can apply the same concept at a smaller level with short iterations.
The final work of the students, perhaps a project, can bring all of the ideas together in a fusion.
However, repetition itself, independent of the Spiral deepening idea is also needed, even for simple things. This is a result of the way the brain works. To move something into deep, long term, memory and especially to make it available for use, the brain needs to re-wire itself, making new synapse connections. This requires repetition.
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
accepted
This is also called Spiral education. There is a pattern devoted to it in Pedagogical Patterns: Advice for Educators. But it is more than just repetition. The basic idea is that one introduces an idea early in the course, but in a basic way. Possibly nothing more than its name if the idea is applied early. There can be a lot of such ideas in any given course.
Then, the instructor returns to the idea repeatedly, each time with a deeper explanation requiring deeper understanding. Both the lectures and the student work need to reinforce this.
Students are unlikely to learn much the first time they see an idea, especially if it has deep implications for which they don't already have the background. Ideas are interrelated, not stand-alone. So, on each loop around the spiral the whole set of ideas gets a deeper understanding. Some curricula actually recognize this. Advanced Calculus in some mathematics programs covers the same material as basic Calculus, but in a deeper way. But you can apply the same concept at a smaller level with short iterations.
The final work of the students, perhaps a project, can bring all of the ideas together in a fusion.
However, repetition itself, independent of the Spiral deepening idea is also needed, even for simple things. This is a result of the way the brain works. To move something into deep, long term, memory and especially to make it available for use, the brain needs to re-wire itself, making new synapse connections. This requires repetition.
add a comment |Â
up vote
5
down vote
accepted
This is also called Spiral education. There is a pattern devoted to it in Pedagogical Patterns: Advice for Educators. But it is more than just repetition. The basic idea is that one introduces an idea early in the course, but in a basic way. Possibly nothing more than its name if the idea is applied early. There can be a lot of such ideas in any given course.
Then, the instructor returns to the idea repeatedly, each time with a deeper explanation requiring deeper understanding. Both the lectures and the student work need to reinforce this.
Students are unlikely to learn much the first time they see an idea, especially if it has deep implications for which they don't already have the background. Ideas are interrelated, not stand-alone. So, on each loop around the spiral the whole set of ideas gets a deeper understanding. Some curricula actually recognize this. Advanced Calculus in some mathematics programs covers the same material as basic Calculus, but in a deeper way. But you can apply the same concept at a smaller level with short iterations.
The final work of the students, perhaps a project, can bring all of the ideas together in a fusion.
However, repetition itself, independent of the Spiral deepening idea is also needed, even for simple things. This is a result of the way the brain works. To move something into deep, long term, memory and especially to make it available for use, the brain needs to re-wire itself, making new synapse connections. This requires repetition.
add a comment |Â
up vote
5
down vote
accepted
up vote
5
down vote
accepted
This is also called Spiral education. There is a pattern devoted to it in Pedagogical Patterns: Advice for Educators. But it is more than just repetition. The basic idea is that one introduces an idea early in the course, but in a basic way. Possibly nothing more than its name if the idea is applied early. There can be a lot of such ideas in any given course.
Then, the instructor returns to the idea repeatedly, each time with a deeper explanation requiring deeper understanding. Both the lectures and the student work need to reinforce this.
Students are unlikely to learn much the first time they see an idea, especially if it has deep implications for which they don't already have the background. Ideas are interrelated, not stand-alone. So, on each loop around the spiral the whole set of ideas gets a deeper understanding. Some curricula actually recognize this. Advanced Calculus in some mathematics programs covers the same material as basic Calculus, but in a deeper way. But you can apply the same concept at a smaller level with short iterations.
The final work of the students, perhaps a project, can bring all of the ideas together in a fusion.
However, repetition itself, independent of the Spiral deepening idea is also needed, even for simple things. This is a result of the way the brain works. To move something into deep, long term, memory and especially to make it available for use, the brain needs to re-wire itself, making new synapse connections. This requires repetition.
This is also called Spiral education. There is a pattern devoted to it in Pedagogical Patterns: Advice for Educators. But it is more than just repetition. The basic idea is that one introduces an idea early in the course, but in a basic way. Possibly nothing more than its name if the idea is applied early. There can be a lot of such ideas in any given course.
Then, the instructor returns to the idea repeatedly, each time with a deeper explanation requiring deeper understanding. Both the lectures and the student work need to reinforce this.
Students are unlikely to learn much the first time they see an idea, especially if it has deep implications for which they don't already have the background. Ideas are interrelated, not stand-alone. So, on each loop around the spiral the whole set of ideas gets a deeper understanding. Some curricula actually recognize this. Advanced Calculus in some mathematics programs covers the same material as basic Calculus, but in a deeper way. But you can apply the same concept at a smaller level with short iterations.
The final work of the students, perhaps a project, can bring all of the ideas together in a fusion.
However, repetition itself, independent of the Spiral deepening idea is also needed, even for simple things. This is a result of the way the brain works. To move something into deep, long term, memory and especially to make it available for use, the brain needs to re-wire itself, making new synapse connections. This requires repetition.
answered Aug 31 at 14:41
Buffy
19.7k83779
19.7k83779
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcseducators.stackexchange.com%2fquestions%2f5017%2fhow-can-i-apply-spaced-repetition-to-teaching-cs%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
1
Most programming concepts don't have short definitions; I don't see where flashcards would be useful. Since -- like it or not -- programming is a lot like math, and math builds upon itself, biweekly exercises which either adds to or refactor the last excercise's code using the techniques you've recently used is an excellent idea.
â RonJohn
Aug 31 at 20:15
@RonJohn agreed on programming concepts--but syntax is usually something that can be drilled. I want my students to be able to recognize the import of certain syntax in the way a math teacher would want his/her students to recognize the significance of the sigma symbol for a summation function.
â Onorio Catenacci
Sep 4 at 14:12
Well, C# (and C++ and Java) is hell spawn, so you're right, drilling syntax is probably useful... #sadface
â RonJohn
Sep 4 at 14:24