# A diversity of viewpoints is not “a nice thing to have”…

“A diversity of viewpoints is not ‘a nice thing to have’… it’s an imperative. How can you know you’re making the ‘right thing’ if you don’t have a counterbalance?” — David Nolen @ GOTO 2017

Idée Fixe

# FizzBuzz in JavaScript

Functions are first class objects. Functions establish closures.

Problem: Given a range of positive, non-zero integers, output “Fizz” if the number is evenly divisible by 3, output “Buzz” is the number is evenly divisible by 5, and output “FizzBuzz” if the number is evenly divisible by both 3 and 5; otherwise, output the number.

```divisor = function(number, string) {
return(function(d) {
if (d % number === 0) {return(string)} else {return("")};
});
}

mod3er = divisor(3, "Fizz");
mod5er = divisor(5, "Buzz");

for(i = 1; i <= 100; i = i + 1) {
res = mod3er(i) + mod5er(i);
console.log(res === "" ? i : res);
}
```

# FizzBuzz in R

Functions are first class objects in R. Functions establish closures also known in R as environments. So, you can use functions to create other functions in creative ways.

Here, I’ve written a function called `divisor` that returns a function that checks whether a given input, `d`, is evenly divisible by `number` and if so, returns `string`. Then I use `divisor` to create a test for divisibility by 3 and another for divisibility by 5.

Problem: Given a range of positive, non-zero integers, output “Fizz” if the number is evenly divisible by 3, output “Buzz” if the number is evenly divisible by 5, and output “FizzBuzz” if the number is evenly divisible by both 3 and 5; otherwise, output the number.

Solution:

```divisor <-
function(number, string) {
function(d) {
if (d %% number == 0) string else ""
}
}

mod3er <- divisor(3, "Fizz")
mod5er <- divisor(5, "Buzz")

fizzbuzz <-
function(i) {
res <- paste0(mod3er(i), mod5er(i))
ifelse(res == "", i, res)
}

sapply(1:100, fizzbuzz)
```

# What Students Say

A note to myself

I believe that I can be a better educator through reflection and active engagement. I believe that I can better serve my students and colleagues by being honest with them. I believe that reflection, engagement, and honesty can help other educators improve their praxis, should they feel so inclined.

It has always been about the students

A note to students