Mathematical Computing, Fall 2021
Course Content

Check back often for homework assignments, tutorials, and key topics covered each day.

"This is the plan, until it is no longer the plan"!
       Words to live by in the time of Corona.

Homework 0:
Before class on Wednesday, August 25:
  • Visit Flipgrid and record a 1-minute introductory video about yourself. Click on "Join with Microsoft" and use your Queens College Office 365 account email account to log in. Reminder: that will look something like Alicia.Lastname25@qmail.cuny.edu.
  • Go to our Campuswire Community. Sign up for an account and sign in using code 3922. In the Class Feed there is a post asking you to say hi and share a fun link. Please contribute.
  • Follow the instructions on the Course Syllabus page to get access to Mathematica online and install Mathematica on your home computer. Remember to use your QC account when you sign up!
  • Create an account with Zoom so you can join our class Zoom session.
  • Get pumped to join us at 1:40pm on Wednesday, August 25!
Introduction to Mathematica (4 tutorials)
Wednesday, August 25
Today's class is online! (As with ALL first class sessions at Queens College.)
The class Zoom link is available on Campuswire. See below for access.
In class:
  • Today we are setting the stage for a thought-provoking semester.
  • Introduction & Syllabus Discussion
  • Breakout room discussion and exploration.
  • First steps in Mathematica.
  • Together work through Tutorial 1: Welcome to Mathematica. Right click, then choose Save As...
    • These are interactive notebooks! You should be trying things out and exploring.
  • Once you complete Tutorial 1, Explore the following locations:
    • Explore the Documentation Center. It's in the Help Menu. There is also an online version with the same information that is less interactive.
    • Explore the Wolfram Demonstrations Project to see what type of interactive things people have created in Mathematica.
  • If you ran into problems accessing the technology, let Prof. Hanusa know and he'll help get you up and running.
Monday, August 30
IMPORTANT UPDATE: Class on Monday 8/30 and Wednesday 9/1 will both be online in the same Zoom Room as last week. Today's class is in person! To get to our classroom Rosenthal Library 227, enter the library, go down one flight of stairs, turn left and the classroom is right there on the left.
Make sure to give yourself extra time to get on campus, into the library, and to find our classroom so we can be ready to start at 1:40pm.
Before class:
  • If you didn't yet record a video on Flipgrid, please do so!
  • Make sure you have Mathematica up and running on your home computer. If are running into problems let Prof. Hanusa know!
  • Answer this First Day Survey so I can better tailor the class and understand about your learning situation.
  • Complete Tutorial 1 that you started in class.
  • Thoroughly read all pages of the course webpage. This should answer all the questions that you may have about the class.
  • Watch and work through these two video tutorials. Remember to follow along with Mathematica open alongside and try out the presented commands yourself.
    • Watch at least the first 17 minutes of the Hands-on Start to Mathematica. You'll learn how to add sections, text, and mathematical input into your notebooks directly and through "free-form input".
    • Here is Tutorial 2: Introduction to Lists.
      Follow along as I work through Tutorial 2 on YouTube: Watch Part 1. Watch Part 2. (Do try to get through at least Part 1 to prepare for class Monday.)
  • Remember: If you have questions, be sure to ask a question in our Campuswire community.
  • Last: Go to our Campuswire community. Answer the Office Hours Poll and contribute to the Daily Question for August 30.
In class:
  • Get to know each other in person!
  • Work in groups to puzzle through questions related to Tutorial 2 presented in class.
Wednesday, September 1
Before class:
  • Your first project will be creating a tutorial for people who want to learn more about Mathematica's capabilities. Keep an eye out for (and make a note about) something that you want to investigate further.
  • At the very least, complete Tutorial 2. If you have more energy, work through Tutorial 3 too:
  • Here is Tutorial 3: Introduction to Lists.
    Follow along as I work through Tutorial 3 on YouTube: Watch Part 1. Watch Part 2.
  • If you have questions or comments, be sure to ask a question in our Campuswire community.
  • Start exploring the Documentation Center. Follow the links at the bottom of the pages to other commands, and keep going. (Kinda like when you get lost in Wikipedia!) Keep track of commands that seem particularly interesting to share below.
  • Check out the Wolfram Demonstrations Project. (Or another of the "Inspiring Links" on our homepage.) Explore what people have been able to do with Mathematica, and keep track of a project that seems particularly interesting to share below.
  • Go to our Campuswire community and contribute to the Daily Question for September 1 to share what you found above.
In class:
  • We'll address questions that people have brought up on Campuswire.
  • We'll break into groups to work on the Challenge Questions for Tutorial 3.
  • Plan to meet with another classmate to work together before Monday 9/13.
No class on Monday, September 6 or Wednesday, September 8
If you are eligible and you haven't yet done so: Register to Vote!
Monday, September 13
Class on Monday 9/13 will be online in the same Zoom Room as before.
Before class:
  • Meet for one hour outside of classtime with at least one other classmate. Your goal is to get together to talk about Mathematica, working together to complete tutorials or questions. You may even want to discuss what you want to work on for Project 1. Feel free to use the DM or class chatroom feature on Campuswire to find a partner (or partners) to work with.
    Type up one paragraph (5–7 sentences) about something that you learned or experienced that you would not have if you had worked alone. Submit your paragraph and the name of the person you met with and it will count toward your class participation grade.
  • Today's focus is cataloging useful Mathematica Techniques and Shortcuts
  • Take some time to catch up on the Tutorials 2 and 3 and their Comprehension and Challenge Questions.
  • Explore the Table command in the Documentation center. Go to our Campuswire community and contribute to the Daily Question for September 13 to share what you found.
  • Spend some time thinking about the topic you would like to work on for Project 1. Think about the following:
    Which class or general concept will you focus on? Who will be the audience for your Mathematica notebook? Was there a specific topic in that class was difficult to understand and would benefit from a Mathematica tutorial? - OR - Is there a specific topic that you'd like to learn more about in Mathematica?
  • Use this form to submit your initial project thoughts before you go to bed on Sunday, September 12.
In class:
  • General discussion about the Table command.
  • More of your questions from Tutorials 2 and 3.
  • Getting to know Project 1 groupmates.
  • Prof. Hanusa will meet with the groups to discuss their project topics.
Keys to Functional Programming (2 tutorials)
Monday, September 20
Class on Monday 9/20 will be online in the same Zoom Room as before.
Before class:
  • Your homework involves learning some new techniques and working on your project. Tutorials 5 and 6 form the basis for everything we are going to do this semester, so make sure to pay attention, ask questions, and investigate further!
  • Here is Tutorial 5: Functions and the Map command.
    Follow along as I work through Tutorial 5 on YouTube: Watch Part 1. Watch Part 2. Watch Part 3.
  • Additional resources:
    • Highly recommended: Watch this video on Elementary Programming in Mathematica from time 0:00 to time 2:47 and then from time 6:47 to time 8:37 for an additional perspective about defining functions, using Map, and Nest. (Advanced students should watch the whole video.)
    • Recommended: Watch this video on Ways to apply functions starting at time 1:52. It gives a number of examples that compare the difference between using @ and /@.
    • Optional: A bit more advanced resource is this video from Wolfram U on Defining your own functions.
  • Sometime this week you are expected to contribute a question or answer about Tutorial 5, Tutorial 6, or the associated videos in the Class Feed of our Campuswire community.
  • Research some concepts that you will need for your project. Start a Mathematica notebook where you play around with some of these concepts and developed an outline of your tutorial. Bring this notebook to class.
  • If you have questions or comments about the project and its requirements, submit them here.
  • Remember to sign up for office hours if you want to talk about homework or your project.
In class:
  • We'll discuss questions you have about the project.
  • Groupwork on Tutorial 5 Comprehension questions.
  • Prof. Hanusa will visit each group and talk with everyone about their projects.
Wednesday, September 22
Class on Wednesday 9/22 will be online in the same Zoom Room as before.
Before class:
  • Here is Tutorial 6: Anonymous Functions.
    Follow along as I work through Tutorial 6 on YouTube: Watch the video.
  • Watch this video that has more examples of applying anonymous functions.
  • Especially if you didn't post a question (or answer) earlier this week, contribute a question (or answer) about Tutorial 5 or Tutorial 6 in our Campuswire community.
  • We are now defining our own functions and applying techniques of Functional Programming. There is a list of Mathematica commands related to this on the Documentation Center page "guide/FunctionalProgramming". This can be another good place to find questions that you'd like to learn more about and that you can post about on Campuswire.
  • Make good progress on your tutorial project. Aim to know all the commands you will be teaching and spend the time to be about half-way done with the tutorial.
In class:
  • Discussion about items people have brought up on Campuswire.
  • Groupwork on Tutorial 6 Comprehension questions.
  • Prof. Hanusa will visit each group and talk with everyone about their projects.
Monday, September 27
Class Monday 9/27 is asynchronous. See below.
Before class:
  • No later than Sunday night: Complete your Mathematica Tutorial notebook, your presentation video, and your one-to-two page writeup. They should be in a final form. Send these files to your peer review partner. If you want to use Flipgrid to record and post your presentation video, you can do that here.
  • No later than Monday night: Complete this peer review worksheet and determine a good time to meet by video to give feedback to your partner about their presentation.
In class:
  • Today's class time is asynchronous. (There is no formal class time.) Prof. Hanusa will connect to the Zoom Room during class time in case you have questions you want to ask about the project or anything else.
Wednesday, September 29
Class on Wednesday 9/29 will be online in the same Zoom Room as before.
Before class:
  • Incorporate the feedback from your partner into a revised tutorial, presentation, and writeup. Make sure you address how your project changed during the revision process.
  • Submit your project before class by doing the following: You will be asked to watch at least five of the presentations before Monday's class.
  • In class, Professor Hanusa will discuss topics from Tutorials 2–6. Please prepare questions about this content that you would like him to go over. No matter how small the questions, please ask. The goal is to become fluent in creating and modifying lists as well as creating and using named and unnamed functions. It would be great if you could post the questions before class in the Campuswire community, although it's okay to keep them for class.
In class:
  • Professor Hanusa will go over the questions you have about Tutorials 2–6.
Graphics and 3D Printing (6 tutorials)
Monday, October 4
Class on Monday 10/4 is IN PERSON! See details posted on Campuswire.
Make sure to give yourself extra time to get on campus, into the library, and to find our classroom so we can be ready to start at 1:40pm.
Before class:
In class:
  • We're IN PERSON!
  • Discussion about Tutorials 7 and 8.
  • Groupwork on Tutorial 8 Comprehension and Challenge questions.
Wednesday, October 6
Before class:
In class:
  • Discussion about items people have brought up on Campuswire.
  • Groupwork on Tutorial 9 Comprehension and Challenge questions.
No class on Monday, October 11
Wednesday, October 13
Before class:
  • Read through the information about Project 2.
  • Read through the following mathematical blogs to start to get an idea about interesting mathematical concepts and the types of mathematical art that has been created. Here are some suggested starting links; include more of whatever you find in the discussion board for your classmates.
    • http://www.shapeways.com/shops/bathsheba
    • http://www.shapeways.com/shops/henryseg
    • http://www.shapeways.com/art/mathematical-art
    • http://gallery.bridgesmathart.org/exhibitions/2014-Bridges-Conference
    • http://www.bugman123.com/Math/
    • http://www.thingiverse.com/mathgrrl/about
    • http://mathgrrl.com/hacktastic/
    • http://recodeproject.com/
    • http://blog.matthen.com/
    • http://blog.wolfram.com/
    • http://mathmunch.org/
    • http://aperiodical.com/
  • Important: Go to Campuswire and contribute to the Daily Question: October 13 by providing a link to two or three pieces of mathematical animations, visualizations, or art that is particularly striking or inspiring to you, along with why you selected each piece.
  • Here is Tutorial 10: Basic 3D Graphics.
    Follow along as I work through Tutorial 10 on YouTube: Watch Here.
  • Here is Tutorial 11: Using Functions to create Curves, Surfaces, and Shapes in 3D.
    Follow along as I work through Tutorial 11 on YouTube: Watch Here.
  • Here are some Comprehension Questions for Tutorial 10 and Comprehension Questions for Tutorial 11.
In class:
  • Discussion of your questions about Tutorials 10 and 11.
  • Discussion of 3D printing and the aesthetics of sculpture.
  • Discussion of elements of art and principles of design.
  • Discussion of the mathematical art you shared on Campuswire.
Monday, October 18
Before class:
In class:
  • Your Questions about Tutorials 10, 11, and 12.
  • Groupwork on Comprehension and Challenge Questions.
  • You will work with groupmates and Prof. Hanusa will come to each group and discuss where you plan to go with your project.
Wednesday, October 20
Before class:
  • Watch How Products are Made with 3D printing. (4 minutes)
  • Check out some Minimal Working Examples.
  • Read through a couple of my blog posts about 3D Design in Mathematica.
  • Here are some additional 3D Design Technique Examples.
  • If you didn't ask or answer a question last week on Campuswire about the tutorials or 3D design / 3D printing, do so by today.
  • Start a Mathematica notebook that plays around with some of these ideas. Bring your sketches and notebook to class.
  • As you work on your project, keep a notebook of your conscious decisions you are making in its construction. Also keep track of the mathematical concepts or the pieces of mathematical art that inspired your art. You will need these things when you write the discussion that will accompany your piece of art.
In class:
  • Daily Question Discussion
  • You will work with groupmates and Prof. Hanusa will come to each group and discuss where you plan to go with your project.
Monday, October 25
Before class:
  • Some advanced techniques are shown in this video: Scan, Convert, and Print, a Wolfram Screencast. You may find it interesting to watch, play, and explore!
  • If you didn't ask or answer a question on Campuswire about the tutorials or 3D design / 3D printing, please do so.
  • Devote a good chunk of time to research your mathematical topic. Your ideas should be taking full form. Start assembling your ideas in Mathematica
In class:
  • 3D Printing Materials
  • You will work with groupmates and Prof. Hanusa will come to each group and discuss where you plan to go with your project.
  • Working with the QC Makerspace.
Wednesday, October 27
Before class:
  • Make progress on your project. Your 3D object should be getting close to complete.
In class:
  • Uploading your file to Shapeways.
  • Repairing your STL file using Microsoft or Autodesk Fusion 360 (Register for a free Education account (click "Get Started" and register using your qmail account) and then see the Steps here.).
  • You will work with groupmates and Prof. Hanusa will come to each group and discuss how your project is going.
Monday, November 1
Before class:
  • Complete your 3D model in Mathematica and bring it to class for in-class polishing.
  • Once your model is complete, upload your unfinished STL file to Shapeways to see the problem spots.
In class:
  • Final refining of project.
  • Start the prototyping phase:
  • If you are using Shapeways:
    • Upload final draft to Shapeways.
    • Order prototype IN WHITE VERSATILE PLASTIC for delivery within 10 days.
    • Upload a screenshot of the Shapeways page that shows that your model has been ordered with a projected shipping date.
  • If you are using the QC Makerspace:
    • Upload final draft to Shapeways.
    • Make sure your model passes all the tests in the 3D Tools.
    • Upload a screenshot of the Shapeways page that shows that your model has passed all the 3D tools tests.
    • Confirm with the QC Makerspace a time when you will be visiting THIS WEEK to use the 3D printer.
Don't forget to vote on Tuesday, November 2
Interactivity (4 tutorials)
Wednesday, November 3
Before class:
  • We will be learning skills that will help with Project 3; once our prototypes come back, we will polish and finalize Project 2.
  • Watch this seven minute introduction to the Manipulate function. (You will have to log in with your Wolfram ID.) There are some Exercises available for you to try on the right side of the screen.
  • Search for "Introduction to Manipulate" in the Documentation Center and try to work through the sections "Manipulate Is as Easy as Table" through "All Types of Output Are Supported". Think of this as Tutorial 14.
In class:
Monday, November 8
Before class:
  • Explore the Manipulate command in the Documentation Center. Search for "Introduction to Manipulate" in the Documentation Center and skim through the remainder of the tutorial. Then search for "Advanced Manipulate Functionality" and interact with that tutorial. Go to our Campuswire community and contribute to the Daily Question for November 8 to share one or two things that caught your eye.
  • A very short Tutorial 15: Module.
  • Search for "Introduction to Dynamic" in the Documentation Center and work from the beginning through "Where Should Dynamic Be Placed in an Expression?". Users with experience coding should complete the entire tutorial. Think of this as Tutorial 16.
In class:
Wednesday, November 10
Before class:
  • Read through the information about Project 3. (Posted soon!)
  • Get your brain juices flowing about ways in which users can interact with Mathematica by exploring the following areas. Share two things that Mathematica can do that pique your interest on our Campuswire community as an answer to the Daily Question for November 10.
  • Use these ideas to start a background process in your brain about what you would be interested in creating for Project 3.
  • Tutorial 17: Control Objects and User Interfaces.
In class:
  • Discussion of the Daily Question.
  • Explore various ways in which a user can interact with Mathematica.
Revising Your 3D Model
Monday, November 15
Once your prototype arrives:
  • Spend some quality time with your prototype. Think about what you want people to think when they see your object. Look at it from multiple points of view. Show it to your friends and family and ask them to tell you their first impressions. Do these impressions (from you and others) match what you want them to be?
  • Be curious about and open to possible changes you might make to your model. Come up with a list of three things you like about your object and a list of three things you think might be improved about your object.
  • Complete a draft of your writeup (which will be missing a discussion of the revision and peer review process) and clean up your Mathematica file.
  • Finalize which type of material you would like the final object to be printed in.
  • Coordinate with at least one other person in the class to meet and critique their work and provide a peer review.
  • Here is that video about How to critique.
  • Complete this peer review form, request a copy of your submission by email, and forward this email to your partner. (When you submit the form, the submission goes to me—I am verifying that everyone is providing and receiving constructive and usable comments. You must forward your confirmation email to your partner.) Determine a good time to meet to give oral feedback about their work.
  • Your goal will be to get some actionable introspective and peer feedback to be able to send your final model to Shapeways within a week's time.
Until your prototype arrives:
  • Spend time thinking about how you want to approach Project 3. What area of Mathematica do you want to explore more deeply and what type of interactivity do you want to create? Come up with a plan and bring it to class. Prof. Hanusa will give you some feedback about the feasibility of your project topic.
Wednesday, November 17
Second class day once your prototype arrives:
  • Think carefully about the peer feedback on your project and the possible changes you identified.
  • Spend time exploring alternative versions of your model. Change the size of the model, or of a part of the model. Change something round into something sharp? Modify a parameter? Consider a variation on a theme? This is part of the process and can only make your model better, even if you end up determining that your original decisions work the best. It will be expected that you write about alternative process decisions you could have made in your writeup and that your Mathematica file has an alternate version in it.
  • Answer the Daily Question: Model Variations on the Campuswire community
  • Finalize your model and verify that it is printable through Shapeways in the material you desire. If you are having trouble, sign up for office hours on Tuesday or I can help troubleshoot in class on Wednesday.
  • Incorporate the revision and peer review process into your writeup as well as the comments from your peer review partner.
  • By the end of the week, turn in your final notebook, writeup, and 3D Printable File.
Until your prototype arrives:
  • Answer this short survey to confirm your topic, your project's interactivity, and the Mathematica commands you anticipate relying on.
  • Start a Mathematica notebook in which you play around with some of these concepts and create some minimal working examples for your interactivity.
  • Answer the Daily Question: Coding Interactivity on the Campuswire community with a complexity that you are having trouble with.
Wednesday, November 18
Before class:
  • Group A should Revise Project 2 based on the feedback from Monday's class. Answer the Daily Question: Peer Review on the Campuswire community with the most helpful comment you received during peer review. If you are having trouble, sign up for office hours on Tuesday or I can help troubleshoot in class on Wednesday. You should also be cleaning up your Mathematica file and finalizing your writeup of Project 2, which should now include a discussion about the critiquing and revision process.
  • By the end of the week, turn in your final notebook, writeup, and 3D Printable File.
  • Group B should be starting to code Project 3. Answer the Daily Question: Coding Interactivity on the Campuswire community with a complexity that you are having trouble with. Prof. Hanusa will come around and give some feedback about the progress you have made. You should also be figuring out who you want to work with on your peer review for Project 2 and making a plan for doing so by Sunday. Monday (and office hours Tuesday) will be for finalizing your model and sending it to Shapeways.
In class:
  • You will either be working on Project 2 or Project 3.
  • In-class work to clean your notebook and writeup for submission.
  • Prof. Hanusa will come around and discuss your various brainstormed topics for Project 3.
Monday, November 22
Before class:
  • People whose models arrived before last week should have submitted their Project 2 (above). Spend time over weekend thinking about how you want to approach Project 3. What area of Mathematica do you want to explore more deeply and what type of interactivity do you want to create?
  • People who haven't done the peer review yet should have found someone for peer reviewing Project 2, completing the peer review before Tuesday. (If this is not possible, make sure you have a plan to complete it as soon as your model arrives!) As a reminder, answer the Daily Question: Model Variations on Campuswire.
In class:
  • You will either be working on Project 2 or Project 3 and Prof. Hanusa will come around and discuss them with you. If you haven't completed Project 2, get it done and get your file submitted to Shapeways.
Wednesday, November 24
Before class:
  • Everyone should be working on Project 3 by now. Answer this short survey to confirm your topic, your project's interactivity, and the Mathematica commands you anticipate relying on.
  • Start a Mathematica notebook in which you play around with some of these concepts and create some minimal working examples for your interactivity.
  • Contribute to the Daily Question: Coding Interactivity on the Campuswire community with a coding complexity that you are having trouble with.
In class:
  • Discussion about coding complexities.
  • In-class work day.