Jot2 dg1 slideshare

1,177 views

Published on

Class assignment for JOT2 presented for TDT1

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,177
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Jot2 dg1 slideshare

  1. 1. How to teach C# computer programming Teaching strategies and learning theories applied to the creating the C# programmers of the future DAVID G, WGU, STUDENT ID 000338879 JOT2, 9/2013
  2. 2. Learning and code* Programming education and learning theory are tightly linked “Everybody in this country should learn how to program a computer because it teaches you how to think.” (Magnolia Pictures, 2012) Steve Jobs Founder of Apple *The words “code” and “coding” also refer to the practice of programming Image: Tab Times, 2012
  3. 3. Learning and code Programming education and learning theory are tightly linked “Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.” (Gates, 2013) Bill Gates Chairman of Microsoft Image: Microsoft, 2003
  4. 4. Learning and code Programming education drives job growth, too “Our policy at Facebook is literally to hire as many talented engineers as we can find. There just aren't enough people who are trained and have these skills today.” (Zuckerberg, 2013) Mark Zuckerberg Founder of Facebook Image: The Biography Channel, 2013
  5. 5. I teach online via Angel: X444.3 C# Programming I C# programming requires a unique instructional approach Image: Flickr user sbengineer, 2006
  6. 6. What is C#? C# programming requires a unique instructional approach C# is a Microsoft programming language used to create Windows .NET programs Programming requires both hands-on experience and knowledge of computer science theory. Each programming language is characterized by different coding styles, keywords, verbs, and syntax. Because programming is so time-consuming and so many people use the resulting code, efficient and accurate programming can save a lot of money (and sometimes lives). Most people who want to learn C# are seeking professional programming jobs. Many of them are already programmers familiar with other languages, while some are new to the field. Image: Kerr, 2008
  7. 7. Learning theories Understanding how we learn Cognitivism Behaviorism Constructivism Building up knowledge Observable behavior Learn by doing Vygotsky believed that childhood learning was dependent on language development and symbol formation (Vygotsky, 1962). This is quite apropos to learning a programming knowledge, where syntax and structure build on previously learned syntax elements. Programming is very much a mental activity, but the result of programming is observable, both in terms of actual program performance and written code. However, creating good habits in programmers remains an ongoing teaching and management challenge. Huang argues that adult distance learners need to be engaged to keep them interested in learning (Huang, 2002). My experience as a programming instructor and computer scientist is that handson experience with programming is absolutely essential to building an employable skill level. Images: Flickr user Treehugger, 2005, City of Overland Park, 2008, Saint Mary’s County Library, 2010
  8. 8. Cognitivism Building up knowledge C# is a language with a specific syntax and usage rules that must be learned Simple programs are introduced early Students build on prior knowledge, adding more and more specialized functions Code re-use is a critical concept underpinning all modern development There are important computer science theories that form a foundation for good code
  9. 9. Behaviorism Rewarding performance ingrains habits Programmers can develop good habits and bad habits Bad habits can cause severe difficulty with ongoing maintenance and reliability Good habits, like adding coding comments, good structure, and keeping to a schedule are best practices Ingraining these good habits is one of the biggest challenges to programming instruction
  10. 10. Constructivism Learn by doing Of particular importance when teaching computer programming Students must practice programming and have hands-on experience with the code Students learn attention to detail and precision while debugging coding problems Hiring managers also demand experience and hands-on work provides a starting point Being able to show off a finished program also builds confidence
  11. 11. The current lesson plan and the learning theories in use
  12. 12. Existing approach Teaching C# online using Angel The core plan consists of a syllabus, four major learning modules, and a final exam Each learning module builds on previous knowledge Each learning module requires the student to write, test, and deliver a working program Each learning module requires discussion board posts in collaboration with other students Resources including a textbook and a series of video training modules that put the material in context The final exam is designed to test the overall learning of the student and is 30% of the final grade
  13. 13. Existing approach Teaching C# online using Angel The core plan consists of a syllabus, four major learning modules, and a final exam Each learning module builds on previous knowledge Project Post Project Post Project Post Project Post Each learning module requires the student to write, test, and deliverIntro working programand a Language Classes Intermediate Overview Namespaces language features Each learning module requires discussion board posts in Video Final collaboration with other students Syllabus Learning modules training exam Resources including a textbook and a series of video training modules that put C# Class the material in context The final exam is designed to test the overall learning of Gagne 30% of the final of objectives the student and isEvent #2: Inform learnergrade Students are introduced to the lesson plan at the beginning of the course.
  14. 14. Existing approach Teaching C# online using Angel The core plan consists of a syllabus, four major learning modules, and a final exam Each learning module builds on previous knowledge Each learning module requires the student to write, test, Module 4: and deliver a working program Intermediate Module 3: Each learning module requires discussion board posts in language Classes and features collaboration with other 2: Module students space name Language Resources including a textbook and a series of video Module 1: Overview Getting training modules that put the material in context started The final exam is designed to test the overall learning of Scaffolding and cognitivism the student and is 30% of the final grade This approach works quite well for programming students.
  15. 15. Existing approach Teaching C# online using Angel The core plan consists of a syllabus, four major learning modules, and a final exam Each learning module builds on previous knowledge Each learning module requires the student to write, test, and deliver a working program Each Constructivism module requires discussion board posts in learning Keller’s ARCS model Behaviorism collaboration helps other students • Hands-on experience with • Triggers three of four • Some students take this students learn motivators course to to program Resources including aRelevance: studentsand this series of learn take this textbook taking a video • Each student learns to • • Some students diagnose failure points in his to get course because the salaries training modules that •put jobs finishing a project in context are good for the material or her work through programmers Confidence: interaction shows them they can do the • It is learning of The final exam is designed to test the overallimmediately obvious toare work instructors which students • Satisfaction: Working code the student and is 30% of tangible final grade • eager to learn output is easy to the success shows Programming • (Keller & Dodge, 2011) observe and evaluate
  16. 16. Existing approach Teaching C# online using Angel The core plan consists of a syllabus, four major learning modules, and a final exam Each learning module builds on previous knowledge Each learning module requires the student to write, test, and deliver a working program Each learning module requires discussion board posts in collaboration with other students Resources including a textbook and a series of video training modules that put the learning (social activism learning) material in context Computer-mediated collaborative The final exam is designed to test the overall 2011, p. 471) is “The intersection between reflection and interaction” (Warschauer, learning of particularly powerful is 30% of the final grade the student and for online learning. Unfortunately, programmers are often not skilled writers, so we find the writing tasks can be a challenge for students.
  17. 17. Existing approach Teaching C# online using Angel Multiple Intelligences The core planSpatial Visual – consists of a syllabus, four major learning Programming code is structured visually modules,Verbal – Linguistic exam and a final Most of our instruction is via text Each learning module builds on previous knowledge Logical - Mathematical Programming requires logic, but Each learning module requires the studentthere’swrite, test, to more to it Intrapersonal Thinking through problems is essential and deliver a working program Each learning module requiresthe commercial world is almost always aposts in Interpersonal Programming in discussion board team effort collaboration with other students Resources including a textbook and a series of video training modules that put the material in context The final exam is designed to test the overall learning of We try to access multiple intelligences (Gardner, the student and is 30% of the final grade 1983) Different learning styles work for different students.
  18. 18. Existing approach Teaching C# online using Angel The core plan consists of a syllabus, four major learning modules, and a final exam Each learning module builds on previous knowledge Each learning module requires the student to write, test, and deliver a working program Each learning module requires discussion board posts in collaboration with other students Gagne Event #8: Assess performance and Cognitivism Resources including a learned knowledge a series of video A proctored final tests textbook and and understanding. training modules that put the material in context The final exam is designed to test the overall learning of the student and is 30% of the final grade Image: Flickr user mywalletmarket1, 2007
  19. 19. Adapting the plan to new theories
  20. 20. What needs work The learning theories in use and where they could be improved Theories in use How well they work Cognitivism and scaffolding Works well for programming students Behaviorism Constructivism Three of four Keller model (R, C, S) Some of Gagne’s events of instruction Social activism learning Gardner’s multiple intelligences We don’t use pre-tests, which could help although we can easily identify “resume padders” from students invested in learning programming Works well for students interested in subjects, but resume padders avoid doing hands-on work Relevance, confidence, and satisfaction are triggered, but we’re weak on getting attention We could probably improve the class considerably by integrating Gagne better into the program Tech students are notoriously weak on social interactions, but more interactive tools could help We’re doing well here, actively triggering on at least five of Gardner’s intelligences
  21. 21. Adapting the plan Gagne’s nine events of instruction (Gagne, 1985) Items in red indicate areas where we could adapt our lesson plan to reflect Gagne’s theories Gagne’s event #1 Get attention #2 Informing learners of the objective #3 Stimulate recall of prior learning #4 Presenting the stimulus #5 Providing learning guidance Adapting our plan We are particularly weak when it comes to getting the student’s attention once registered. We could begin our course with a compelling story of how C# is being used, and how the careers of C# programmers have an exciting future. We do this now relatively well, via the syllabus and course modules. We’d leave this unchanged. We do no pre-testing or preliminary evaluation, and nothing that will bring in previous programming experience. This could be an area for considerable improvement, especially if we started with a pre-test on programming basics. The active participation of the student in the programming process is the core of our teaching process. However, step #1 might help excite our resume padding students to participate more fully. This is another area where we’re reasonably solid. We use a good text (Sharp, 2013), have reasonable materials, and provide good and responsive questions and answers. #6 Eliciting performance We elicit performance via the programming projects themselves. #7 Providing feedback Trying to run the code provides an immediate feedback to the student, and when they turn in the courses, we provide additional feedback and evaluation. #8 Assessing performance #9 Enhancing retention and recall The final exam, along with the full set of project scores, gives us a good understanding of the student’s success in learning the material. Once the final exam is complete, we don’t do any further work with the student. As a result, we don’t help them continue to put their knowledge to work. We could improve here, especially in terms of helping them understand future opportunities.
  22. 22. Integrating Gagne Elements of Gagne’s theory we could adopt to improve learning Get attention Tell a story Stimulate recall Provide a pre-test Enhance retention Career development
  23. 23. Justifying the lesson plan version
  24. 24. Most beneficial We already use many learning theories in our program COGNITIVISM BEHAVIORISM GAGNE’S STEPS CONSTRUCTIVISM SOCIAL ACTIVISM LEARNING KELLER ARCS MODEL GARDNER’S MULTIPLE INTELLIGENCES Picking one theory over the other isn’t appropriate here. But we certainly can add elements from Gagne that we’re missing
  25. 25. Adult learners Gagne’s theories were originally applied to adult learners His initial research was provided to the U.S. military for training adult military personnel (Gagne, 1962). Gagne’s work, therefore, has a particularly good fit with our program, which is designed for adult continuing education. Image: U.S. Navy, 2011
  26. 26. Effective instruction through the use of design theories
  27. 27. Design theories How design theories can help produce effective instruction The core concept of any theory is that it starts with a premise and then is exhaustively examined and eventually proven. Without theories and the science that comes from them, we’d just be constantly and haphazardly trying “stuff” to see if it works. Instructional design theories can give designers the ability to build on all the previous work of researchers like Keller, Gagne, Wiggins, Vygotsky, and all the others. In effect, these theories give us working templates that have already been examined and tested.
  28. 28. Design theories Gagne’s nine steps as an example of applying design theory Earlier in the presentation, we looked at where Gagne’s nine steps were already at work in our programming class. By applying our existing program against the Gagne theoretical template, we could quickly see areas where we were deficient. In our case, we needed to improve attention, improve stimulation of recall, and help students carry that knowledge into the future. By looking toward Gagne’s theory, we were able to clearly identify areas where teaching could improve.
  29. 29. Strengths and limitations of design theories
  30. 30. Wiggins’ Strengths Some reasons backwards design works well for certain topics Ideal for skills development where students need to leave with certain specific skills and abilities. By planning for the result first, teachers are able to keep track of the goal, and therefore, so are students. Building assessments and learning units based on “enduring understandings” (Wiggins & McTighe, 2005) helps make sure the students are taught what they’ll need to know. Helps students see the big picture and moves them through the learning process toward that big picture. Helps students avoid getting stuck on details without “getting” the overall meaning of the learning.
  31. 31. Wiggins’ Weaknesses Why backwards design doesn’t work for everything The key weakness here is that students don’t have as much of an opportunity for exploration. Students are being herded toward a set of skills and serendipitous learning doesn’t have a chance to develop. Students are also being directed towards sets of conclusions and perspectives, but may not have a chance to derive their own perspectives and values. Does not necessarily take into account the different backgrounds and skill levels of students in a class.
  32. 32. Gagne’s Strengths Some reasons Gagne’s events theory works well For teachers, provides a pre-existing template that is known to work well in many domains. Helps teachers and instructional designers focus lesson plans in a consistent way. For students, helps them get involved, motivated, and excited about the education they’re getting. Helps students prepare and process the knowledge and skills they’ve received in a way that helps reinforce learning. Helps show teachers and students areas that need improvement well before the class is over and the final exam is given.
  33. 33. Gagne’s Weaknesses Why Gagne’s nine events don’t work for everyone Rigid lesson structures sometimes limit teachers and designers from innovating or being creative. Not all coursework and domains fit the nine-event structure perfectly. It can be quite a challenge and designers to force an educational program to fit precisely into the nine events. Doesn’t necessarily suit online training, especially noninteractive videos where regular evaluation and enforcement is not available. Does not necessarily take into account the different backgrounds and skill levels of students in a class.
  34. 34. Benefits of Teaching for Understanding How understanding is more than just information Teaching for understanding aims to provide students with the ability to apply their knowledge. The idea is that understanding is a level above knowledge where that knowledge is put to use. Using knowledge, performing that knowledge (Wiske, 2013 and Perkins & Blythe, 2009) helps students develop a more global picture of the world. Understanding helps prepare students for unknowns, where they can take what they know and derive new knowledge based on their understanding. Interaction among the community of students and teachers also helps facilitate learning.
  35. 35. Disadvantages of Teaching for Understanding How this learning dynamic may not fit everyone Not all teaching requires understanding. Some teaching requires memorizing details (for example, the multiplication tables). Teaching for Understanding expects an interactive dynamic among students, which may be difficult to replicate in some online situations. Teaching for Understanding requires a new set of teaching techniques and measures that not all teachers may be comfortable with. Teaching for Understanding uses multiple intelligence theory, and the complexity (and possibly cost) of preparing a class for multiple intelligences may prove to be too much for some schools.
  36. 36. Most suitable design process
  37. 37. Remember… We already use many learning theories in our program COGNITIVISM BEHAVIORISM GAGNE’S STEPS CONSTRUCTIVISM SOCIAL ACTIVISM LEARNING KELLER ARCS MODEL GARDNER’S MULTIPLE INTELLIGENCES Plus, programming is all about performance and understanding, a hallmark of Teaching for Understanding
  38. 38. Most effective Teaching for understanding is a solid fit for our program Teaching for Understanding incorporates many of of these theories into one system COGNITIVISM BEHAVIORISM GAGNE’S STEPS CONSTRUCTIVISM SOCIAL ACTIVISM LEARNING KELLER ARCS MODEL GARDNER’S MULTIPLE INTELLIGENCES
  39. 39. Thank you. Questions?
  40. 40. References 1 of 2 Content references used in this presentation Gagne, R. (1962, February 1962). Military training and principles of learning. American Psychologist, 17, 263-276. Gagne, R. (1985). The Conditions of Learning (4th ed.). New York: Holt, Rinehart & Winston. Gardner, H. (1983). Frames of Mind: The Theories of Multiple Intelligences. New York: Basic Books. Gates, B. (2013). Leaders and trendsetters agree more students should learn to code. Retrieved from http://code.org Huang, H. M. (2002). Toward constructivism for adult learners in online learning environments. British Jourrnal of Educational Technology, 33(I), 27-37. Retrieved from http://www.umsl.edu/ Keller, J., & Dodge, B. [sduedtec]. (2011, September 26, 2011). ARCS: A Conversation with John Keller [Video file]. Retrieved from http://youtube.com Magnolia Pictures (Producer). (2012). Steve Jobs: The Lost Interview [Motion picture]. United States: Magnolia Pictures. Perkins, D., & Blythe, T. (2009). What is Teaching for Understanding? Retrieved from http://www.uknow.gse.harvard.edu/teaching/TC3-1.html All references use APA 6th Edition format
  41. 41. References 2 of 2 Content references used in this presentation Sharp, J. (2013). Microsoft Visual C# 2012 Step by Step. Sebastopol, California: Microsoft Press. Vygotsky, L. S. (1962). Thought and Language. Cambridge, MA: MIT Press. Warschauer, M. (2011, Winter 1997). Computer-Mediated Collaborative Learning: Theory and Practice. The Modern Language Journal, 81, 470-481. Retrieved from http://ebscohost.com Wiggins, G., & McTighe, J. (2005). Understanding by Design, Expanded (2nd ed.). : Pearson. Wiske, M. S. (2013, June). Teaching for Understanding: the Role of ICT and e-Learning. Paper presented at the International Seminar e-Learning Around the World: Achievements, Challenges and Broken Promises, CaixaForum Barcelona, Barcelona, Spain. Retrieved from http://youtu.be/OnKhshfF730 Zuckerberg, M. (2013). Leaders and trendsetters agree more students should learn to code. Retrieved from http://code.org All references use APA 6th Edition format
  42. 42. Production resources Media assets used in the production of this presentation City of Overland Park (2008). Dogs can read! [Photograph]. Retrieved from http://flickr.com Flickr user Treehugger. (2005). Robin, studying [Photograph]. Retrieved from http://flickr.com Flickr user mywalletmarket1. (2007). Boy taking test [Photograph]. Retrieved from http://flickr.com Flickr user sbengineer. (2006). Computer program code [Photograph]. Retrieved from http://flickr.com Kerr, E. (2008). Programmer at work [Photograph]. Retrieved from http://flickr.com Microsoft. (2003). Bill Gates Showcases New Technology For Smart Living in the Digital Decade [Photograph]. Retrieved from http://microsoft.com PitchStock. (2013). Universal Pitch Deck Four PowerPoint [PowerPoint template]. Retrieved from http://pitchstock.com Saint Mary’s County Library. (2010). LEGO Fun! [Photograph]. Retrieved from http://flickr.com Tab Times. (2012). Steve Jobs [Photograph]. Retrieved from http://tabtimes.com The Biography Channel. (2013). Mark Zuckerberg [Photograph]. Retrieved from http://biography.com U.S. Navy. (2011). Sailors take advancement exam in Yokosuka. [Photograph]. Retrieved from http://flickr.com All references use APA 6th Edition format

×