From nick.bathum at gmail.com Sun Jan 6 20:37:36 2019 From: nick.bathum at gmail.com (Nick Bathum) Date: Sun, 6 Jan 2019 15:37:36 -0500 Subject: [Haskell & FP in Education] Welcome and introductions In-Reply-To: References: Message-ID: Greetings everyone, I'm Nick Bathum. These days I work as a software developer and do some volunteering for the VEX robotics community in northern Michigan. I'm an action oriented person, and I am here to connect with educators, and especially those with an interest in mathematics or functional programming enthusiasts. I also have to say that as a person currently far outside of academia, I am looking forward to hearing perspectives from folks who are closer to that world. I'm currently endeavoring to become connected with the teachers in my area who are teaching the new "STEM" or computer science classes that our K-12 schools in the region have recently adopted. My intent is to see what sorts of issues they are struggling with and if there is an opportunity where I can plug in and assist them. So what is the motivation or reason for introducing CS as a new curriculum in K-12 programs? I'd like to share some of my thoughts on that matter, not to provide an answer, but to get some feedback. The K-12 mathematics curriculum in the USA seems to be very structured and established, especially since the adoption of the common core initiative. I know not all states have adopted the core mathematics -or any of the core- standards, but at least where I live this is true. At the same time schools have begun offering extracurricular programs like robotics or hiring new teachers and offering regular classes under the STEM banner such as AP Computer Science. These new course offerings seem to be less structured, sometimes logistically complicated -- like teaching 4 different sets of course content to one "class", and overall the teachers of these courses seem to have less support in terms of community and teaching tools. My aim is to connect with a local teacher, learn from them and help them any way I am able, and additionally pursue a larger goal of exploring how to help reinforce the mathematics curriculum rather than take away from it. In terms of FP in education, my sense is that both functional and declarative languages would seem to be the most aligned with mathematics, conceptually and linguistically. However it seems the exception that computer programming courses begin with that content rather than the most used or popular language du jour. I also see some of Johannes points, and agree that simply exploring mathematics without a computer would perhaps be most effective way for students to learn mathematics. My thought is that if schools are going to introduce new computer programming classes, can we find ways for these classes to become companions to the existing classes and attach to the existing bodies of knowledge? Regards, -Nick On Sat, Dec 15, 2018 at 5:20 PM Chris Smith wrote: > Hello, everyone! Welcome to education at haskell.org. > > This mailing list grew out of discussions at ICFP 2018 about creating a > space for collaboration and discussion of using Haskell and other > functional programming languages in general education. To jump-start that > process, I'd like to invite everyone to introduce themselves and > specifically share your goals, opportunities, vantage point, and > interests. The hope is that we'll be able to sort ourselves into > compatible interests and ideas, to kick off more detailed discussion or > collaborations. > > Some suggested questions to spur discussion: > > - What education-related projects are you involved in, or have you been > involved in previously? > - What other projects do you find exciting, intriguing, or worthy of > emulation? > - On the other hand, what projects or conversations should be happening, > but are not happening yet? > - Is there anything specific that you are definitely looking for from this > space? > - What vision do you have for functional programming in education? That > is, what general principles guide your thinking? > > I will reply with my own answers, and encourage you to do the same. > > Thanks, > Chris > > P.S. I realize this email is long past due. Between my job as a software > engineer, volunteer teaching, and recent development on CodeWorld, I have > again fallen into the trap of over-committing myself and falling behind on > outside commitments. I hope that late is still better than never. > _______________________________________________ > Education mailing list > Education at haskell.org > https://mail.haskell.org/cgi-bin/mailman/listinfo/education > -- Regards, -NB -------------- next part -------------- An HTML attachment was scrubbed... URL: From cdsmith at gmail.com Sun Jan 6 23:46:27 2019 From: cdsmith at gmail.com (Chris Smith) Date: Sun, 6 Jan 2019 18:46:27 -0500 Subject: [Haskell & FP in Education] Welcome and introductions In-Reply-To: References: Message-ID: Hi Nick. Great to have you! There are several people here who have taught extensively, both at the K-12 and university level. Responding to one point. > I also see some of Johannes points, and agree that simply exploring mathematics without a computer would perhaps be most effective way for students to learn mathematics. I wouldn't rush to an absolute answer either way. After all, "learn mathematics" is a very broad goal. There are certain to be parts that are best learned without a computer (come to think of it, this is true of computer science, as well!), but just as computing has changed the way we communicate, work, research, entertain, etc., is it really surprising that it would also change how we learn? I care very much about mathematics education, and I'd point out that educators are facing a giant problem. Expressing ideas in any kind of formal system has historically led to great advances in understanding... but on a time frame far longer than students' attention spans. In the short term, the effort on formalism pays no rewards because it's more likely that results come from errors in the formalization rather than the original topic of curiosity. Or, if one tries to memorize instead of understand, then formalism can be worse than no effort at all (e.g., see classic results on teaching columnar arithmetic in to young students who lack the concept of place value). In the past, this problem has been "solved" through a mix of inequality and authority; mathematics has for much of history been taught to those with enough idle time, a comfortable enough life, and the right temperament and respect for authority to reach the point where there are benefits to the learning, and others have simply been left out. The consensus of the educational community in the last several decades is that this is no longer acceptable. So what do we do? One answer is to try to artificially lure all students along the same path that was previously only suitable for a few. But another approach is to find a new path, where the rewards of expressing ideas formally are more readily accessible. And THAT is where computing comes in. In many ways - data analysis for the social sciences, computational modeling in biology or physics, and lots more - computing makes modeling things formally pay off. By building such a model, you create something that works: gives new insights into the data, lets you see the results of trial simulations in a biology model, and so on. But mathematics is the best fit of all -- both because it's always had the highest abstraction hump to begin with, and because by applying various kinds of declarative programming, expressing relationships in mathematics *is* defining a computationally relevant model. In that sense, it is at the heart of the whole enterprise. I do agree that it's important to be cautious about what we're doing. It's all well and good to say that we're out to support mathematics, computational thinking (whatever that means this week), abstraction, and formal modeling; but too often, what these programs look like in practice is just shoving simplifications of the software engineering skill set into classes for general audiences. If you're spending most of your time teaching the syntax of Python or Java instead of thinking mathematically, then that's what your students are learning, too. Too many activities are built around today's software engineering careers, and not the educational opportunities that computing as a whole opens up. I think listening to teachers is a great idea. At the same time, though, I'll caution you that teachers don't all share the same points of view. Just like in the rest of the population, there are teachers (yes, even math teachers) who range from technically savvy to full-on technophobes. And there are teachers who range from a flexible and broad view of mathematics and its relevance in the world to those who think "math" means the list of specific skills their students are directly tested on, and prefer to use their time coaching students on fruitful guessing strategies (yes... sadly, even math teachers). You might not get the reaction you're hoping for every time, so just keep an open mind as you connect with classrooms... and don't forget to listen to the students, too. Based on what you've said, I'd recommend you check out http://www.bootstrapworld.org. I'd also love to chat with you about my own project and curriculum, CodeWorld (http://code.world), which I started working on around the same time about a decade ago. There are some differences in philosophy, but both are based on taking advantage of the overlap between mathematics and functional programming. On Sun, Jan 6, 2019 at 3:38 PM Nick Bathum wrote: > Greetings everyone, > > I'm Nick Bathum. These days I work as a software developer and do some > volunteering for the VEX robotics community in northern Michigan. I'm an > action oriented person, and I am here to connect with educators, and > especially those with an interest in mathematics or functional programming > enthusiasts. I also have to say that as a person currently far outside of > academia, I am looking forward to hearing perspectives from folks who are > closer to that world. > > I'm currently endeavoring to become connected with the teachers in my area > who are teaching the new "STEM" or computer science classes that our K-12 > schools in the region have recently adopted. My intent is to see what sorts > of issues they are struggling with and if there is an opportunity where I > can plug in and assist them. > > > So what is the motivation or reason for introducing CS as a new curriculum > in K-12 programs? I'd like to share some of my thoughts on that matter, not > to provide an answer, but to get some feedback. > > > The K-12 mathematics curriculum in the USA seems to be very structured and > established, especially since the adoption of the common core initiative. I > know not all states have adopted the core mathematics -or any of the core- > standards, but at least where I live this is true. > > At the same time schools have begun offering extracurricular programs like > robotics or hiring new teachers and offering regular classes under the STEM > banner such as AP Computer Science. These new course offerings seem to be > less structured, sometimes logistically complicated -- like teaching 4 > different sets of course content to one "class", and overall the teachers > of these courses seem to have less support in terms of community and > teaching tools. > > My aim is to connect with a local teacher, learn from them and help them > any way I am able, and additionally pursue a larger goal of exploring how > to help reinforce the mathematics curriculum rather than take away from it. > > In terms of FP in education, my sense is that both functional and > declarative languages would seem to be the most aligned with mathematics, > conceptually and linguistically. However it seems the exception that > computer programming courses begin with that content rather than the most > used or popular language du jour. > > I also see some of Johannes points, and agree that simply exploring > mathematics without a computer would perhaps be most effective way for > students to learn mathematics. My thought is that if schools are going to > introduce new computer programming classes, can we find ways for these > classes to become companions to the existing classes and attach to the > existing bodies of knowledge? > > > Regards, > -Nick > > On Sat, Dec 15, 2018 at 5:20 PM Chris Smith wrote: > >> Hello, everyone! Welcome to education at haskell.org. >> >> This mailing list grew out of discussions at ICFP 2018 about creating a >> space for collaboration and discussion of using Haskell and other >> functional programming languages in general education. To jump-start that >> process, I'd like to invite everyone to introduce themselves and >> specifically share your goals, opportunities, vantage point, and >> interests. The hope is that we'll be able to sort ourselves into >> compatible interests and ideas, to kick off more detailed discussion or >> collaborations. >> >> Some suggested questions to spur discussion: >> >> - What education-related projects are you involved in, or have you been >> involved in previously? >> - What other projects do you find exciting, intriguing, or worthy of >> emulation? >> - On the other hand, what projects or conversations should be happening, >> but are not happening yet? >> - Is there anything specific that you are definitely looking for from >> this space? >> - What vision do you have for functional programming in education? That >> is, what general principles guide your thinking? >> >> I will reply with my own answers, and encourage you to do the same. >> >> Thanks, >> Chris >> >> P.S. I realize this email is long past due. Between my job as a software >> engineer, volunteer teaching, and recent development on CodeWorld, I have >> again fallen into the trap of over-committing myself and falling behind on >> outside commitments. I hope that late is still better than never. >> _______________________________________________ >> Education mailing list >> Education at haskell.org >> https://mail.haskell.org/cgi-bin/mailman/listinfo/education >> > > > -- > > Regards, > -NB > _______________________________________________ > Education mailing list > Education at haskell.org > https://mail.haskell.org/cgi-bin/mailman/listinfo/education > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sperber at deinprogramm.de Fri Jan 11 20:00:16 2019 From: sperber at deinprogramm.de (Michael Sperber) Date: Fri, 11 Jan 2019 21:00:16 +0100 Subject: [Haskell & FP in Education] Welcome and introductions References: Message-ID: By way of introduction: I'm CEO of a small software company in Southern Germany, which also offers training in functional programming and software architecture. I am the founder of the DeinProgramm educational initiative (alas, in German): http://www.deinprogramm.de/ This is closely aligned with PLT's Program by Design / How to Design Program, and comes with its own textbook. The pedagogy of these projects is based on the idea of *design recipes* - explicit instructions for building programs starting with a systematic data analysis. DrRacket also ships with DeinProgramm-specific teaching languages. My experience has been that Program by Design is a hugely successful intro to programming/algebra/FPfor a wide variety of learners. In particular, having programming languages tailored for beginners is crucial. DrRacket has a huge headway here, and most teachers are well-advised to make use of it instead of trying to devise their own pedagogy or go with their own favorite language. Consequently, I don't think Haskell, as-is, is an appropriate language for teaching beginners. However, as the design recipes are very much types-based, they also apply to Haskell, and Haskell is a great second language to go to from Program by Design. (When we do 3-day professional Haskell training, we do 2 days of Program by Design and one day of Haskell - we usually get to monads.) -- Regards, Mike