# John Dever–A Personal Introduction and Overview of Courses

~ by John Dever ~

Greetings Scholé families! I’m excited to be joining Scholé academy as a math instructor for this coming academic year. I’d like to take this opportunity to introduce myself, tell you a little about my teaching philosophy, and then share with you some of the new courses that I’m offering.

I recently completed a PhD in mathematics at Georgia Tech. This past year I was as a Visiting Assistant Professor at Bowling Green State University in Ohio. About four years ago, when I was a student at Georgia Tech, I converted to Orthodox Christianity. I served for three years as a volunteer mathematics teacher at St. Nicholas Orthodox Academy, where I taught elementary, middle school, and high school students. I’ve also had about eight years of experience teaching mathematics at the college level. I’m excited to be able to help with homeschool and Christian based education.

I have had a fairly unusual route in getting to where I am today that in part helps explain some of my interest and motivation in teaching. I did not enjoy mathematics when I was in grade school. It was possibly my least favorite subject. I only became interested in mathematics in college due largely to the influence of a particularly inspiring teacher I had my first year of college. He was able to help me to see mathematics for what it truly is: a creative activity and not just a set of abstruse rules and procedures. I think that my own experience of not doing well in mathematics or being interested in the subject and overcoming that helps me to have a perspective on why many students are not interested in mathematics or think that they are not “good at math” or that they are “not a math person.” I think every student has the capacity to do well in mathematics and that it does not depend on innate ability. A primary issue that I believe often leads to discouragement and lack of interest among students is a misconception of what mathematics is truly about. To remedy this, I want to help students in my classes to see mathematics as a creative activity and have confidence to explore, derive concepts on their own, and see the connections between the subjects that they learn.

In my opinion, too often mathematics is taught solely as a collection of procedures or methods to solve particular problems. Many courses try to cover large and disconnected swaths of topics, which mainly amounts to introducing a narrow type of problem and inviting the student to memorize one procedure to solve that narrow type of problem. I think that this method of teaching, which is very common and certainly was my impression of mathematics during grade school, fails to inspire students, leads to an illusion of a bewildering and unruly complexity of topics, as a result of not helping students to gain a “bird’s eye view” or see connections and dependencies between topics, and fails to encourage independent thinking, self-discovery, or creative problem solving. One goal in my teaching is to simplify the ideas being taught and help students to see how to derive the different methods of problem solving from their understanding of the key ideas. While procedures and problem solving are important, in general I want to teach students not only how to use procedures to solve problems but to be creators and explorers of mathematical ideas themselves. In this way they can create their own procedure to solve a particular problem!

I believe that students who become interested in a subject will seek out learning more about it on their own. However, in order to explore they need to have confidence and a solid foundation. In order to build confidence, I encourage targeted practice and exercise. This leads to another issue which I think leads many students (I know it did with me!) to struggle with mathematics. Unlike many other subjects which just may require careful reading and studying of a text to succeed, mathematics requires diligent practice and working multiple exercises. In my classes I encourage questions, student participation, and working practice problems. While practice is important, I avoid excessive homework or overloading students with overly monotonous or repetitive problems. Instead the problems are carefully chosen or designed to help aid understanding and highlight important concepts from class. Moreover, there is no shame in making mistakes or struggling, since I see it as a necessary and useful part of the learning process. Working problems leads to confidence which serves as a solid foundation for exploration and growth.

In class, I encourage participation and avoid making the class just a lecture. Students will solve problems, question steps and assumptions, explain concepts, and much more! In class I also employ the Socratic method and when moving to a next step in a derivation or explanation will often ask students “Why?” in order to help encourage them to understand the motivations and reasoning behind the next step.

During this school year, I will be teaching Geometry, Algebra II and Trigonometry, Pre-Algebra (a second section, the first being taught by Dr. Riley), An Interactive Introduction to Programming, and Introduction to Mathematical Reasoning and Proof. Since the Interactive Introduction to Programming and Mathematical Reasoning and Proof classes are new and you may not have considered them, I would like to take this opportunity to provide some more details about these classes that I designed and why they may be a good fit for your student.

**An Interactive Introduction to Programming **will teach students in an accessible and interactive way, without any needed programming background, many of the fundamental concepts in programming and computer science. This class is suitable for any student in, roughly, grades 5 and up that has had some mathematical coursework beyond basic arithmetic. Two years ago, I taught a similar class with great success at St. Nicholas Orthodox Academy to four students that were between 5^{th} and 8^{th} grade. The students in that class seemed to really enjoy and benefit from the class and it was very rewarding to see how interested and enthusiastic the students were about the class.

The primary tools in this class that the students will be working with are the programming languages Logo and Scratch. Both Logo and Scratch are designed as educational languages meant to help make many programming concepts accessible to school-age students learning for the first time. Logo is older and requires text input for commands. Scratch uses a similar syntax to Logo but the input is visual, with users dragging and dropping programming blocks to visually “build” programs. Both are completely free to use. The version of Logo I am using is called FMS Logo and is available at http://fmslogo.sourceforge.net/, while Scratch may be accessed directly in the browser at https://scratch.mit.edu/.

One of the main features of Logo is what is known as “turtle graphics.” Turtle graphics means that the user may control a cursor arrow, called a ‘turtle’, with a pen that moves and draws on the screen by programmed commands. The programming is intuitive since it is done from the point of view of the turtle. For example the command (in Logo) ‘*forward 75 right 30 forward 50’ *would cause the turtle to move forward 75 steps, turn (from its point of view) 30 degrees to the right, then move forward 50 steps. See the image below.

As another example, to draw a square of side length 100 the user may write either ‘*forward 100 left 90 forward 100 left 90 forward 100 left 90 forward 100 left 90*’ or, more concisely using the repeat command, ‘*repeat 4 [forward 100 left 90]*’. See below.

Much more intricate geometric figures may be created this way, and students may have a great deal of fun exploring and experimenting. For example the following was created using the command ‘*repeat 150 [forward 300 left 137]*’, that is the ‘turtle’ repeats 150 times the action of moving forward 300 and turning left 137 degrees.’

Students may also incorporate turtle graphics in programs. For example we may create a program that makes a square of any given length as follows: ‘*To square :length repeat 4 [forward :length left 90]*’. The part ‘To square’ means we are defining a program and naming it ‘square’. The part ‘:length’ after ‘To square’ means that it the program square includes one input variable which we’ve named ‘length’, which will be used to specify the input side length of the square. The program then will repeat 4 times the action of moving forward ‘length’ and turning left 90 degrees. For example the input ‘*square 100*’ would call on our program with an input of 100 for the length; so it would draw a square of length 100. Below is the result of both of the inputs ‘*square 50*’ and ‘*square 200*’.

Even many fractals may be programmed to be drawn relatively easily with Logo. The title background image of this blog post, for example, was created with Logo. The programming of certain fractals allows for a fun and visual way to teach students about the important concept of recursion. The figure below shows the first 3 stages of the construction of a fractal called the Koch curve.

Note that the second stage is made of 4 scaled copies of the first stage and the third stage is made of 4 scaled copies of the second stage. This pattern is continued to create higher stages. This self-similarity allows for a program that creates the fractal, using recursion, at an arbitrary scale to be written in just a few lines, since all that needs to be specified is how to draw the first stage and how a given stage depends on the previous one (in this case it contains four scaled (by a factor of 1/3) copies of the previous stage). Below is the image of stage 6 of the Koch curve using such a program.

In addition to helping students to learn programming (while at the same time learning geometry!), Logo allows students to practice with many fundamental programming concepts such as list creation, variables, and “for” and “while” loops that are useful for a wide variety of modern programming languages.

The language Scratch is based in part on Logo and includes most of its features such as turtle graphics. However Scratch is interactive and visual as it uses movable blocks for program creation and does not require typing commands. By using blocks, it makes the creation of more complicated programs accessible as the student does not have to worry about the details of syntax or memorizing commands. For example, the simple ‘square’ program defined in Logo may be defined in Scratch as shown in the image below.

Using Scratch students may also easily and intuitively create simple games and animations. Scratch is widely used as means to teach programming to students as young as 8 and is very accessible. However, one of its criticisms is that the drag and drop nature of program creation does not teach programming syntax and may make it difficult for students to transition to languages such as C, Java, or Python. For this is the reason I am also including the language Logo, which is a more traditional (yet still accessible to beginning students) text input and syntax based language, into the class.

The class will be centered around guided programming projects. Each week, students will have projects that they will be working on, sometimes building on previous projects. For example, the beginning projects may be about using the turtle graphics and drawing geometric shapes, advancing to writing simple programs. Later on, students will be able to program the drawing of fractals and create simple games. Some further projects may include projects ranging from creating a ‘maze solver,’ where the student programs how to escape from a draws maze by sensing and reacting to the boundary lines, to designing a ‘pong’ game, including programming the ‘AI’ of the automated opponent. The pace of the class is gradual, guided in part by the needs and interests of the individual students, and the focus is on exploration, participation, and student creativity.

The **Introduction to Mathematical Reasoning and Proof **class is designed to help students develop an interest in mathematics by seeing how it works and is applied at a deeper and more fundamental level. The first half of the class covers logic, introductory set theory, the language, notation and symbols used in mathematics, and mathematical proof techniques. This portion of the class mirrors an introduction to mathematical proof class that is normally taught in universities to mathematics majors. However, the level is adjusted to be appropriate for a high school student who has taken some Algebra, preferably at the level of Algebra II. No prior knowledge of logic or proof techniques is assumed.

The second half of the class applies the theory, logic, reasoning, and proof techniques learned in the first part of the course to a study of introductory combinatorics, that is the mathematics of counting and enumeration. Later on, we will also cover some probability and statistics. The type of mathematics students will be learning in the second half of the class is also called discrete mathematics, and is extremely important for applications of mathematics to Physics and Computer Science. It is a large and, due in part to the rise of the “information age,” increasingly important branch of mathematics. Moreover, much of it may be easily taught to students who have only experience with algebra, and I believe that such students will benefit from its study at the high school level. The type of problems students will be able to solve are extremely practical and include examples such as finding the number of 10-digit alphanumeric passwords that contain at least two numbers and at most 3 A’s or finding the probability of having three of a kind in poker. This second portion of the class will be taught in a way where the students are deriving and proving the results that are covered. Instead of just memorizing formulas and applying specified methods of problem solving, students will be proving results, learning why they are true, and solving problems based on methods that are developed and justified in the class and by the students.

Thanks for reading. If you have any questions for me or would like to know more about any of my classes, please do not hesitate to contact me by email (jdever@scholeacademy.com), phone (662-816-8194), or Zoom (just send me an email to set up a meeting). I’m looking forward to an exciting year with Scholé Academy!