Mathematical Computing, Fall 2020
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 26:
  • 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 2738. 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 session.
  • Get pumped to join us at 8:35am on Wednesday, August 26!
Introduction to Mathematica (4 tutorials)
Wednesday, August 26
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.
  • 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 31
Before class:
  • If you didn't yet record a video on Flipgrid, please do so!
  • Make sure you have Mathematica up and running, ideally 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.
  • Answer these Comprehension Questions for Tutorial 2. (Same password: qc)
  • Remember: If you have trouble answering the questions or with anything else in Mathematica, 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 31.
In class:
  • We'll address various questions that people have brought up on Campuswire.
  • We'll break into groups to work on Challenge Questions for Tutorial 2.
Wednesday, September 2
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.
  • Here is Tutorial 3: Introduction to Lists.
    Follow along as I work through Tutorial 3 on YouTube: Watch Part 1. Watch Part 2.
  • Answer the Comprehension Questions for Tutorial 3. If you have questions, 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 2 to share what you found above.
  • Remember: Feel free to schedule a time to meet using Calendly.
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.
No class on Monday, September 7
If you are eligible and you haven't yet done so: Register to Vote!
Wednesday, September 9
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.
    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 Comprehension and Challenge Questions from Tutorials 2 and 3.
  • Explore the Table command in the Documentation center. Go to our Campuswire community and contribute to the Daily Question for September 9 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 Tuesday, September 8.
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 14
Before class:
  • Your homework involves learning some new techniques and working on your project
  • 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.
  • Answer the Comprehension Questions for Tutorial 5.
  • Sometime this week you are expected to contribute a question or answer about Tutorial 5, Tutorial 6, or the associated videos in 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.
  • Make sure to read up on the expectations for Project 1, which includes the grading scheme.
  • 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.
  • Discussion about Tutorial 5 Comprehension Questions and other items people have brought up on Campuswire.
  • Groupwork on Tutorial 5 Challenge questions.
  • Prof. Hanusa will visit each group and talk with everyone about their projects.
Wednesday, September 16
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.
  • Answer the Comprehension Questions for Tutorial 6.
  • 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. 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 Tutorial 6 Comprehension Questions and other items people have brought up on Campuswire.
  • Groupwork on Tutorial 6 Challenge questions.
  • Prof. Hanusa will visit each group and talk with everyone about their projects.
Monday, September 21
Before class:
  • Important change: Your writeup only needs to be one page, not two!
  • No later than Sunday night: Complete your Mathematica Tutorial notebook, your presentation video, and your one-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.
  • After you send your peer feedback to your partner, also upload it here. I am verifying that everyone is providing and receiving constructive and usable comments.
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 23
Before class:
In class:
There is no class on Monday, September 28. Instead there is class on Tuesday, September 29.
Graphics and 3D Printing (6 tutorials)
Tuesday, September 29
Before class:
In class:
  • Discussion about Tutorial 8 Comprehension Questions and other items people have brought up on Campuswire.
  • Groupwork on Tutorial 8 Challenge questions.
Wednesday, September 30
Before class:
In class:
  • Discussion about Tutorial 9 Comprehension Questions and other items people have brought up on Campuswire.
  • Groupwork on challenge questions from Tutorials 8 and 9.
Monday, October 5
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 5 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 the mathematical art you shared.
  • Discussion of 3D printing and the elements of art as they relate to sculpture.
  • Groupwork on challenge questions from Tutorials 10 and 11.
Wednesday, October 7
Before class:
In class:
  • Your Questions about Tutorials 10, 11, and 12.
  • Here are Challenge Questions for Tutorial 10&11 and Tutorial 12.
  • Groupwork on Comprehension and Challenge Questions.
No class on Monday, October 12
Wednesday, October 14
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.
  • Devote a good chunk of time to research your mathematical topic and start sketching on paper some of the concepts you are considering. Determine the types of artistic elements or design principles that you would like your project to convey.
  • 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 19
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 and start sketching on paper some of the concepts you are considering. Your ideas should be taking full form. Start assembling your ideas in Mathematica
  • As mentioned in class, the due date for the prototype has been moved back one week.
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.
Wednesday, October 21
Before class:
  • Make progress on your project.
In class:
  • You will work with groupmates and Prof. Hanusa will come to each group and discuss how your project is going.
Monday, October 26
Before class:
  • Make progress on your project. Your 3D object should be getting close to complete.
  • Practice trying to upload your project to Shapeways.
In class:
  • Uploading your file to Shapeways.
  • Using NetFabb to repair your STL file.
  • You will work with groupmates and Prof. Hanusa will come to each group and discuss how your project is going.
Wednesday, October 28
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:
  • In-class project work time.
Monday, November 2
Before class:
  • Complete your project.
  • Once your model is complete, upload your STL file to Shapeways and order it.
  • Spend time cleaning up and commenting your Mathematica file and starting your project writeup.
In class:
  • Final refining of project.
  • 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 correctly uploaded.
Don't forget to vote on Tuesday, November 3
Interactivity (4 tutorials)
Wednesday, November 4
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 9
Before class:
  • When your prototype comes back from Shapeways, record and upload to Flipgrid an unboxing video to share your thoughts and feelings about your model.
  • 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 9 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.
  • Complete Comprehension questions about Tutorial 16.
In class:
  • Your questions about Manipulate and Dynamic.
Wednesday, November 11
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 11.
  • 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.
  • Unboxing video discussion.
  • Explore various ways in which a user can interact with Mathematica.
Monday, November 16
Question: Has your prototype arrived?
If SO: (GROUP A)
  • Upload your unboxing video to Flipgrid.
  • 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?
  • Finalize which type of material you would like the final object to be printed in.
  • 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.
  • Here is that video about How to critique.
  • Complete a draft of your two-page writeup (which will be missing a discussion of the critiquing/revision process).
  • Coordinate with at least one other person in the class to meet and critique their work and provide a peer review.
  • 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.
  • You are not required to be in class today, however if you want to come to class and be put in a breakout room for the peer review process, please come and let me know.
  • Your goal will be to revise Project 2 so that you can submit the final model for printing by the end of the week.
If NOT: (GROUP B)
  • 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? Come up with a plan and bring it to class. We will be holding class as normal to help you get started with Project 3.
  • You will work on revising Project 2 next week.
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 23
Before class:
  • Group A 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?
  • Group B should have found someone for peer reviewing Project 2, completing the peer review by Sunday. (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: Peer Review 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.
  • After today there are only four more days of class!
There is no class Wednesday, November 25. Queens College is following a Friday schedule instead. Have a great Thanksgiving!
Monday, November 30
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.
Wednesday, December 2
Before class:
  • Continue to make progress on your project. Your goal is to have it in a roughly usable state by Monday, December 7th.
In class:
  • In-class work day.
Monday, December 7
Before class:
  • Continue to make progress on your project. Get it to a serviceable state. We will be doing a preliminary peer review day during our synchronous class session. (We ARE meeting today!)
In class:
  • Stage One Peer Review Day (in groups).
  • In-class work day.
Please fill out the college-wide course evaluations, distinct from any course evaluations that will be given out in class. Thank you for your feedback!
(Wednesday, December 9)
Before class:
  • Your project should be complete, and you should have prepared a draft of your presentation.
  • Note the updated expectations: your writeup should be at least one page long (≥~600 words), and your presentation should be at least four minutes long.
  • Before you share your files for peer review, make sure they will be able to use your file. In particular:
    • Close all open Mathematica windows and quit the Mathematica program.
    • Make a new copy of your Mathematica file.
    • Open this new Mathematica file and click "Evaluate All".
    • Verify that there are no errors and that the instructions in your Mathematica notebook make it clear how the user is supposed to interact with your file.
  • No later than Thursday night: Send your completed Mathematica notebook, your presentation video, and your 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 a draft presentation video, you can do that here.
  • No later than Friday night: Complete this peer review form, request a copy of your submission by email, and forward this email to your partner. Determine a good time to meet to give oral feedback about their work.
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.
  • Prof. Hanusa will be completely unavailable from December 14–18, so if you need help after December 11, you will need to get help from your classmates.
No later than Friday, December 18:
For Project 2:
  • Take a 360° video of your final piece of art when it arrives, along with 1–2 minutes of commentary, and upload it here. Don't forget to include the description of your artwork in the title of your Flipgrid submission. If your artwork is still being 3D printed, upload it when it arrives. (Even if it's January!)
  • Leave some comments on a couple videos to give props about their artwork.
For Project 3:
Please fill out the college-wide course evaluations, distinct from any course evaluations that will be given out in class. Thank you for your feedback!