Your goal is to create a Mathematica tutorial to help students with coursework from another class. Is there a topic that you learned in a previous class that you really wish you understood better? What tutorial would you send back in time to "previous you" to help you learn the material better?
It is strongly suggested, but not required, that the other class be a Mathematics class.
The final product of this project will be a Mathematica notebook, a two-page writeup, and a five-minute presentation.
The Mathematica notebook must:
- Present a clear project statement.
Address precisely what topic you are presenting in the tutorial. Make sure it is clear for which class this project was created and assume that your user is in your target audience.
- Show the user how to acheive the desired result using Mathematica in a well-documented way.
You should introduce the specialized commands that the user needs to know, explaining what they do, and how they work. You should write clearly the methods that the students need to follow in order to get the final result. You should work through a representative example to highlight your methods.
(A Manipulate command would be great to include here!)At the end of the worksheet, you should include a few more examples that the user should try on their own. All guidance should be written in complete sentences and paragraphs, and included in text cells. - Be formatted in a clear and organized manner.
The project should be a well-organized Mathematica notebook, where the methods are broken down into sections labeled with appropriate and descriptive headings. Subsections and itemized lists should be used where appropriate.
- Assume knowledge from Tutorials 1–5.
You should expect that your audience has already gained the skills from Tutorials 1–5, so you don't have to give them a tutorial on those ideas. (Feel free to provide a sentence reminder if you feel that would be helpful.)
- Be about
the same length as Tutorial 2 or 3three-quarters of the length of Tutorial 2 or 3.
The two-page writeup must:
- Discuss how you stretched your knowledge.
Explain how you chose your topic and why it is reflective of your current level in mathematics. Explain how the quality of your Mathematica file is reflective of your current knowledge of Mathematica and general programming skills. Feel free to compare with previous experiences.
- Discuss your organization.
Explain why you feel that the way you organized your notebook was the best way to present the material.
- Discuss the revision process.
Explain how your project evolved over time, including how discussions with your classmates influenced the ways in which you changed your project.
- Be formatted in a clear and organized manner, using full sentences and proper English.
- Use 1 inch margins and 1.5x spacing.
The presentation must:
- Introduce the audience and topic of your project.
- Explain the most important Mathematica commands you are teaching.
- Go through one of the examples you included.
- Be organized and rehearsed.
You need to make sure that you have practiced what you are going to say a couple of times.
- Respect the time limit.
Five minutes is a very short amount of time! This means you really need to have practiced multiple times so that you use your time efficiently.
- Project Proposal due Wednesday, September 12:
By Monday, September 12, decide upon the thrust of your project. Which class will you focus on? Who will be the audience for your Mathematica notebook? What topic in that class was difficult to understand and would benefit from a Mathematical tutorial?
You will have time in class to explore how Mathematica relates to your proposal.
- Prepare Project Ideas for Monday, September 17:
For this day, make sure you have explored concepts that you will need for your project. Start a Mathematica notebook where you have developed an outline of your tutorial. Bring it to class on Monday, September 17 and we will brainstorm about your project.
- Final Draft due on Wednesday, September 26:
By this date, you are expected to be have completed most of your project. The class period this date will be showing your project to your classmates and discussing ways to improve it.
- Project Presentation on Monday, October 1:
On this day, you will present your project to the entire class, explaining what your project does, and working through a representative example for the class.
This project represents 25% of your semester grade. You will be graded on how well your project addresses the specifications laid out above, following the rubric below. You are expected to arrive on time and make comments on your classmates' presentations and projects. If you are late or absent, this will negatively affect your own grade.
- Timeliness: (5%)
- Did you make steady progress on your project from start to finish, respecting project deadlines?
- Did you turn in your final project by the deadline?
- Project Statement: (5%)
- Is it obvious who your target audience is?
- Have you situated your project in the user's class?
- Have you explained the goal of the tutorial?
- Content Organization: (15%)
- Does your project proceed in a logical manner?
- Do you provide enough information and guidance for users to be able to use your tutorial efficiently?
- Content Clarity: (10%)
- Does your tutorial convey how Mathematica is useful to students learning the topic you are sharing?
- Are your explanations clear, written in full sentences, and in proper English?
- Topic Quality: (15%)
- Does the mathematics level of your project match your level of mathematical knowledge?
- Does the complexity of your project match your level of computer programming background?
- Does the project show your advancement in programming in Mathematica and in computer programming in general?
- Worksheet formatting: (5%)
- Is the project broken down into sections?
- Do the sections have descriptive names?
- Are subsections and text cells used where appropriate?
- Writeup content: (25%)
- Did you discuss your decisions thoroughly and thoughtfully?
- Did you discuss the revision process thoroughly and thoughtfully?
- Did you justify how your work shows deep mathematical understanding and advancement in programming skills?
- Writeup style: (5%)
- Do you use complete sentences and proper English?
- Presentation Content: (10%)
- Did you introduce the audience and topic of your project?
- Did you explain the key Mathematica commands you are teaching in a clear and engaging way?
- Did you go through one of the examples from your project?
- Did you put time and effort into crafting your presentation?
- Presentation Style: (5%)
- Do you keep the audience's attention?
- Did you respect the time constraints?
- Did you arrive on time for everyone else's presentation?
You will be assigned a grade for each standard and these will be averaged based on the allocated percentages.
Design and 3D print a piece of three-dimensional art using Mathematica.
The final product of this project will be a physical piece of Mathematical art, a Mathematica notebook, and a four-page writeup.
The piece of art must:
- Have a name.
- Have a two-sentence description.
- Originate from some mathematical idea or concept.
Your work should have at its base some mathematical idea that interests you. You may choose to try to faithfully replicate the concept or simply use the concept as a seed in a more abstract piece.
- Use 3D modeling and functional techniques from Mathematica.
A common theme in many pieces of Mathematical art is the use of repetition or symmetry; Mathematica excels at both. Your art should be designed to make use of these capabilites. You also will be taught multiple methods of creating 3D models using Mathematica. You will need to apply these advanced techniques to create your model.
- Takes artistic considerations into account.
You are creating a piece of art and you have complete control over the final product. You get to choose the subject, your interpretation, and the printing material. Your creativity comes into play here; it should allow you to bring out the qualities you want the most in your project. Do you want your object to be smooth? Should it be open so that you can see through it? Should it be dense? Should it be visually heavy or light? What message do you want to convey to observers? Aestheically pleasing? Surprising? Jarring? Proportional? Abstract? These choices will be documented and included in your writeup.
- Reflect your current level in mathematics and computer programming.
You will need to be able to justify why the complexity of your computer code matches your capabilities in computer programming and why the mathematical concepts that form the basis for your sculpture match your mathematical background.
- Has been critiqued, refined, and revised multiple times.
We will work to improve your project at many steps. What works well in Mathematica? What doesn't? What works well when doing 3D printing? What doesn't? By refining your project through constructive criticism and through prototyping, you will be able to get the most out of your project. The Shapeways website may reject models that do not match their requirements.
Give your piece of art a name!
Write a blurb to accompany your piece. Include some background information (your inspiration / what math you used) and one or two ideas that you were hoping to convey by creating the piece. Also include the material it is made out of.
The Mathematica notebook must:
- Show the construction process of your piece of art in a well-documented way.
You should break down your piece of art into its components, explaining carefully your aim and the result of each component. All work should be written in complete sentences and paragraphs, and included in text cells.
- Be formatted in a clear and organized manner.
The project should be a well-organized Mathematica notebook, where the methods are broken down into sections labeled with appropriate and descriptive headings. Subsections and itemized lists should be used where appropriate.
- Only include relevant Mathematica code.
Do not include all your scratch work in your final Mathematica submission.
The four-page writeup must:
- Provide key details about your sculpture.
At the beginning of your file, make sure to give your name, the name you gave to your sculpture, the material the final sculpture is printed in, and the two-sentence description of your piece.
- Discuss the choices you made.
There are many choices and decisions that went into your final sculpture. Explain how you chose your subject, how you approached the designing of your model, and how you chose the material for your sculpture. What impressions did you want to give a viewer when creating the sculpture, and how did you work to make sure your sculpture gives these impressions?
- Discuss the process.
What obstacles did you encounter as you created your art? As you exported to STL format? As you uploaded to Shapeways? What was your first impression when you saw your prototype?If you had more expertise in Mathematica or more time to work on this piece of art, or were going to design a new, related, piece of art, what would you change and why?
- Convey the mathematics behind the model.
What can a viewer learn about math, geometry, or computing from looking at the model? What mathematical principles are at work, and are those principles evident in the finished sculpture?
- Put your sculpture into context.
Explain how your sculpture is reflective of your current level in mathematics. Explain how the quality of your Mathematica file is reflective of your current knowledge of Mathematica and general programming skills.
- Discuss the revision process.
Explain how your project evolved over time, including how discussions with your classmates influenced the ways in which you changed your project. In what ways did you decide to refine and revise your project once you received your prototype?
- Be written while aware of the grading criteria.
Make sure to read the criteria below about how your writeup will be graded.
- Be formatted in a clear and organized manner, using full sentences and proper English.
- Use 1 inch margins and 1.5x spacing.
- Start exploring by Monday, October 15:
Before class, get inspired! Explore some mathematical flavored blog posts, watch some mathematical videos. Take time to browse mathematical and non-mathematical art. Develop a taste for what you like. What type of mathematics can serve as a base for your art? What type of artist do you aspire to be? Comment on Google Classroom with links to two or three inspiring objects.
- Prepare Project Ideas for Monday, October 22:
For this day, your idea should be getting more concrete. You should have researched the mathematical topic and started sketching on paper some of the concepts you are considering. Start a Mathematica notebook that plays around with some of these concepts. Bring your sketches and notebook to class and we'll meet in groups to brainstorm ways to improve your project. On this day, part of class will be a discussion of the limitations of 3D printing and how to use Mathematica to best represent your concept digitally.
- Project Draft on Monday, October 29:
By this date, you are expected to be have completed your mathematica file. Today we will upload our drafts to Shapeways to see the problem spots, especially "Strong and Flexible Plastic" and also in the material you hope will be the final material. This will be the time to ask questions you might have to prepare for prototype submission.
- Prototype Submission on Wednesday, October 31:
On this day, we will finalize our projects and submit them for printing at Shapeways in its most forgiving material: "Versatile Plastic".
- Prototype Critiquing and Peer Review on Wednesday, November 14:
On this day, bring your prototype and almost complete draft of your writeup (missing the discussion of the critiquing/revision process). We will do a peer-review day for constructive criticism. We will all meet and discuss what worked as planned, what didn't work as well as hoped, provide suggestions for polishing and refinement for the final submission.
- Final submission on Monday, November 19:
You must have refined your project and submitted it to Shapeways for printing in your desired material. Also on this day, submit a copy of your writeup, Mathematica notebook, and STL file.
- Art Exhibition on Monday, December 17:
We will have our exhibition opening in the Queens College Library!
This project represents 30% of your semester grade. You will be graded on how well your project addresses the specifications laid out above, following the rubric below.
- Timeliness: (5%)
- Did you make steady progress on your project from start to finish, respecting project deadlines?
- Did you send your prototype to Shapeways by the deadline?
- Did you send your final sculpture model to Shapeways by the deadline?
- Did you turn in your final files by the deadline?
- Name and Description: (5%)
- Did you give your art a name?
- Is the one-to-two sentence description apropos and carefully constructed?
- Intrigue: (10%)
- Are YOU excited about your art?
- Is the material you chose appropriate?
- Does the final piece of art make people want to ask questions and learn more?
- Mathiness: (10%)
- Is the object based on some mathematical idea or concept?
- Alternatively, were mathematical concepts used to create a non-mathematical object?
- Can you explain in your own words the math that was used?
- Does the difficulty level of your project match your level of mathematical knowledge?
- Functional Techniques : (10%)
- Does the Mathematica in your file involved show that you have learned new techniques in Mathematica?
- Did you use specialized Mathematica techniques to refine your project so that it would be exportable to Shapeways?
- Does the complexity of your project match your level of computer programming background?
- Does the project show your advancement in programming in Mathematica and in computer programming in general?
- Mathematica Worksheet: (10%)
- Is the construction process of your piece of art presented in a step-by-step process?
- Is the submitted worksheet well organized, cleaned up, and commented?
- Does it export the same file that you submitted to Shapeways?
- Writeup of artistic qualities: (15%)
- Have you addressed the following questions:
- What inspired your choice of subject?
- What visual and aesthetic choices did you make in designing the piece of art and why?
- What material did you choose and why?
- What should a viewer of your art appreciate about it?
- Writeup of mathematical and programming qualities: (15%)
- Have you addressed the following questions:
- What mathematical principles are at work, and are those principles evident in the finished sculpture?
- How do the mathematical principles you used match your level of mathematical knowledge?
- What initiative did you take to learn the necessary commands and techniques in Mathematica?
- How did you advance your programming skills in this project?
- Which commands and algorithmic techniques did you integrate into the coding of your project?
- Writeup of revision process: (15%)
- Have you addressed the following questions:
- What obstacles did you encounter as you created your art? As you exported to STL format? As you uploaded to Shapeways?
- What was your first impression when you saw your prototype?
- In what ways did you decide to refine and revise your project once you received your prototype?
- If you had more expertise in Mathematica or more time to work on this piece of art, or were going to design a new, related, piece of art, what would you change and why?
- Writeup style: (5%)
- Do you use complete sentences and proper English?
You will be assigned a grade for each standard and these will be averaged based on the allocated percentages.
A+ (100+) Outstanding: Goes above and beyond expectations A (95) Excellent: Meets all requirements at a high level. B (85) Good: Meets all requirements at an competent level. D (65) Poor: Makes an effort to meet requirements but does not succeed. F (0-50) Unacceptable: No work, a weak start, or does not meet minimum acceptable standards.
Thanks to Matt Greco (QC Art) for his consultation about the art aspects of this project and in refining the project specifications.
Create an interactive Mathematica notebook that explores in depth at least one advanced capability of Mathematica. Think of it as creating your own Demonstration from the Wolfram Demonstrations Project.
Perhaps you will create something useful. Perhaps you will find a new way for users to interact with information? Perhaps you will program a one- or two-player game. Maybe you create fun ways to interact with dynamic 3D objects that can be printed on a 3D printer? The possibilites are endless!
The final product of this project will be an interactive Mathematica notebook, a two-page writeup, and a presentation.
The Mathematica notebook must:
- Have a name and description.
- Be interactive and use advanced capabilities of Mathematica
Your program must have some sort of user interactivity. For example, this may be by way of a Manipulate command, user input (keyboard / mouse / game controller), or file importing (such as text / spreadsheet / image). You are expected to use multiple new commands that we have not learned so far this semester.
- Motivate you
You have free range in the topic you choose. Once you have chosen the project focus, I will help you refine the scope so that your project is neither too complex nor too simple. I want you to choose a topic that will keep your interest for the remainder of the semester. It is your choice whether to create something useful or something fun. (Or both!) When you are choosing a topic, bring in your personal interests. Are you interested in higher mathematics? finance? music? art? geography? other sciences? games? something else?
- Be commented and explained so that others can understand your work.
Your Mathematica notebook will be filled with complex code; you must make sure that the code you create is readable by others. Throughout the code insert comments (* like this *) to explain what you are doing to people familiar with programming in Mathematica. Use text cells that explain to unsophisticated end users the premise of your project and how to interact with your notebook. If the interactivity in your project is in the form of a Manipulate command, your project may be uploadable to the Wolfram Demonstrations Project.
- Reflect your current level in computer programming and its subject.
You will need to be able to justify why the complexity of your computer code matches your capabilities in computer programming and why the difficulty of your project matches your expertise in the subject.
- Have been critiqued, refined, and revised multiple times.
We will work to improve your project at many steps. Work to get feedback from your classmates about your project topic. We'll do a peer review so that users get the most out of your project.
- Only include relevant Mathematica code.
Do not include all your scratch work in your final Mathematica submission.
The two-page writeup must:
- Discuss how you stretched your knowledge.
Explain how you chose your topic and why it is reflective of your current level of knowledge in the subject you are exploring. Explain how the quality of your Mathematica file is reflective of your current knowledge of Mathematica and general programming skills. Feel free to compare with previous experiences.
- Discuss your organization.
Explain why you feel that the way you constructed your interactive worksheet (involving the organization of the code as well as the user interface) was the best way to present the material.
- Discuss the revision process.
Explain how your project evolved over time, including how discussions with your classmates influenced the ways in which you changed your project.
- Be formatted in a clear and organized manner, using full sentences and proper English.
- Use 1 inch margins and 1.5x spacing.
The presentation must:
- Introduce your worksheet.
Describe the goal of your interactive worksheet and why you were motivated to work on this topic.
- Demonstrate the interactivity.
Give a live-action product demo. Showcase what your worksheet does by going through some examples that you have prepared. If you choose to involve audience participation, make sure that you can find a way to do so without taking too much time out of your presentation.
- Highlight the most important Mathematica commands you used.
Spend some time explaining which Mathematica commands were the most helpful in acheiving your results.
- Debrief about your worksheet.
Give us some personal stories about your project and the journey to complete it. Some questions you might think about addressing: What was surprising along the way? What was the most difficult challenge? What are you happiest about? What would you like to do if you had more time to work on it?
- Be organized and rehearsed.
You need to make sure that you have practiced what you are going to say a couple of times.
- Use time wisely and respect the time limit.
Your presentation is supposed to take 8–10 minutes. Use your limited time efficiently and plan wisely. You will need to have practiced multiple times to get the timing correct.
- Project Proposal due Wednesday, November 21:
Before class determine the capabilities of Mathematica that you would like to explore. Places to find inspiration include the Wolfram Demonstrations Project, Mathematica Documentation, and the last chapters of our textbook. Once you settle on a subject area, start to conceptualize what type of project you would like to create. Who will be the audience for your Mathematica notebook? What type of interactivity do you want your user to have?
Write up your ideas and bring them to class. We will meet to discuss your proposal.
- Project Outline due Monday, November 26:
By this date you should have settled on a framework for your project, and started considering strategies that will help you program Mathematica to do what you want. Make sure you have spent some time researching some concepts that you will need for your project. Prepare a short outline (at most 1/2 page; bullet points are fine) that highlights how you think you will proceed. Start a Mathematica notebook in which you play around with some of these concepts. Bring it to class and continue working on your project; today will be an in-class project work day.
- Project Check-Up on Monday, December 3:
Bring in the current state of your project and we will do an informal peer review in which you get some feedback from a classmate about the concept and about usability.
- Project Final Draft on Wednesday, December 5:
By this date, you are expected to be have completed most of your project and prepared for your presentation. The class period this day will be a more in-depth peer-review session and then some in-class polishing time. Prof. Chris will walk around and consult with you on any last-minute questions you might have. We will work to figure out if it is possible to deploy your worksheets to the cloud or as a Wolfram Demonstrations Project.
- Project Presentation on Monday, December 10 or Wednesday, December 12:
On this day, you will present your project to the rest of the class, explaining what your project does, highlighting the interactivity and sharing your favorite parts of your project for the class. You are expected to attend all presentations; your presentation grade will be reduced if you are late or do not attend.
This project represents 30% of your semester grade. You will be graded on how well your project addresses the specifications laid out above, following the rubric below.
- Timeliness: (5%)
- Did you make steady progress on your project from start to finish?
- Did you respect the above timeline, including bringing in your project outline on the due date?
- Did you have working examples to be reviewed on peer review days?
- Did you turn in your final files by the deadline?
- Intrigue: (10%)
- Will the subject of the project be of interest to its audience?
- Are YOU excited about your project?
- Complexity: (10%)
- Are you using multiple new commands that we have not learned so far this semester?
- Are the commands that you are using commensurate with your programming knowledge?
- Does the difficulty level of your project match your level of knowledge of the content?
- Interactivity: (15%)
- Is the project interactive?
- Are you using an appropriate method for the user to interact with the notebook?
- Have you worked to make your interface user friendly?
- Is it clear what the users are supposed to do when they open the notebook and how to interact with your notebook?
- Is the interactive part of the project self-contained? (Users should not have to jump back and forth in the notebook to interact with the compiled code.)
- Formatting and Comments: (15%)
- Is your code commented, with text cells and (*inline comments*)?
- Are the comments instructive? Do the comments explain what any new commands do?
- Is your code readable by people who are familiar with programming in Mathematica?
- Do your comments show the thought process of how you built up the many lines of code piece by piece?
- Is the submitted worksheet organized, cleaned up, and put into sections?
- Does your notebook have a title? Does it have your name? Does it have a section at the top that explains what the premise of the notebook is? Is it written clearly?
- Does the notebook run correctly when it is opened from scratch and the user clicks "Evaluate All"?
- Writeup style and formatting: (5%)
- Do you use complete sentences and proper English?
- Did you follow the writing format requirements?
- Writeup content: (15%)
- Have you adequately addressed the following questions:
- How did you choose your topic? Why it is reflective of your current level of knowledge in the subject you are exploring? How is the quality of your Mathematica file reflective of your current knowledge of Mathematica and general programming skills?
- Have you discussed your notebook's organization? Why did you code your notebook the way you did and why did you choose that type of interface?
- How did your project evolve over time? How did peer review have an influence on your project? If you had more expertise in Mathematica or more time to work on this project, what would you change and why?
- Presentation Content: (15%)
- Did you introduce the project?
- Did you explain the key Mathematica commands you are teaching in a clear and engaging way?
- Did you give a live demonstration of the interactive parts of the notebook?
- Did you relate some personal information related to the process of creating the interactive worksheet?
- Presentation Style: (10%)
- Do you keep the audience's attention?
- Did you put time and effort into crafting your presentation?
- Did you respect the time constraints?
- Did you arrive on time for everyone else's presentation?
You will be assigned a grade for each standard and these will be averaged based on the allocated percentages.
A+ (100+) Outstanding: Goes above and beyond expectations A (95) Excellent: Meets all requirements at a high level. B (85) Good: Meets all requirements at an competent level. D (65) Poor: Makes an effort to meet requirements but does not succeed. F (0-50) Unacceptable: No work, a weak start, or does not meet minimum acceptable standards.