The power-point presentation for the workshops I conducted , which has everyday examples related to the concepts of coding, to make it easier for the students to understand.
Using Learning Sciences Research to Improve Computing Teaching: Predictions, ...Mark Guzdial
1. Learning computer science is surprisingly hard, but drawing on lessons from learning sciences can help improve learning.
2. Live coding in class is like demonstrations, which only help if students make predictions; subgoal labeling also improves learning and transfer between languages and problems.
3. Programming can be taught efficiently with little coding through activities like Parsons problems, examples, and practice problems.
Approaches to teaching primary computingJEcomputing
The document discusses pedagogical approaches for teaching primary computing. It provides objectives around the primary computing curriculum and computational thinking concepts. It then describes several unplugged activities that can be used to develop computational thinking without computers, such as writing algorithms for making sandwiches or drawing characters. Finally, it discusses strategies for teaching computing, including developing independence, paired programming, debugging, differentiation, and assessment.
This document discusses how reinforcement learning can be applied in the real world through simplifications and reductions.
Reinforcement learning is challenging to apply to real-world problems due to issues like large state spaces requiring massive amounts of data and delayed rewards. However, it can be simplified by focusing on problems with immediate rewards attributable to single actions and state independence. This reduced problem is known as contextual bandits.
Contextual bandits can be solved using machine learning reductions by treating the agent policy as a classifier and filling in missing reward information to allow supervised learning techniques to be applied. This involves reducing contextual bandits to supervised learning plus an exploration strategy, allowing any classification algorithm to be used as an "oracle learner" for the
Reinforcement learning is a machine learning technique where an agent learns to act by interacting with an environment. The agent takes actions and receives rewards, with the goal of maximizing total reward over time. Real-world reinforcement learning is challenging due to large state spaces and delayed rewards. However, it can be made more tractable by framing problems as contextual bandits, where rewards are immediate and state does not depend on past actions. Contextual bandits can then be solved using supervised learning techniques by addressing the partial information problem inherent to reinforcement learning.
Using Learning Sciences Research to Improve Computing Teaching: Predictions, ...Mark Guzdial
1. Learning computer science is surprisingly hard, but drawing on lessons from learning sciences can help improve learning.
2. Live coding in class is like demonstrations, which only help if students make predictions; subgoal labeling also improves learning and transfer between languages and problems.
3. Programming can be taught efficiently with little coding through activities like Parsons problems, examples, and practice problems.
Approaches to teaching primary computingJEcomputing
The document discusses pedagogical approaches for teaching primary computing. It provides objectives around the primary computing curriculum and computational thinking concepts. It then describes several unplugged activities that can be used to develop computational thinking without computers, such as writing algorithms for making sandwiches or drawing characters. Finally, it discusses strategies for teaching computing, including developing independence, paired programming, debugging, differentiation, and assessment.
This document discusses how reinforcement learning can be applied in the real world through simplifications and reductions.
Reinforcement learning is challenging to apply to real-world problems due to issues like large state spaces requiring massive amounts of data and delayed rewards. However, it can be simplified by focusing on problems with immediate rewards attributable to single actions and state independence. This reduced problem is known as contextual bandits.
Contextual bandits can be solved using machine learning reductions by treating the agent policy as a classifier and filling in missing reward information to allow supervised learning techniques to be applied. This involves reducing contextual bandits to supervised learning plus an exploration strategy, allowing any classification algorithm to be used as an "oracle learner" for the
Reinforcement learning is a machine learning technique where an agent learns to act by interacting with an environment. The agent takes actions and receives rewards, with the goal of maximizing total reward over time. Real-world reinforcement learning is challenging due to large state spaces and delayed rewards. However, it can be made more tractable by framing problems as contextual bandits, where rewards are immediate and state does not depend on past actions. Contextual bandits can then be solved using supervised learning techniques by addressing the partial information problem inherent to reinforcement learning.
The document discusses test-driven development (TDD) and refactoring. It explains what TDD is, how to implement it in three steps - writing a failing test, making the test pass, and refactoring code - and provides an example of modeling a calendar to track holidays using TDD. The document also discusses benefits of TDD like catching mistakes early, increasing coding confidence, and making it easier to implement new requirements through refactoring.
The document discusses techniques for teaching programming to novices. It describes some of the challenges of teaching programming, including that students need to develop the right mental models of how computers work and that programming involves multiple levels of abstraction. It then discusses the "teacher's toolkit", which includes techniques like pair programming, use-modify-create, PRIMM, peer instruction, worked examples, and Parson's problems. These techniques aim to reduce cognitive load, engage students collaboratively, and help students understand programs by reading code before writing it themselves. The document emphasizes that teachers play a key role and can draw on strategies from their existing toolkit to help students learn programming.
It is a tremendous challenge to deliver quality emergency services education. The hurdles that have to be overcome by program directors and individual educators to meet objectives and help students achieve competencies can be discouraging at best. That's why we have to stick together. Here is a treasure-trove of top-tips for educators.
TDD and Simple Design Workshop - Session 1 - March 2019Paulo Clavijo
The document discusses test-driven development (TDD) and simple design. It introduces TDD and some of its core practices, including test-driven development, simple design, refactoring, and pair programming. It provides an agenda for a workshop that will cover these topics over three sessions, including extreme programming (XP), the four elements of simple design, test doubles, outside-in TDD, and SOLID principles. The workshop aims to communicate best practices for using technical practices to succeed with agile development.
This guide provides a refresher on basic computer programming concepts without using a specific programming language. It defines key terms like variables, which represent values that can change throughout a program, and statements, which are the smallest standalone elements a computer can understand. It also explains functions and methods as named sets of instructions that can be reused, and parameters as values passed into functions. Finally, it outlines different data types like integers, doubles, strings, and booleans that variables can take on to store different kinds of values.
1) The document discusses using the Logo programming language to teach computer science concepts to primary school students.
2) It introduces the Easy Logo paradigm, which uses a simple interface and limited commands to focus on teaching core concepts like commands, iteration, and procedures.
3) The author shares their experience piloting Easy Logo in Greek schools, noting that most students enjoyed the activities but questions remained about relevance to computer science. They emphasize the need for further research on effective teaching methods and concepts for this age group.
This document provides an introduction to teaching computer science concepts such as algorithms, debugging, and logical reasoning at Key Stage 1. It outlines intended learning outcomes, explains core concepts, and describes National Curriculum requirements. Activities using block-based programming with Scratch Jr and Scratch are included to help students learn computational thinking skills like decomposition, pattern recognition, and algorithmic thinking.
Cloud foundry, Lessons Learned at The Home Depot James Watters
Cloud Foundry has helped The Home Depot build better software and identify opportunities to improve their development processes. Some key lessons learned include getting all stakeholders involved early in new initiatives, applying new processes to existing work, reducing deployment costs so going to production is easy, and establishing processes to allow for frequent small changes rather than infrequent large deployments. Cloud Foundry has also highlighted areas where internal tools and procedures create barriers preventing teams from working quickly and collaboratively.
This document outlines a methodology for transitioning testers to developers by starting them with bug fixing, unit testing with JUnit, problem solving, and then gradually introducing more advanced programming concepts like OOP and core Java. The approach begins by giving testers simple programs with bugs to find and fix. It then teaches unit testing and has them write test code. Problem solving skills are developed by having them solve scenarios on paper and learning to code solutions. The training progresses to more complex problems and programming topics until testers fully transition to thinking and working like programmers. A trainer with both technical and soft skills is needed to change testers' mindsets and ensure a 100% success rate.
The document outlines a mathematics lesson plan on deductive and inductive reasoning for 8th grade students. The lesson plan includes objectives, content, learning resources, procedures, activities and evaluation. Students will learn the differences between deductive and inductive reasoning, perform examples of each, and assess their understanding through group activities and practice questions. The goal is for students to understand and apply both types of reasoning in mathematics and everyday life.
The document provides an overview of the Introduction to Programming EV3 Curriculum. It is designed to teach core computer programming logic and reasoning skills using a robotics engineering context. The curriculum contains 10 projects organized around key robotics and programming concepts like loops, sensors, and switches. It aims to help students learn computational thinking practices that are critical for problem solving across STEM disciplines. The document outlines the learning objectives, standards addressed, topics covered in each unit, and how teachers can implement the curriculum in their classroom.
The document provides an overview of the Introduction to Programming EV3 Curriculum. It is designed to teach core computer programming logic and reasoning skills using a robotics engineering context. The curriculum contains 10 projects organized around key robotics and programming concepts like loops, sensors, and switches. It aims to help students learn computational thinking practices that are critical for problem solving across STEM disciplines. The document outlines the learning objectives, standards addressed, topics covered in each unit, and how teachers can implement the curriculum in their classroom.
Extreme Programming practices for your teamPawel Lipinski
This document discusses Extreme Programming (XP) practices for software development teams. It begins by introducing Paweł Lipiński and his background in software development. It then discusses several key XP practices in more detail, including having short iterations of less than 4 weeks, testing features at the end of each iteration, prioritizing work based on business value, maintaining burn down charts, and having no project managers disrupting the team. Further sections provide more context on practices like test-driven development, pair programming, collective code ownership, continuous integration, refactoring, and having a 40-hour work week. The document emphasizes that XP is about creating fun, high-quality, efficient teams through these agile practices.
Worked examples are step-by-step demonstrations of how to solve a problem or perform a task. Learners prefer worked examples over verbal descriptions alone. Providing worked examples followed by practice problems with feedback is an efficient way for learners to acquire skills. The examples should gradually require more steps to be completed by the learner, transitioning them to solving similar problems independently.
This document summarizes a presentation on the psychology of multitasking. It discusses what multitasking is, the basic types of multitasking, and presents results from scientific research showing that multitasking reduces productivity and performance. While people feel good when multitasking, research finds it causes more mistakes and less retention of information as the brain can only focus on one thing at a time. The document provides tips for multitasking more successfully, such as using a pomodoro technique and mindfulness to focus on one task at a time.
Agile practices are recommended for small teams and projects to help them adapt to changes. Key practices include releasing software frequently to get early feedback, designing for flexibility, thoroughly testing code, writing code with the future in mind, and communicating dynamically through standup meetings, project tracking software, mailing lists, and comments in version control. While these practices are suggested, teams have flexibility in how they apply agile methods suited to their specific needs. The overall goal is to help teams be responsive to changes through an adaptive approach.
This presentation was done for a departmental professional development at my corporate company. It was done to introduce course developers with no education background into the concept of learning and why it was important to "buy in" to the theories. I created some content and pulled bits and pieces from other works. Sorry if I was lousy at
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
The document discusses test-driven development (TDD) and refactoring. It explains what TDD is, how to implement it in three steps - writing a failing test, making the test pass, and refactoring code - and provides an example of modeling a calendar to track holidays using TDD. The document also discusses benefits of TDD like catching mistakes early, increasing coding confidence, and making it easier to implement new requirements through refactoring.
The document discusses techniques for teaching programming to novices. It describes some of the challenges of teaching programming, including that students need to develop the right mental models of how computers work and that programming involves multiple levels of abstraction. It then discusses the "teacher's toolkit", which includes techniques like pair programming, use-modify-create, PRIMM, peer instruction, worked examples, and Parson's problems. These techniques aim to reduce cognitive load, engage students collaboratively, and help students understand programs by reading code before writing it themselves. The document emphasizes that teachers play a key role and can draw on strategies from their existing toolkit to help students learn programming.
It is a tremendous challenge to deliver quality emergency services education. The hurdles that have to be overcome by program directors and individual educators to meet objectives and help students achieve competencies can be discouraging at best. That's why we have to stick together. Here is a treasure-trove of top-tips for educators.
TDD and Simple Design Workshop - Session 1 - March 2019Paulo Clavijo
The document discusses test-driven development (TDD) and simple design. It introduces TDD and some of its core practices, including test-driven development, simple design, refactoring, and pair programming. It provides an agenda for a workshop that will cover these topics over three sessions, including extreme programming (XP), the four elements of simple design, test doubles, outside-in TDD, and SOLID principles. The workshop aims to communicate best practices for using technical practices to succeed with agile development.
This guide provides a refresher on basic computer programming concepts without using a specific programming language. It defines key terms like variables, which represent values that can change throughout a program, and statements, which are the smallest standalone elements a computer can understand. It also explains functions and methods as named sets of instructions that can be reused, and parameters as values passed into functions. Finally, it outlines different data types like integers, doubles, strings, and booleans that variables can take on to store different kinds of values.
1) The document discusses using the Logo programming language to teach computer science concepts to primary school students.
2) It introduces the Easy Logo paradigm, which uses a simple interface and limited commands to focus on teaching core concepts like commands, iteration, and procedures.
3) The author shares their experience piloting Easy Logo in Greek schools, noting that most students enjoyed the activities but questions remained about relevance to computer science. They emphasize the need for further research on effective teaching methods and concepts for this age group.
This document provides an introduction to teaching computer science concepts such as algorithms, debugging, and logical reasoning at Key Stage 1. It outlines intended learning outcomes, explains core concepts, and describes National Curriculum requirements. Activities using block-based programming with Scratch Jr and Scratch are included to help students learn computational thinking skills like decomposition, pattern recognition, and algorithmic thinking.
Cloud foundry, Lessons Learned at The Home Depot James Watters
Cloud Foundry has helped The Home Depot build better software and identify opportunities to improve their development processes. Some key lessons learned include getting all stakeholders involved early in new initiatives, applying new processes to existing work, reducing deployment costs so going to production is easy, and establishing processes to allow for frequent small changes rather than infrequent large deployments. Cloud Foundry has also highlighted areas where internal tools and procedures create barriers preventing teams from working quickly and collaboratively.
This document outlines a methodology for transitioning testers to developers by starting them with bug fixing, unit testing with JUnit, problem solving, and then gradually introducing more advanced programming concepts like OOP and core Java. The approach begins by giving testers simple programs with bugs to find and fix. It then teaches unit testing and has them write test code. Problem solving skills are developed by having them solve scenarios on paper and learning to code solutions. The training progresses to more complex problems and programming topics until testers fully transition to thinking and working like programmers. A trainer with both technical and soft skills is needed to change testers' mindsets and ensure a 100% success rate.
The document outlines a mathematics lesson plan on deductive and inductive reasoning for 8th grade students. The lesson plan includes objectives, content, learning resources, procedures, activities and evaluation. Students will learn the differences between deductive and inductive reasoning, perform examples of each, and assess their understanding through group activities and practice questions. The goal is for students to understand and apply both types of reasoning in mathematics and everyday life.
The document provides an overview of the Introduction to Programming EV3 Curriculum. It is designed to teach core computer programming logic and reasoning skills using a robotics engineering context. The curriculum contains 10 projects organized around key robotics and programming concepts like loops, sensors, and switches. It aims to help students learn computational thinking practices that are critical for problem solving across STEM disciplines. The document outlines the learning objectives, standards addressed, topics covered in each unit, and how teachers can implement the curriculum in their classroom.
The document provides an overview of the Introduction to Programming EV3 Curriculum. It is designed to teach core computer programming logic and reasoning skills using a robotics engineering context. The curriculum contains 10 projects organized around key robotics and programming concepts like loops, sensors, and switches. It aims to help students learn computational thinking practices that are critical for problem solving across STEM disciplines. The document outlines the learning objectives, standards addressed, topics covered in each unit, and how teachers can implement the curriculum in their classroom.
Extreme Programming practices for your teamPawel Lipinski
This document discusses Extreme Programming (XP) practices for software development teams. It begins by introducing Paweł Lipiński and his background in software development. It then discusses several key XP practices in more detail, including having short iterations of less than 4 weeks, testing features at the end of each iteration, prioritizing work based on business value, maintaining burn down charts, and having no project managers disrupting the team. Further sections provide more context on practices like test-driven development, pair programming, collective code ownership, continuous integration, refactoring, and having a 40-hour work week. The document emphasizes that XP is about creating fun, high-quality, efficient teams through these agile practices.
Worked examples are step-by-step demonstrations of how to solve a problem or perform a task. Learners prefer worked examples over verbal descriptions alone. Providing worked examples followed by practice problems with feedback is an efficient way for learners to acquire skills. The examples should gradually require more steps to be completed by the learner, transitioning them to solving similar problems independently.
This document summarizes a presentation on the psychology of multitasking. It discusses what multitasking is, the basic types of multitasking, and presents results from scientific research showing that multitasking reduces productivity and performance. While people feel good when multitasking, research finds it causes more mistakes and less retention of information as the brain can only focus on one thing at a time. The document provides tips for multitasking more successfully, such as using a pomodoro technique and mindfulness to focus on one task at a time.
Agile practices are recommended for small teams and projects to help them adapt to changes. Key practices include releasing software frequently to get early feedback, designing for flexibility, thoroughly testing code, writing code with the future in mind, and communicating dynamically through standup meetings, project tracking software, mailing lists, and comments in version control. While these practices are suggested, teams have flexibility in how they apply agile methods suited to their specific needs. The overall goal is to help teams be responsive to changes through an adaptive approach.
This presentation was done for a departmental professional development at my corporate company. It was done to introduce course developers with no education background into the concept of learning and why it was important to "buy in" to the theories. I created some content and pulled bits and pieces from other works. Sorry if I was lousy at
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
Strategies for Effective Upskilling is a presentation by Chinwendu Peace in a Your Skill Boost Masterclass organisation by the Excellence Foundation for South Sudan on 08th and 09th June 2024 from 1 PM to 3 PM on each day.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
How to Manage Your Lost Opportunities in Odoo 17 CRMCeline George
Odoo 17 CRM allows us to track why we lose sales opportunities with "Lost Reasons." This helps analyze our sales process and identify areas for improvement. Here's how to configure lost reasons in Odoo 17 CRM
हिंदी वर्णमाला पीपीटी, hindi alphabet PPT presentation, hindi varnamala PPT, Hindi Varnamala pdf, हिंदी स्वर, हिंदी व्यंजन, sikhiye hindi varnmala, dr. mulla adam ali, hindi language and literature, hindi alphabet with drawing, hindi alphabet pdf, hindi varnamala for childrens, hindi language, hindi varnamala practice for kids, https://www.drmullaadamali.com
2. Hi, I am Sanaa Sharda. I live in New Delhi and I’m in
class 11th.
My favourite subjects are physics, computer science
and economics.
I recently made a quiz, called ‘SMARTICUS’.
INTRODUCTION
13. 1. ALGORITHM
An algorithm is a sequence of steps :
● to perform a task
● given an initial situation (i.e., the input)
14. 1. ALGORITHM
An algorithm is a sequence of steps :
● to perform a task
● given an initial situation (i.e., the input)
Importance:
● An algorithm is used everywhere, we also use it in our
daily lives.
● They organize thought and action (computational
thinking)
● A computer program is an implemented algorithm
15. EXAMPLES OF ALGORITHM
The basic example of an algorithm is
“A RECIPE”
In a recipe to make tea, we first :
● Boil water,
● Add tea powder , ginger, etc.,
● Add milk and let it boil,
● Turn off the stove and strain the tea into
cups.
So, we see here that while making tea in our
everyday lives,we follow a set of steps which
can be called “an algorithm.”
18. 2. SEQUENCE
A sequence is a series of actions that is
completed in a specific order. Action 1 is
performed, then Action 2, then Action 3,
etc., until all of the actions in the sequence
have been carried out.
20. EXAMPLES OF SEQUENCE
A sequence we do every day is a morning routine.
You might wake up, drink some water, take a
shower, eat breakfast, and so on. Everyone's
routine is different, but they're all made up of a
sequence of various actions.
Another example is wearing clothes.
You first wear your undergarments, wear your pant
and shirt, wear socks and so on.
Every event takes place after the other in a
sequence.
22. 3.LOOP
A loop is a programming structure that repeats
a sequence of instructions until a specific
condition is met. Programmers use loops to
cycle through values, add sums of numbers,
repeat functions, and many other things.
The same task/question is repeated again and
again.
23. EXAMPLES OF LOOP
Doing an 9am-5pm job,is an example of loop in
everyday life. We do the same job everyday and
get paid at the end/starting of the month.
Another example is your morning routine while
going to school. You wake up, get ready, eat your
breakfast, catch the bus, go to school and follow
the school’s timetable. These activities repeat on
each weekday forming a loop.
26. 4. DECOMPOSITION
Decomposition is the process of breaking
down complex problems into smaller, more
manageable parts.
This process of breaking down problems
enables us to analyze the different aspects of
them, ground our thinking, and guide
ourselves to a solution.
27. REAL LIFE EXAMPLE OF DECOMPOSITION
Hosting a party for friends/ wedding
function:
- Who will arrange/take care of food
- Who welcomes guest
- What time it starts
- Who all are you inviting
So you break down a big complex problem
into small manageable parts
29. TECHNICAL EXAMPLE OF DECOMPOSITION
Addition calculation code:
4 + 3 = 7
- Code asks enter first
number
- Code asks enter second
number
- Code does addition
- Code displays result
(Remember input - output?)
30. 5. BRANCHING
Branching is a basic concept in computer
science. It means an instruction that tells a
computer to begin executing a different part of
a program rather than executing statements
one-by-one.
Common branching statements include break ,
continue , return, etc.
32. REAL LIFE EXAMPLE OF BRANCHING
Candy Crush Game
If you win LEVEL 1
go to LEVEL 2
Else
PLAY AGAIN
This is branching -
You have two different
options
34. TECHNICAL EXAMPLE OF BRANCHING
Number 1 = 4
Number 2 = 3
If addition
4 + 3 = 7
If multiplication
4 x 3 = 12
35. 6. DEBUG
Debugging is the process of detecting and
removing of existing and potential errors
(also called as 'bugs') in a code that can
cause it to behave unexpectedly or crash.
It is a multistep process in software
development. It involves identifying the bug,
finding the source of the bug and correcting
the problem to make the program error-free.
36. EXAMPLES OF DEBUG
So far we only saw the basic concepts of coding.
Coding is like a language, just like English, Hindi,
Marathi. Coding is Computer’s language. So while
writing code we can make mistake. Debug is process of
rectifying those mistakes in code.
Just like our language, we make mistakes in grammar,
symbol (mathra) etc when young, how did you become
better now?
So you you keep learning and soon will become an
expert coder! Then you can do anything with computer!
Editor's Notes
Speak more about the quiz
And why coding is important.
According to me coding is important for everyone as it helps you create new projects, helps you to understand different aspects of technology, etc.