Your goal is to create a Mathematica tutorial. You have two options.
- Create a tutorial to help students with coursework from another math 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?
- Create a tutorial to teach someone about the capabilities of Mathematica. Is there a (broad) topic that you saw as you explored the Documentation Center that you wish you understood better? What inspires you in real life that you can use Mathematica for?
The final product of this project will be a Mathematica notebook, a two-page lab report, 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 both the topic and audience for your notebook are clear and explicit.
- Be created for a user 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 users need to know, explaining what they do, and how they work. You should write clearly the methods that the users need to follow in order to get the final result. You should work through a representative example to highlight your methods. At the end of the worksheet, you should include a few more examples that users 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 early tutorials.
You should expect that your audience has already gained the skills that you have seen in Tutorials 1–5, so you don't have to teach those ideas. (Feel free to provide a sentence reminder if you feel that would be helpful.)
The two-page lab report must:
- Discuss how you stretched your knowledge.
Explain how you chose your topic and why it is either (a) reflective of your mathematics knowledge or (b) relevant to your interests outside school. Explain how the quality of your Mathematica file is reflective of your current knowledge of Mathematica and existing programming skills. It is good 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 written in a clear and organized manner, using full sentences and proper English.
- Use 1 inch margins, 1.5x spacing, 11-point Times New Roman font. (Your writeup will be approximately 900-1100 words.)
- Include a separate cover page with the title of your notebook, your name, and the date.
(This page does not count toward your two pages.)
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 to you use your time efficiently.
- Project Proposal due Tuesday, February 7:
By this date, decide upon the thrust of your project. Which topic will be your focus? Can you craft a coherent tutorial of the right length from this topic? Who will be the audience for your Mathematica notebook?
You will have time in class to explore how Mathematica relates to your proposal.
- Prepare Project Ideas for Tuesday, February 14:
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 this day and we will brainstorm about your project.
- Project Draft due on
Thursday, February 16Thursday, February 23: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, completing a peer review, and discussing ways to improve your project.
- Project Presentation on
Thursday, February 23Tuesday February 28 and Thursday March 2: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 24% of your semester grade. You will be graded on each of the following standards.
- Engagement:
- Did you make steady progress on your project from start to finish, respecting project deadlines?
- Did you regularly attend the in-class work days, discuss your progress with classmates, and check in with the professor?
- Did you turn in your final project by the deadline?
- Tutorial Content:
- Is it obvious who your target audience is?
- Have you explained to the user the goal of the tutorial?
- Does the subject level of your project match your level of expertise in the subject?
- 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?
- Tutorial Organization:
- Have you situated the tutorial in the user's previous knowledge?
- Does your tutorial convey how Mathematica is useful to a person learning the topic you are sharing?
- 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?
- Are your explanations clear, written in full sentences, and in proper English?
- Tutorial Formatting:
- Is the worksheet broken down into sections?
- Do the sections have descriptive names?
- Are subsections and text cells used where appropriate?
- Is the worksheet of the correct length?
- Lab Report Content:
- Did you discuss the decisions you made thoroughly and thoughtfully?
- Did you discuss the revision process thoroughly and thoughtfully?
- Did you justify how your work is reflective of your level of expertise in the subject and your advancement in programming skills?
- Lab Report Style:
- Did you follow the writing format requirements?
- Do you use complete sentences and proper English?
- Does your lab report stay focused and present a coherent story?
- Presentation Content:
- 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?
- Presentation Style:
- Did you put time and effort into crafting your presentation?
- 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 score for each standard on an E-M-R-N scale as follows.
First I ask myself:
If it does, then depending on how complete and clearly communicated your work is, you will receive one of the following scores:
Exemplary | The work meets or exceeds the expectations of the assignment. Communication is clear and complete. Mastery of the concepts is evident. There are no non-trivial errors in understanding. | |
Meets Expectations | Understanding of the concepts is evident through correct work and clear, audience-appropriate explanations. Some revision or expansion is needed, but no significant gaps or errors are present. |
If it does not, then you have not demonstrated understanding of the concept. In this case, I will determine if you show partial understanding, and you will receive one of the following scores:
Revision Needed | Partial understanding of the material is evident, but there are significant gaps that remain. Needs further work, more review, and/or improved explanations. | |
Not Assessable | Not enough information is present in the work to determine if there is understanding of the concepts. Work is fragmentary or contains significant omissions. Or, there are too many issues to justify correcting each one. |
Your final project grade will be based on the number of scores at each level as follows.
A (95+) Earn a score of M or higher on all standards and a score of E on at least five standards. B (85) Earn a score of M or higher on all standards and a score of E on at least three standards. C (75) Earn a score of M or higher on six standards and no N scores. D (65) Earn a score of M or higher on five standards and at most one N score. F (50–) Have fewer than five E or M scores OR earn two or more N scores.
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 two-to-three 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. However, DO include the code used to create at least one alternate version of your model that you explored.
The two-to-three page writeup must:
- 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? Focus on the model you are submitting. Do not spend time discussing the other ideas you brainstormed unless you are explaining conceptually how they led to the current artwork.
- 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?
- Provide key details about your sculpture.
Include a separate cover page with the title of your artwork, the material the final sculpture is printed in, a two-sentence description of your piece, your name, and the date.
- 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, 11-point Times New Roman font. (Your writeup will be approximately 1200 words.)
- Start exploring by Thursday, March 9:
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 our discussion board with links to two or three inspiring objects.
- Prepare Project Ideas for Thursday, March 16:
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 Tuesday, March 28:
By this date, you will have gone through multiple prototyping phases in the Makerspace and you will bring a physical version of your 3D model to class for prototype critiquing and peer review. Also you will bring a draft of the parts of your writeup that discuss the intentionality behind your work, the choices you made along the way, the mathematics and code you used to create your model, and any trials and tribulations you faced in getting to this point of the 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 Tuesday, April 4:
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 installation on Friday, May 5:
We will be having an art exhibit in the Queens College Library. You will be asked to give a short artist statement about your project for everyone to learn more about your concept and process.
This project represents 30% of your semester grade. You will be graded on each of the following standards.
- Timeliness:
- Did you make steady progress on your project from start to finish, respecting project deadlines?
- Did you regularly attend the in-class work days and share your progress with classmates and the professor?
- 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:
- Did you give your art a name?
- Is the one-to-two sentence description apropos and carefully constructed?
- Is your description at most 25 words and is it at the top of your writeup right after the name of the piece?
- Intentionality:
- 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?
- Did you have a vision for the final piece that you honed over a long period of time?
- Did you create an alternate version of your project to explore the effect that changes would have on the final piece? Have you included this in your Mathematica file?
- Mathiness:
- 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:
- 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:
- 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:
- How well 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:
- How well 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:
- How well 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?
- What made you choose your final model over the alternate version(s) you created?
- 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:
- Did you follow the writing format requirements?
- Do you use complete sentences and proper English?
You will be assigned a score for each standard on the E-M-R-N scale described above. Your final project grade will be based on the number of scores at each level as follows.
A (95+) Earn a score of M or higher on all standards and a score of E on at least six standards. B (85) Earn a score of M or higher on all standards and a score of E on at least two standards. C (75) Earn a score of M or higher on eight standards and no N scores. D (65) Earn a score of M or higher on six standards and at most two N scores. F (50–) Have fewer than six E or M scores OR earn three or more N scores.
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. Maybe you will explore how to use user inputs from a game controller or touch screen. The possibilites are endless!
The final product of this project will be an interactive Mathematica notebook, a one-to-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 one-to-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, 1.5x spacing, and 11-point Times New Roman font. (Your writeup will be approximately 900 words.)
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 4–6 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 Tuesday, April 25:
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?
Submit your proposal before class. We will meet in class to discuss your proposal.
- Project Outline due Thursday, April 27:
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.
- Peer Critiquing on Thursday, May 4:
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 Thursday, May 11:
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.
- Project Presentation on Tuesday, May 23:
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 will be expected to give feedback to some of your classmates' projects as well.
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.
- Engagement:
- Did you make steady progress on your project from start to finish?
- Did you regularly attend the in-class work days and share your progress with classmates and the professor?
- 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 the peer review days?
- Did you turn in your final files by the deadline?
- Intentionality:
- Will the subject of the project be of interest to its audience?
- Are YOU excited about your project?
- Did you have a vision for the final product that you honed over a long period of time?
- Complexity:
- Are you using multiple new commands (or options) that we have not learned so far this semester, both in terms of interactivity and in terms of Mathematica functionality?
- 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:
- 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?
- Unity:
- 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.)
- Is all the interactive content grouped together into one cell/module?
- Is all content embedded natively in the notebook without a need to import from an external source?
- Does the notebook run correctly when it is opened from scratch and the user clicks "Evaluate All"?
- Formatting and Comments:
- Is your code commented, with text cells and (*inline comments*)?
- Are the comments instructive? Do the comments explain how the new commands and options work and what they 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?
- Writeup content:
- 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?
- Writeup style:
- Do you use complete sentences and proper English?
- Are you using complex sentence structure to convey your thoughts instead of many smaller, choppy sentences? Do you vary your sentence structure?
- Have you organized your content carefully through a revision process instead of writing in train-of-thought?
- Writeup focus and formatting:
- Did you follow the writing format requirements?
- Does your writeup stay focused and does it present a coherent story?
- Presentation Content:
- 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:
- 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 score for each standard on an E-M-R-N scale described above. Your final project grade will be based on the number of scores at each level as follows.
A (95+) Earn a score of M or higher on all standards and a score of E on at least eight standards. B (85) Earn a score of M or higher on all standards and a score of E on at least four standards. C (75) Earn a score of M or higher on nine standards and no N scores. D (65) Earn a score of M or higher on six standards and at most two N scores. F (50–) Have fewer than six E or M scores OR earn three or more N scores.