Joanna Klukowska – Teaching Coding Languages in Noncoding Courses

Summary

Screenshot of a Jupyter Notebook lesson in visualizing word frequencies in a text using Python.
CLICK IMAGE TO ENLARGE On the Jupyter platform, Instructors can run live code snippets within a lesson framework to illustrate concepts to students.

Professor Joanna Klukowska introduces the Python programming language in her Quantitative Reasoning: Math and Computing course, where most students have no coding experience, to teach key mathematical concepts.

She is able to do this smoothly thanks to the open source Jupyter Notebook interactive web-based environment, a web application that enables her to combine math, computations, visualizations, and discussion of the results into a single document. Using this application, students who may have no computer science background at all can jump directly into programming activities without having to install  software on their personal machines, which can sometimes take one or more class periods.

The first part of the course teaches students how to use the basic features of the Python programming language: operations with numbers and strings, variables, Boolean logic, control structures, loops and functions. The second part of the course focuses on the phenomena of growth and decay:  geometric progressions, compound interest, exponentials and logarithms, as well as trigonometry, counting problems and probability. Students use Python to explore the mathematical concepts in course lab periods and homework assignments.  

Example Activities

Exponential functions exploration:
The class discusses a lot of different functions that follow the concepts of exponential growth (ex, savings account growth, or population growth) or decay (ex, credit card payments).  They use visualizations in Python to answer questions like: how does the size of each credit card payment affect the number of payments, or how does the interest rate affect overall amount of money that one pays back.

Art drawn with trigonometric functions:
The class also looks into the art produced by the mathematician/artist Hamid Naderi Yeganeh,  Students are able to recreate some of his projects by implementing the trigonometric formulas in their own programs. Here is an example:

Learning Objectives

  • introduce students to tools that can be used in their own work outside of the class setting
  • gain an understanding of how the mathematical concepts relate to situations students face in everyday life and in their areas of study and specialization
  • gain an understanding how the Python tools can be used to simplify calculations and provide visualizations that help in exploration and understanding of different concepts

Student Experience

This class requires students to: 

  • attend two lectures per week
  • attend a recitation with hands-on practice with a newly learned concepts
  • complete a weekly assignment usually started during the recitation and due one week later

Students learn the mathematical concepts by looking at examples from real life situations and from their different areas of study:

  • simplified tax payment calculations
  • student loan payments
  • expected salary growth after graduation
  • inflation
  • population growth 
  • statistical analysis of literary texts
  • children’s books readability levels
  • mathematical patterns in visual arts 

Technology Resources

  • an account with NYU High Performance Computing in order to access the Jupyter notebooks for the class
  • access to a computer with a browser and an Internet connection for course resources

Outcomes

The Jupyter Notebook environment has allowed both Klukowska and her students to focus their attention on the course activities rather than on the mechanics behind them. In Jupyter, Klukowska has a single place for the course content, mathematical calculations and formulas, and Python programming and visualizations. In the past she used separate documents for slides, separate files for programs and yet another medium for visualizations. Having all of them in a single document provides a sense of continuity that students generally prefer.

Students also benefit from the fact that Jupyter Notebooks are cloud hosted, meaning that they do not need to install any programs on their own machines. All they need to access course resources and do computation assignments is access to a computer with Internet connection (either their own machine or NYU lab machine). This has greatly reduced the problems students often have associated with installing the computational environment and transferring files between different computers.

screenshot of google drive

Ben Stewart – Hacking Google Forms for Formative Assessment

Summary

Professor Ben Stewart (Expository Writing Program) uses Google Forms as a formative assessment tool in his Writing the Essay course. Students respond to prompts during class that have them revise and edit their writing (and thinking). The instructor has created a script that allows individual student responses to be shared as individual documents with both the students and teacher, simplifying the feedback loop between both instructor and student as well as between students.

Learning objectives

  • Develop informal, in-class writing into substantial texts
  • Engage in peer review

Student experience

  • Complete writing assignments prior to class, as well as in-class
  • Participate in discussion around writing assignment and readings
  • Complete Google form “worksheet” in-class, which includes additional writing prompts and reflection
  • Review peer worksheets and offer feedback

Project workflow

  • Participate in FAS Innovation in Language Teaching workshop, May 2016
  • Develop custom Google Form/script function that compiles student responses into individual student Google Docs (as opposed to standard compilation of all responses into Google Sheet) and shares them with instructor and students
  • Follow up consultations with FAS educational technologist and central partners to simplify workflow

In the video below, Professor Stewart demoes his custom Google form script with a live audience during our Innovation in Language Teaching Conference.

Technology resources

  • Google Docs
  • Google Forms
  • Google Sheets

Outcomes

  • Enables a much quicker turnaround time between student production and teacher feedback

“[This process] is really clean organizationally: the teacher has everything all in one place and doesn’t need to worry about whether the students’ have or haven’t shared x, and there’s no hunting through emails for attachments or links to documents.” – Ben Stewart