| 1. **Celebrating Computational Excellence with the 2021 Wolfram Innovator Awards**Сб, 16 окт[−]Категория^{(?)} Автор^{(?)} Leaders in many top organizations and institutions have played a major role in using computational intelligence and pushing the boundaries of how the Wolfram technology stack is leveraged for innovation across fields and disciplines. We recognize these deserving recipients with the Wolfram Innovator Award, which is awarded at the annual Wolfram Technology Conference.
We are pleased to introduce the 2021 Wolfram Innovator Award winners:
Girish Arabale is the founding director of Scigram Technologies Foundation, a not-for-profit education organization seeking to introduce a tinkering culture into schools to foster creativity, excitement and innovation in science learning. At Scigram, Arabale teaches underprivileged children how to program using the Raspberry Pi. He also frequently speaks to children at the K–12 level to teach coding techniques using the Wolfram Language. Currently, Arabale is developing a computational learning platform and is working on a project known as “Computable City” that aims to make every aspect of the city’s ecosystem computable.
Bruno Autin started his professional life in the Laboratoire de Recherches G?n?rales de la Compagnie Fran?aise Thomson Houston, where he studied the amplification of acoustic microwaves in cadmium sulfide. He strove to replace classical traveling wave tubes by tiny crystals, the scaling factor being the ratio between sound and light velocities. In 1967, he began working at the European Center for Nuclear Research (CERN), where his research turned quickly toward subnuclear physics with the development of very-high-energy accelerators. Autin started with the first proton collider, the Intersection Storage Rings (ISR), and became introduced to the design and operation of the magnetic systems of accelerators and colliders. The basic theory had been established by Ernest Courant, but matching the architecture of colliders to particle detectors was largely a process of trial and error depending on numerical computations. Finding this to be unsatisfactory, Autin started testing symbolic languages. The first achievement was the shape of the CERN antiproton source calculated with Veltman’s Schoonschip. The saga of the antiprotons continued both at CERN and at Fermilab. Then, during a sabbatical year at the Lawrence Berkeley National Laboratory, where he worked on the design of the Advanced Synchrotron Light Source, he tested the first release of Mathematica, which was packaged with the NeXT computer. Having symbolics, numerics, graphics and the notebook interface in one package convinced him to build two packages: Geometrica for geometry and BeamOptics for the investigation of optical systems adapted to projects such as beam emittance optimization for the Large Hadron Collider (LHC), muon colliders, neutrino factories and medical synchrotrons. Now retired from CERN, he follows the progress of particle physics and writes particle accelerator documentation for Wolfram Research.
Trevor Bennett is a cofounder at Starfish Space, where he’s giving life to in-orbit services. He earned a doctorate from the University of Colorado, where he was a NASA Space Technology Research Fellow and one of Aviation Week’s “20 Twenties.” Prior to Starfish Space, Bennett designed and developed guidance, navigation and control (GNC) software at NASA and more recently Blue Origin. His journey with Mathematica started in 2013 when he was studying charged spacecraft formation flying. Wolfram’s software allowed development and refinement of a new set of orbit element use cases that could aid spacecraft operations. Bennett has broad technical expertise in GNC, with a particular focus on rendezvous, proximity operations and docking (RPOD).
Bruno Buchberger is a professor of computer mathematics at Johannes Kepler University in Linz, Austria. He is internationally known for his algorithmic theory of Gr?bner bases. In recent years, Buchberger established the automated reasoning system Theorema and implemented it with his coworkers and students within Mathematica. Buchberger also contributed to the development of symbolic computation and computer algebra by founding and building up the Journal of Symbolic Computation, the Research Institute for Symbolic Computation (RISC), the Softwarepark Hagenberg and the University of Applied Sciences Upper Austria.
Richard Carbone is a digital forensic analyst and researcher at Defence R D Canada, where his work involves investigations into advanced persistent threats, state actors and insider threats. He writes and designs tools using Mathematica to solve certain digital forensic problems that have not been adequately addressed by either the community or by digital forensic software vendors. (The growth in Mathematica’s image processing capabilities specifically has made the software a useful tool in digital forensics.) Examples of his prototyped tools include a forensic image analysis system and a binary file analysis system, the latter of which helps the user visually identify the underlying data and structure patterns inherent in most file formats. Carbone additionally has conducted research with federal law enforcement to define Canada’s standards for forensic analysis of computer memory.
Bill Gosper was part of the group at MIT that produced HAKMEM, also known as AI Memo 239, a large collection of computer and mathematical hacks, some of which are now quite famous. Stephen Wolfram refers to Gosper as “Ramanujan-like” for his prolific production of mathematical results. He has invented several algorithms for symbolic computation, including ones for symbolic summation and continued fractions. In more recent times, Gosper has been working with the next generation of amazingly bright students, producing remarkable and very surprising research results.
Ming Hsu is an economist and neuroscientist who studies how people make decisions, in terms of both the hardware (i.e. the neural systems that make decision-making possible) and software (i.e. the computations that these neural systems perform). He has used Mathematica extensively since his doctoral work at Caltech, studying the formation and evolution of prices in experimental double auction markets. Subsequent work focused on developing new computational models of choice behavior in decisions under uncertainty and relating these models to behavioral and neural data. In the future, he hopes to utilize the text-analytic capabilities of Mathematica to broaden the range of cognitive functions captured in current models of decision making.
General Vibration is a corporation that focuses on improving the foundation of haptics. The General Vibration team first developed a novel force feedback joystick, and later focused on synchronized vibration of inexpensive eccentric rotating mass vibration motors, which are commonly found in game controllers as well as mobile phones. Sony Interactive Entertainment licenses the company’s entire haptics (intellectual property) portfolio, which means that their architecture underlies technology like the Sony PS5’s Sony DualSense wireless controller, released in November 2020. General Vibration has been granted more than 20 patents in the US, Asia and Europe, with more pending.
Award accepted by Rob Morris, chief scientist and co-inventor.
Houston Methodist Research Institute is a leading academic medical center that takes a multidisciplinary approach to changing the face of medicine. Doctors Cristini, Butner and Wang are a team of engineer scientists at the Houston Methodist Research Institute who use mathematical modeling to study biological problems, with a special focus on disease progression and treatment. They design and implement mathematical descriptions of the key biophysical phenomena within the tumor microenvironment. They are currently working to establish methods to use mathematical modeling to predict cancer-patient response to immune checkpoint inhibitor immunotherapy. Mathematica has played a key role in this process, allowing them to rapidly implement and update model versions, perform testing and optimization, and conduct extensive analysis on large sets of patient data.
Award accepted by Joseph D. Butner, Vittorio Cristini and Zhihui Wang.
Carol Johnstone is an internationally recognized senior accelerator physicist at Fermilab and Particle Accelerator Corporation. Her work was initially created to solve a simple set of approximate, thin lens optics equations simultaneously with geometric orbit equations. These constraint equations provided physical and field parameters that insured stable machine performance in novel accelerators for high energy physics research, such as the muon collider or Neutrino Factory. Her work evolved into a powerful new methodology for advanced accelerator design and optimization, which has since been applied to innovations in accelerators for radioisotope production, cancer therapy, security and cargo scanning, radiopharmaceuticals and green energy production. Johnstone’s efforts have resulted in the creation of a now-patented design for a non-scaling fixed-field gradient accelerator. Her work has also helped lead to the now-under-construction National Center for Particle Beam Therapy and Research in Texas, which will be the most advanced cancer therapy center in the US.
Jang-Hoon Lee is a professor of mathematics at Paju Girls’ High School and the most famous Mathematica user in South Korea. He has introduced Wolfram’s software to millions of users and extensively incorporates it into his teaching. This includes developing an online Mathematica textbook for his students, called Mathematica LAB. He also opened the Mathought website and creates math content using Mathematica for Naver, where he has 20 thousand subscribers and 6.5 million cumulative views. Due to this and other initiatives, he has won the Korea Mathematics Education Award from the Ministry of Education of South Korea and the Science Teacher of the Year Award from the Ministry of Science and Technology Information and Communication of South Korea.
Scot Martin is currently a Gordon McKay Professor of Environmental Engineering and has previously held positions as an assistant professor at the University of North Carolina at Chapel Hill and a NOAA Postdoctoral Fellow in Climate and Global Change at MIT. His research focuses on engineering solutions to the major environmental challenges presently facing the world. Martin’s laboratory works specifically on problems of air and water pollution and their effects on climate change. His current research has a focus on connections among plant emissions of volatile organic compounds, particle-phase secondary organic material and climate. Martin is currently working to complete a book on aerosol science and technology and is developing a HarvardX course on thermodynamics.
David J. M. Park Jr. develops applications in the Wolfram Language. In the past, he worked on technical computer programming and the engineering of cesium beam tubes used in atomic clocks in satellites. He has used Mathematica since Version 2 and developed and sold packages such as Tensorial for tensorial calculus and presentation software for producing custom graphics and presentations for earlier versions of Mathematica. He currently is coauthoring a Grassmann calculus application, which is in beta-testing development.
Edmund Robinson is an industrial mathematician and software developer who has made many noteworthy contributions in the fields of fund and risk management as well as reinsurance. His prominent work includes the creation of interactive visualizations to provide breakdowns and comparisons of funds on the fly; generation of highly formatted performance figures with financial measures and statistics; summary infographics and PDF export; and rapid modeling, simulation and analysis of bespoke contract structures with interactive data, model and parameter selection. Robinson has also given talks focusing on workflows that combine third-party geographic information system (GIS) datasets with contract loss distributions to produce a dynamic tool to estimate and visualize incurred but not reported (IBNR) claims related to a windstorm event and historical analysis of sunny-day flooding occurrences and forecasting with time series analysis.
Leonardo Roncetti created a data analysis and decision-making process for critical lifting operations of personnel on offshore platforms by crane to increase the safety of this extremely dangerous field. He is also known for creating a methodology that utilizes artificial intelligence to monitor cracks in concrete or steel structures in real time to prevent collapse and study damage over time. This methodology can be used in structures such as dams, bridges, nuclear power plants, buildings, hazardous-content storage tanks and many other large structures. Roncetti is an often-sought-after expert regarding structural failures and accidents of many types and has appeared and/or been interviewed about such across many media outlets.
Fernando Sandoya currently teaches at the postgraduate level and oversees research and development of new products in the context of a consulting business. Among his notable projects are the development and implementation of an intelligent assistant for optimal sequencing of production in the largest food manufacturer in Ecuador (PRONACA); the development and implementation of a system for the optimization of the reverse logistics of used tires across Ecuador (SEGINUS); the development of a descriptive and predictive analytical model for land transportation of containers to the ports of Guayaquil (Spurrier Group); and professional training programs in business intelligence, data science, machine learning and models for Ecuadorian universities. Sandoya is currently working to develop a machine learning system for Redclic and holds development contracts with an additional dozen companies.
Enrique V lchez Quesada teaches courses in mathematics, operations research and programming fundamentals. His research is primarily associated with different activities and projects related to the development of computerized educational software and materials. He has served as coordinator of the systems engineering area and deputy director of the Computer Science School of the National University of Costa Rica. He has received several distinctions in Costa Rica for his outstanding performance and professional career in teaching and research. He is an associate member of the Latin American Committee for Educational Mathematics (CLAME) and the author of more than 50 scientific and dissemination articles in the areas of mathematics and educational informatics.
Virginia Tech’s Math Emporium was established over 20 years ago. Since then, nearly eight thousand students have been served through the Math Emporium each semester, in courses ranging from precalculus to geometry and mathematics of design. Many peer institutions have adopted the emporium model, which uses computer-based resources and emphasizes active learning and retention. Mathematica has served as the foundation for Virginia Tech’s Math Emporium. Quiz questions are created as modules, allowing for thousands of variations for a single “question.” An in-house package has been built and expanded over the years, housing thousands of functions, from formatting to building XML files, for use in the Math Emporium testing system. Additionally, Mathematica has been used to create portions of the Math Emporium’s online textbooks and to conduct assessments for the department of mathematics.
Award accepted by Jessica Schmale, advanced mathematics instructor.
James C. Wyant was the founding dean of the College of Optical Sciences. He was also the founder of the WYKO Corporation. His company is known for having manufactured and sold phase-shifting interferometers for testing optics that were later used for measuring the shapes of the recording heads used in computer hard-disk drives. At one point, every major manufacturer of hard-disk drives globally purchased WYKO instruments to test the recording heads of their drives. He founded another company in 2002 known as 4D Technology. There, he developed single-shot phase-shifting interferometers that, unlike other interferometers, give accurate results in the presence of vibration and air turbulence, thus making them very useful in manufacturing environments.
About Wolfram Research
Wolfram Research has been defining the computational future for more than three decades. As the creator of Mathematica, Wolfram|Alpha and the Wolfram Language, Wolfram Research is the leader in developing technology and tools that inject sophisticated computational intelligence into everything. Learn more at www.wolfram.com.
Get full access to the latest Wolfram Language functionality with a Mathematica 12.3 or Wolfram|One trial. | ↑ |
2. **Change Your Perspective on the History of Mathematics with These Eight Learning Journeys**Вт, 12 окт[−]Категория^{(?)} Автор^{(?)} Amid COVID’s first wave, I had the privilege to join forces with Eric Weisstein and his team at Wolfram Research to create the History of Mathematics Project, a virtual interactive gallery highlighting physical artifacts that are important to the history of mathematics, for the National Museum of Mathematics (MoMath) in New York City. Most of my mandatory confinement at home was spent navigating through online collections from world-class museums, locating outstanding mathematical artifacts and creating interactive and computational explanations for them.
The Interactive Exhibits
The site contains more than 70 artifacts divided into virtual exhibits, grouped into nine general topic areas of mathematics: counting, arithmetic, algebra, the Pythagorean theorem, geometry, primes, ?, polyhedra and mathematics education.
#10005
Each of the nine virtual exhibits gives a brief textual description of a mathematical area and its historical context, together with navigation to other exhibits, clickable thumbnails for individual artifacts within the exhibit and a clickable timeline.
#10005
Each artifact’s page contains a description of how the relic was used, detailed images, dimensions, location and additional suggested reading. Visitors can easily navigate to related artifacts and get a comprehensive historical overview in the timeline. Interactive content gives a hands-on exploration of each artifact, while computational explanations provide details about the mathematical content; both make extensive use of the Wolfram Language.
The Learning Journeys
After spending the first few months of the project populating artifact pages with interactive content and computational explanations, I moved on to creating eight Learning Journeys. These highly visual and hands-on computational essays connect the dots between different mathematical artifacts while providing engaging and fun learning journeys for middle-school students on up:
Mathematical Beans and Knotted Strings: Counting Methods from the Moche Culture
Balancing Ducks, Frogs and Grasshoppers: Weights and Measures in Ancient Mesopotamia
Show Your Work!: Doing Math Homework on Clay Tablets, Papyri, Wax Tablets, Bamboo Strips and Birch Bark
Squaring the Apsamikku Circle: The Search to Solve One of the Oldest Problems in Math
Making Machines Fly: Overcoming the Square-Cube Law
The Mathematics of a Masterpiece: Portrait of Luca Pacioli
Ancient Right Triangles: The Pythagorean Theorem and the Gou-Gu Rule
Ancient Games of Chance: The Beginnings of the Mathematical Theory of Probability
Learning Journeys are graphical, interactive computational essays that explore mathematical ideas across cultures and time. They are primarily visual and descriptive with minimal advanced mathematics, making them ideal for classroom exploration or as a teaching tool. At the same time, they contain images and links to more detailed mathematical artifact write-ups.
Ancient Games of Chance
Motivated by the ancient dice in the Polyhedra virtual exhibit, I embarked on a journey researching games of chance. I wanted to better understand their use throughout history and their connection to the development of the mathematical theory of probability.
I learned a lot of interesting things along the way. For example, a 1970s Italian expedition to the Burnt City (Shahr-e Sukhteh), located in the southeastern part of Iran, explored a graveyard in the ancient city and found a set of four elongated dice and 27 tokens, crafted about 4,500 years ago. This four-value die evolved into the modern six-sided cubical die.
And here are the probabilities for obtaining a given total using two six-sided dice:
#10005
The product of my discoveries is an exploration into ancient games of chance. Did you know early dice were made of the knucklebones of sheep? Read the rest to find out more.
Balancing Ducks, Frogs and Grasshoppers
If you search for dice at the Penn Museum collections, it returns a staggering 749 items from around the world! When compared to other mathematical artifacts, dice are only outnumbered by scale weights. The Penn Museum has 2,591 historical weights on record, most of which come from the Near East. I dedicated an entire Learning Journey to these computational bits from the past.
For example, barley was so important to the ancient Mesopotamians that a barley grain was used as the smallest unit of length, area, volume and weight. A shekel of silver equaled 180 barley grains, or about 8.4 grams. Sixty shekels weighed one mina, and 60 mina weighed one talent.
In order to convince myself that this system was indeed accurate, I used the Wolfram Language to import, combine and visualize weight stones’ data from the ancient cities of Nippur and Ur:
#10005
Here’s a data visualization of 628 weight stones from Nippur and Ur. The data was imported from two datasets curated and studied by archaeologist Brad Hafford. (The red lines indicate duck weights.) I was shocked by the resulting diagram: the majority of the weight stones clustered in weight values corresponded to well-defined fractions of a shekel or a mina!
#10005
To understand how these weight stones might have been used, I created the following interactive balance scale?. As you add more barley grains on the left side of the scale, the merchant adds duck weights, which come in fractions of a shekel, to balance both sides. That means the beam at the top of the scale acts as an “equal” sign!
Learn More
If you are interested in knowing more about the making of a Learning Journey, join me at the Wolfram Virtual Technology Conference 2021. My Wolfram presentation “History of Mathematics Project: Learning Journeys for Kids and Others” is scheduled for Thursday, October 14, 11:30am–12pm CT US.
#10005
Finally, let me invite you to the following free livestream events:
History of Mathematics Project Overview with Wolfram CEO Stephen Wolfram, October 25, 2021
Insider’s Tour of the History of Mathematics Exhibition with Bernat Espigul?-Pons, November 22, 2021, 6:30pm ET
The History of Mathematics Project, a virtual interactive gallery highlighting physical artifacts that are important to the history of mathematics and that is hosted at history-of-mathematics.org , was generously funded by Overdeck Family Foundation for the benefit of the National Museum of Mathematics (MoMath) in New York City. The virtual exhibits and their navigation were built entirely from source notebooks using the Wolfram Language, the Wolfram Knowledgebase and the Wolfram Cloud , which allow the content and website to be easily maintained and extended. Thank you to Heidi Kellner, Sarah Keim Williams, Lori Goodman, Andrea Gerlach and Eric Weisstein for all of your great contributions to the project!
Visit the History of Mathematics Project to learn more about the development of math from ancient times to today. | ↑ |
3. **Introducing Wolfram U Computational Thinking Certifications**Ср, 06 окт[−]Категория^{(?)} Автор^{(?)} Wolfram U certifications have been hugely popular since their introduction with over one thousand awarded in 2020 and many more again this year. Students and professionals around the world have been growing their skills and demonstrating their proficiency in a wide range of topics, including data science, machine learning and data visualization.
We’re excited to be expanding our range of courses to include what we consider to be the critical skill of the twenty-first century and beyond: Computational Thinking.
What Is Computational Thinking?
Wolfram’s Computational Thinking Process (CTP) is a problem-solving framework that starts with real-world problems and works back to relevant concepts and then tools. The focus is on thinking, including conceptualizing the problem and validating the solution. Computational thinking empowers people to have more awareness, understanding and control over the information and data that powers our modern physical, social, intellectual and cultural worlds.
Beyond mathematics, statistics, data science or programming—although those skills have significant roles within computational thinking—our Computational Thinking courses will teach you how and when to use everyday computational tools to explore problems and develop solutions.
Whether you’re a student writing your first assignment or a manager of a Financial Times Stock Exchange 100 company looking to improve your team’s productivity, using the data available to fully assess and understand a situation to make effective decisions is a key skill in the AI age.
Why Get Certified?
While these skills are important now, they’re becoming even more essential every day, but the world has been slow to react. Beyond basic statistics and coding lessons, people leaving school do not have the computational thinking skills required in the real world.
Wolfram-certified Computational Thinking courses provide an easy way to learn the skills you’ll need and then demonstrate your proficiency. Whether you’re preparing for college, a promotion or an entirely new career, a Computational Thinking certification helps bolster your credentials and enables you to stand out from the crowd.
After learning the materials and passing the assessment, it’s easy to add your new certification to your LinkedIn profile and show employers, professors, clients and other connections everything you bring to the table.
What Courses Are Available?
In our first set of Computational Thinking courses, we have four interactive, self-study modules. Each one is designed to focus on specific computational thinking skills, such as dealing with messy real-world data, mitigating bias and presenting data.
How Happy Are People in My Country?
How can you measure things like emotion, pain and literacy? Dealing with subjective data like this is a key part of data science in the real world; find out how it’s done in this short interactive course. Learn More
Cause or Correlation?
“People who took this course earn more in the future!” Learn to be wary of media claims of how one thing causes another, and have fun finding your own odd correlations. Learn More
Does Gender Help with Your Maths Score?
Comparing two datasets is a first step in any data science course. In this short course, you will analyze local and national datasets and find out how to present your findings. Learn More
Can I Spot a Cheat?
Using real data, how do you define when to raise the alarm for possible fraud or bias? How do insurance or credit card companies know when to investigate further? Learn More
We’re pleased to be able to offer these new pathways to real academic and professional growth and hope you enjoy getting your Computational Thinking certifications!
Prepare for the AI age and stand out from the crowd with our Computational Thinking certifications. | ↑ |
4. **Exploring Social Networks, Communication Systems, Clustering and More with the Wolfram Language in These New Books**Пт, 01 окт[−]Категория^{(?)} Автор^{(?)} The Wolfram Language is utilized across a variety of fields for many different purposes. We’re proud of our products’ broad applications in multiple disciplines and are excited to share seven of the latest books by Wolfram Language users. These draw upon topics ranging from social networks and communications to computational origami to the biosciences. We also had the privilege of speaking to two authors about their projects and experiences with Mathematica and the Wolfram Language.
Dr. Zvi Lotker, author of *Analyzing Narratives in Social Networks*, is an associate professor in the Faculty of Engineering at Bar-Ilan University, Israel. He has a double bachelor’s degree in mathematics and computer science and another bachelor’s degree in industrial engineering, all from Ben-Gurion University, and a master’s degree in mathematics and a doctorate in distributed algorithms, both from Tel Aviv University. His main research areas are communication networks, online algorithms, sensor networks and social networks. In 2018, he was awarded the SIROCCO Prize for Innovation in Distributed Computing.
Book publisher Springer says that *Analyzing Narratives in Social Networks* emphasizes the storytelling aspect of social networks, as well as the connection between narrative and social networks by incorporating narrative, dynamic networks and time. It constructs a bridge between literature, digital humanities and social networks and attempts to express social and philosophic constructs in mathematical terms. By using literature networks and their accompanying narratives, this book allows for a novel approach to social network analysis.
We caught up with Dr. Lotker to discuss his latest book, his experience with the Wolfram Language and his innovative and interdisciplinary approach to social network analysis.
**Q:** How did you first encounter Mathematica and the Wolfram Language?
**A:** I am a long-devoted user of Mathematica. I have been using it since Version 2.0 back in 1992. A childhood friend recommended the program to me, and I have been closely following it since. Mathematica has accompanied me throughout my career. I used it back when I was a student and use it today in my research. It has a significant influence on my work, as I tend to get inspired to research in different directions when there are new versions to work with. I can definitely say that my book would not have been written without Mathematica.
**Q:** How does your book contribute to the literature on social network analysis?
**A:** There are a lot of new concepts in my book, such as subjective clocks, social rationality, conflict functions and high-dimensional time frames. It is also, in my opinion, the first to differentiate between frequency graphs and distance graphs in the context of social networks. But the most significant contribution my book makes is connecting social networks to narrative. Allowing machines to work with narrative gives us tools to examine philosophical questions and interact with the humanities in ways that the computer sciences have not been able to as of yet. It allows us to expand the scope of questions we can investigate using social networks.
**Q:** How does your book diverge from other works on social network analysis?
**A:** Usually, social network analysis takes social networks and analyzes them. Instead, I have tried to develop tools and definitions to allow others to go and analyze narrative networks. I have explored questions such as: What is a story? When does a story start or end? How do we define and compute conflict? How do we represent good and evil in a narrative, and what does that say about the morality of man and machine?
These literary questions have not been asked in the context of social networks yet, but doing so can enrich the field greatly, as it frames any data we have within its context. For example, I have found that community detection does not work on narrative due to freedom of interpretation, which is essential in narrative. My book addresses this using anchors and new conflict functions which expand the definition of community detection by allowing for freedom of interpretation.
**Q:** You take a unique approach in this book. Tell us more about how you use literature to study social networks.
**A:** In the sciences, we aim for the one true answer. In literature, there is an acceptance of, and even a call for, a spectrum of interpretations and answers. This is that freedom of interpretation that we addressed in the previous question. Combining the two perspectives was difficult for me, as I too come from the deterministic attitude of computer sciences.
I navigated this dissonance by having the human engage in a dialogue with the machine. The key to this process was to define concepts that both humans and machines could understand: concepts such as anchors, clocks and conflicts that could be expressed both mathematically and conversationally. Machines love to count and process, while humans love to categorize and ask questions. Combining the strengths of both sides in a dialogue between the two enriches everyone in the interaction and allows us to see things in narrative that we would otherwise not be able to. An example I like in the book is the analysis of Coppola’s * The Godfather*, which reveals new feminist aspects in the struggles between Connie and Michael.
**Q:** How might readers use the content and conclusions in your book in their everyday lives?
**A:** Storytelling is a cornerstone of the human experience. Any narrative can be looked at with these new tools—even customer service interactions or bedtime stories. My book is a toolbox that gives new methodologies to interact with our narratives. Some, such as my work with clocks in chapter 14, are simple enough to be used in a high-school literature classroom, whereas others can be used in academic research to grant more quantitative qualities to the humanities. It allows scientists, mathematicians and engineers to use the tools that they are most comfortable with to interact with the arts on their own terms. My goal was to expand and bridge both sides of digital humanities, and I share the delight of those that get to cross that bridge.
**Q:** Your book draws upon a variety of fields. Tell us more about how mathematics, literature, digital humanities and the social sciences intersect in your work.
**A:** The book is located in an intersection of fields: computer science, artificial intelligence, psychology, sociology and philosophy. Narrative is an interdisciplinary and complicated matter which has touched on all these subjects—yes, even computer science. The technology that takes part in narrative is often ignored, especially in the humanities, but it’s always been there, whether as fire to tell stories around, paper to put writing on or printing machines to bring books to the masses.
Now that the technology of intelligent machines has become more intertwined with our lives and narratives in the age of big data, it is important to merge it with our narrative analysis. Subjective clocks are an example of this merging. They were inspired by psychology, taking into account the human experience of forgetting unimportant time spans and remembering critical moments in the narratives of our personal lives. Introduced to social networks, these subjective clocks have turned into an important tool to understanding humans and our social interactions.
**Q:** How are Mathematica and the Wolfram Language used in this book?
**A:** My research process relies heavily on Mathematica. I usually start with an idea or a research question and gather relevant data. In the case of my book, it was typically canonical plays and movie scripts. I then use Mathematica to process the data and, at the end, produce images that summarize the process. Using the images, I can verify the soundness of the process and discard illogical conjectures. When I have the final images, I write. That’s how the book was born.
All the algorithms and graphs in my book were coded using Mathematica, and the program has saved me much time in both my researching and writing processes. I have also used Mathematica when teaching from my book over these past three years. The students who study the book are introduced to Mathematica and enjoy using it in their work. Machine learning especially is loved by students, who have great fun when exploring it within the context of narrative.
**Q:** Tell us more about your career as a professor at Bar-Ilan University and how you became interested in writing about social networks.
**A:** I am dyslexic, but I have always loved stories. When I was a child, I had a dream of developing a machine that would write and read stories to me. I also had a passion for cinema, mathematics and books—even with my difficulties with them. When I went on a sabbatical later in life, I wanted to revisit those childhood dreams. I wanted to see if I could have machines understand stories. I started to play with the idea and saw that it was possible and not just science fiction.
My book is the result of that dream, made actionable by social networks and computer science. Dynamic social networks are the perfect model for the relationships found between characters in narratives and are discrete objects that computers can manipulate and understand. My current dream is that people, even those with reading difficulties, will use the tools from my book to teach and discuss literature, and that doing so will open a door for others to develop new ways to read and appreciate stories.
Enrique V?lchez Quesada, the author of* Matem?tica discreta con apoyo de software *(*Discrete Mathematics with Software Support*), is a full professor at the Computer Science School of the National University of Costa Rica (UNA). He possesses a bachelor’s degree in mathematics teaching from UNA and a master’s degree in educational technology and informatics from the UNA School of Informatics. V?lchez Quesada is an international lecturer at multiple conferences related to the fields of educational mathematics, educational computing and applied mathematics.
His book *Matem?tica discreta con apoyo de software *addresses essential content related to discrete mathematics through classical theory, the development of examples and the didactic application of the free-use package VilCretas. Created by the author, VilCretas adds over 230 commands to the Wolfram Language and allows students to interact with mathematical objects, favoring classroom processes based on experimentation and analysis.
We had the opportunity to talk with V?lchez Quesada about his experience with the Wolfram Language, his latest book, the VilCretas package and his pedagogical philosophy.
**Q:** How did you first encounter Mathematica and the Wolfram Language?
**A:** I began using Wolfram technologies as a mathematics education student at UNA about 25 years ago. In principle, my use of it had a mainly technical focus, learning to use basic commands with certain applications in an educational context. After that, as a professor at different universities in Costa Rica, such as the Technological Institute of Costa Rica (ITCR), the University of Costa Rica and UNA, at which I am a tenured professor. I have been doing different teaching innovation processes using Mathematica in basic mathematics, calculus, linear algebra, statistics and discrete mathematics courses. These projects, after many years of development and various extensions, have had a direct impact on the improvement of academic work inside and outside UNA, demonstrating the didactic quality of the Wolfram Language in multiple content areas.
**Q:** Tell us more about your development process with VilCretas.
**A:** In the course EIF–203 Discrete Structures for Computer Science, a subject that is part of the study plan of the information systems engineering program at UNA, there was development of a research project in teaching called “VilCretas: A Didactic Resource through the Use of Mathematica Software for the EIF–203 Course.” The main objectives of the project were to design a software package aimed at the Mathematica program that would serve as a didactic resource to teach in discrete mathematics courses and to analyze the strengths and weaknesses of a computer-assisted strategy implemented through the use of said package, with the intention of evaluating its teaching effectiveness.
The software package called VilCretas integrates 233 functions oriented to didactic work in the context of the contents of the course and any other subject with similar properties. The development cycle of each of the commands included their design, programming, integration into the package, implementation and testing. VilCretas focuses on the following content areas: recursion, recurrence relationships, algorithm analysis, binary relationships, graph theory, tree theory, machines and finite-state automata, and languages and grammars. Its effectiveness from an educational point of view was verified through a case study.
For more information, you can consult “ Estudio de caso: Estrategia de ense?anza y aprendizaje asistida por computadora para un curso de matem?tica discreta a trav?s del uso del paquete VilCretas en el software Wolfram Mathematica.”
**Q:** How do the new commands from VilCretas aid and enhance Mathematica?
**A:** VilCretas is a library that adds 233 functions to Mathematica and enhances the software in the following aspects. The commands of the VilCretas package transform arid themes into possibilities for visualization and conceptual manipulation through the generation of dynamic objects, where a student, through simple slides or changing values in text fields, can visually experience the meaning of definitions, properties and theorems in different thematic axes of finite mathematics.
It also provides user-friendly commands without requiring in-depth knowledge of the Wolfram Language. This aspect is very important because usually in mathematics courses at the university level, the task of addressing the theoretical-practical content and simultaneously teaching the student population to program in the language of interest becomes very complex. VilCretas provides instructions that facilitate the generation of objects with real magnitudes through the use of geographic data already integrated within the features of Mathematica.
It is a package designed for educational purposes, so it provides the student with self-learning tools. By simply invoking certain commands, students can automatically receive step-by-step the detail of the execution of certain classic discrete mathematics algorithms, allowing them to review what they have previously solved with more traditional resources.
**Q:** What type of audience would benefit most from the content of your book?
**A:** This book is aimed at students and teachers of a generic course in discrete mathematics based on the use of software, recognizing in the use of educational technology a pedagogical mechanism that can contribute favorably to the achievement of more participatory and educational approaches and a more constructive nature by discovery.
**Q:** How do you envision this book being used in the classroom?
**A:** This book highlights the objective of creating a mathematics education centered on an innovative pedagogical design, through which teaching is oriented towards learning processes of a heuristic nature, stimulating the visualization, manipulation and autonomous construction of discrete mathematical knowledge. The effort made in this work is a reflection of a search for methodological change in an area of knowledge that is difficult to understand, responsibly assuming the substantial challenge caused by the uncertainty of a pioneering didactic transformation.
**Q:** How does your book contribute to the literature on discrete mathematics?
**A:** This book provides its readers with a nontraditional vision of discrete mathematics. It is focused on exploring new teaching and learning opportunities where the active participation of the student in the classroom laboratory is highlighted: valuing, investigating and arguing, all circumscribed within the framework of a pedagogical practice where educational technology occupies a preponderant place. After many years of classroom experience, I provide in this book a disruptive exposition by incorporating a propitious combination between classical theory, the development of a relevant number of examples and the use of software as a fundamental didactic resource.
**Q:** Tell us more about the relationship between VilCretas and discrete mathematics.
**A:** VilCretas adds commands for specialized use in the area of discrete mathematics, specifically on the topics of recursion, recurrence relations, algorithm analysis, binary relations, graph theory, tree theory, machines and finite-state automata, and languages and grammars. In this sense, the VilCretas package offers the student different tools for conceptual and procedural exploration, giving the possibility of interacting with mathematical objects and favoring classroom processes based on experimentation and analysis under the premise of a guided didactic treatment that will lead to self-learning.
**Q:** Tell us more about your career as a professor at UNA and how you became interested in writing about discrete mathematics.
**A:** I am an academic with the category of full professor at the Computer Science School of UNA, teaching the courses of Discrete Structures, Fundamentals of Computer Science and Operations Research. I serve as both a teacher and coordinator. I am a researcher associated with different activities and projects related to the development of software and computerized educational materials. I have been a professor at the Computer Science School of UNA since October 2007. I have been the coordinator of the discrete mathematics chair at UNA for more than 10 years, which is why I have been interested in writing about these topics.
In addition to these two books, here are five more recent books that utilize the Wolfram Language. Click the links to visit websites to purchase them.
In this book, authors Enrique V?lchez Quesada and Juan F?lix ?vila Herrera present essential mathematical content for engineering students. Topics include propositional logic, set theory, theory of functions, induction and sequences, and number theory. The authors have incorporated both classical mathematical theory and detailed explanations with examples distributed throughout the book. Teachers and students will also find valuable multimedia resources developed by the authors to enhance the teaching and learning processes. These include 654 examples of code that invite the reader to view different videos with theoretical-practical explanations and around 130 Computable Document Format (CDF) files, developed by the authors, that provide tools for conceptual and algorithmic exploration. Readers are offered a new view of instrumental mathematics in engineering by combining a traditional approach with a computer-assisted one.
Author Victor S. Frost provides a unique pedagogical approach to teaching the fundamentals of communication systems by using interactive graphics and inline questions. As noted by the University of Kansas Libraries, this open-access book begins by describing the transformation of bits into digital baseband waveforms. Other topics discussed include binary phase-shift keying (BPSK), quadrature phase-shift keying (QPSK), M-ary quadrature amplitude modulation (M-QAM), M-ary phase-shift keying (MPSK), the basic theory of orthogonal frequency-division multiplexing (OFDM), traditional analog modulation systems and systems tradeoffs, including link budgets.
The topics covered build upon each other and culminate with an introduction to the implementation of OFDM transmitters and receivers, used in WiFi, 4G and 5G communication systems. Students are given interactive graphics and inline review questions that allow them to engage with communication systems concepts and rapidly examine system tradeoffs and design alternatives.
According to Springer, origami is treated in this book as a set of basic geometrical objects that are represented and manipulated symbolically and graphically by computers. Author Tetsuo Ida focuses on how classical and modern geometrical problems are solved by means of origami, explaining the methods with both mathematical rigor and an appeal to our scientific intuition, combining mathematical formulas and graphical images to do so.
In turn, the book discusses the verification of origami using computer software and symbolic computation tools. Eos, the binary code for the origami software created by the author, is provided with the book.
Author Michael Frame is an award-winning professor who has endeavored to introduce essential concepts of calculus and mathematical modeling to students in the biosciences. As described by Yale University Press, this book explores essential concepts of calculus in the context of biological systems. Frame covers necessary ideas and theories of basic calculus and probability while providing examples of how they apply to subjects like chemotherapy and tumor growth, chemical diffusion, allometric scaling, predator-prey relations and nerve impulses. Based on the author’s calculus class at Yale University, the book makes calculus concepts more relatable for science majors and pre-med students.
Springer, the book’s publisher, describes it as intended for graduate students and experts in various fields, such as mathematics, civil and electrical engineering, agriculture and social sciences, that use cluster analysis methods and applications.
Topics covered include representatives, data clustering, searching for optimal partitions, indexes, and fuzzy clustering problems. This book is suitable for an introductory course on cluster analysis or data mining. Each chapter also includes exercises of varying complexity —from simple ones to those suitable for seminar presentations.
If you’re interested in finding more books that use the Wolfram Language, check out the full collection at Wolfram Books. If you’re working on a book about Mathematica or the Wolfram Language, contact us to find out more about our options for author support and to have your book featured in an upcoming blog post!
| ↑ |
5. **Census Data Explorations at the Wolfram Data Science Boot Camp**Пт, 24 сен[−]Категория^{(?)} Автор^{(?)} I recently finished the two-week Wolfram Data Science Boot Camp, and I learned a great deal about how to take a project from an initial question to a cohesive and visual answer. As we learned, the multiparadigm data science approach has multiple steps:
I wanted to take some of what I learned at camp to show how we can get through the wrangling and exploring steps by using the Wolfram Language Entity framework for relational data. I decided to try my hand at a very large dataset and started at the Wolfram Data Repository. I found a dataset with a whopping 72,818 entities: the Census Tract Entity Store.
We can programmatically pull the description of this data:
#10005
The US is divided into small “tracts,” each of which has a ton of data. This dataset allows us to register an entity store that sets up a relational database we can query to extract data. Lucky for me, we had a fantastic lesson on relational databases from Leonid Shifrin early in the camp; otherwise, this would have been very difficult for me.
Registering this entity store is extremely simple:
#10005
Entities are an extremely powerful framework for accessing data without ever having to leave the Wolfram Language. For example, we can easily get the population of France:
#10005
In the same way this code uses an entity of the class "Country", we now have entities of the class "CensusTract" (as returned by our EntityRegister line) that contain all of our data. Looking at a whole class of entities can be daunting, especially when there are over 72,000 individual entities. I’ve learned to start by randomly pulling a single one:
#10005
The entity’s label immediately tells us which county and state the entity belongs to. We can graph the exact outline of this census tract using Polygon :
#10005
We see that the region is much smaller than the whole county and even smaller than a single city. Showing the two in a single GeoListPlot gives us an idea of how granular these census tracts are:
#10005
It’s no surprise census tracts are so small, given that there are over 72,000 of them in the US:
#10005
Explore
Let’s try our hand at creating some visualizations from the data by starting with something simple like population.
I want to plot the population density of Connecticut, my home state. This involves finding the property that returns the population of a census tract. This can be difficult when there are so many properties:
#10005
Luckily, properties are generally named intuitively. Using the random entity we chose earlier, we can easily get the population:
#10005
If we needed to search for a property, we could put all properties into a Dataset so we can visualize them. In our case, the "Population" property is near the bottom of the list:
#10005
Now we know how to get the population of a tract. The next question is: how do we filter for those only in the state of Connecticut? My first attempt was to find all entities inside of Connecticut by using GeoWithinQ :
#10005
This creates an implicit class of entities, filtered such that they’re all inside of Connecticut. The EntityClass we created is returned unevaluated because we haven’t asked it to compute anything yet. If we used EntityList to list all entities in Connecticut this way, it would need to run the GeoWithinQ function on all 72,000 entities, which would take quite some time. Instead, let’s look at one of the example pieces of code conveniently provided in the Data Repository that plots census tracts in Cook County, Illinois:
#10005
This shows us a much better way to filter by location. This example finds all tracts within a given county by using one of the properties, "ADM2", which represents county data. In particular, we see that there’s also an "ADM1" property that represents the state:
#10005
For our random entity, which was in West Virginia, we see:
#10005
By looking through the example uses of our data, we’ve found a much better way to get all tracts in a single state. We can create a class of all entities inside Connecticut and also require that their populations be positive, so we get all populated regions:
#10005
Next, we find the population density of each tract by creating a new EntityFunction that divides the population into the land area. Throwing this inside an EntityValue call, we can create an association of all entities and their population densities:
#10005
Let’s look at five random entries to ensure our data is in the format we want: CensusTract entities pointing to their population density:
#10005
Looks good! Let’s plot the population density of each of those locations, using GeoRegionValuePlot :
#10005
Looks like we’ve got some hotspots of high population density—presumably those are the major cities, but we don’t want to take anything for granted. Let’s verify by finding the most populous cities in Connecticut by using the built-in " City " entities and creating a SortedEntityClass , ordered by descending population:
#10005
Now that we have those, we can overlay labels onto the plot of population density:
#10005
Good—it looks like the locations of the big cities line up with the higher population density centers we found from our dataset. This was a worthwhile exercise in making sure that our data represents what we think it does and that we know how to manipulate it to create visualizations.
Polygons
One of the features that stands out to me about the visualization we just created is that it very accurately follows Connecticut’s shoreline. In fact, one of the big advantages of this dataset is that it has really accurate Polygon data. If we look at the polygons for all cities in Connecticut, we see that most don’t yet have this data:
#10005
If we zoom in on one of the cities on the coastline, we see that we can get a much more accurate representation of the coast from the Census dataset. First, we need to collect all of the tracts in a coastal city. This time, I am going to use GeoWithinQ because I couldn’t find smaller census designations than county, and for a small city in a small state, it’s not terribly inefficient:
#10005
Then we can compare these polygons to the Stamford polygon, which extends into the Long Island Sound:
#10005
There are reasons why it s important to have a polygon of the city that extends into the coastal waters it owns, but for someone interested in the shoreline, the "CensusTract" polygons have a much finer grain. Finding the best dataset for your project is critical.
Remember earlier where I restricted my EntityClass for Connecticut to only include tracts with a population greater than one? That’s because in my exploration of the data, I found a couple locations with zero population. My favorite in Connecticut was this gem:
#10005
It’s a nice Polygon wrapping the Bradley International Airport. According to US Census Bureau data, no one lives there. I wonder what else someone could learn about airports by using this dataset?
Explore
We have thousands of properties from which we can grab data. Trying to narrow this down can be exceedingly difficult, which is where EntityPropertyClass can come in handy. Arranging all of the property classes of our data into one Dataset can help us visualize them:
#10005
The great thing about arranging data like this is that you can scroll through and pick what you want to know more about, then create your own custom visualizations around that data. For me, the vehicles data caught my eye. Let s see if we can use to find the average number of cars per household.
An EntityPropertyClass contains more than one EntityProperty , and a clear way I’ve found to visualize these is by using the handy Information function:
#10005
This gives us a list of the properties inside of that class—there’re 30!—and from there I found the ones that help us answer our question:
#10005
These tell us the total number of households with a given number of vehicles. For example, using our randomly selected entity from earlier, we can create an association with keys consisting of the number of cars and values consisting of the number of households:
#10005
I’ve created an IndependentUnit named cars that will help us keep track of our data and eventually label our plots. The total number of households is also one of the properties, so let’s confirm that the sum of all households equals this value:
#10005
Let’s go ahead and create an EntityClass that represents all census tracts in Connecticut with households:
#10005
We can create an EntityFunction that calculates the mean number of cars per household in a given census tract, using WeightedData to weight the number of cars by the number of households:
#10005
Then getting the value of this function for each entity gives us the average number of cars for all census tracts in Connecticut. This calculation pulls a lot of data from the census API, so I have iconized the result for convenience:
#10005
Let’s just make sure the data is in the format we want, which I always do before attempting to use new data:
#10005
We can see that the average number of cars is stored as an infinite-precision rational number, which is great, but that means we really need a better way to visualize the data than just looking at it. Let’s try a Histogram , which will tell us how many tracts have a given mean number of cars:
#10005
Now it’s clear that the most likely average number of cars per household in Connecticut is just shy of 2. We can go a little bit further and try to approximate the probability distribution that the data follows:
#10005
I personally had never heard of a WeibullDistribution , but I was able to learn from its documentation page and use it like any symbolic distribution in the Wolfram Language. For example, we can plot its probability distribution function (PDF) over the histogram, making sure to normalize the histogram by using the "PDF" bin height:
#10005
Then finally, let’s try to visualize the average number of cars on a map like we did for population density. We’ll use ColorFunctionBinning to specify how colors are chosen, so that the difference between few and many cars stands out:
#10005
This time, it looks like most of the state has an average of around two cars per household, with some spots where the number of cars is much lower. To look closer at these spots, let’s use GeoContourPlot , which will naturally circle either valleys with a locally low number of cars or peaks with a locally high number of cars. Putting the labels back on the largest cities like we did before, we notice that the cities tend to have fewer average cars per household than the surrounding regions:
#10005
Now that we understand the use of this data for a single state, we can visualize the data for the full country, which I have iconized for convenience:
#10005
We are now able to visualize car ownership per household across the continental US:
#10005
I also found it interesting to see how rare it is for a family to own a car in northern Alaska:
#10005
Everything I’ve done in this blog has just barely scratched the surface of what is possible with this massive dataset and the entity framework of the Wolfram Language. I hope that the data-wrangling techniques that I learned at the Boot Camp and demonstrated here spark your interest to dive into new data projects of your own. The Wolfram Data Science Boot Camp is an intense and guided two-week experience, but you can learn at your own pace and even earn Multiparadigm Data Science Certification with the Wolfram U interactive course.
I also invite you to use my work as a jumping-off point for your own explorations of this data, and post what you learn at Wolfram Community. To see some video content that aims to make computation and data science less daunting, check out my livecoding series with Zach Shelton, especially our recent video about the Wolfram Data Repository.
Get recognized for your computational achievements with Wolfram Certifications.
Engage with the code in this post by downloading the Wolfram Notebook
? | ↑ |
6. **Analyzing Episode Data for The Office Series with the Wolfram Language**Пт, 17 сен[−]Категория^{(?)} Автор^{(?)}
In May 2021, “All 185 Episodes of *The Office*, Ranked” dropped on Mashable. In this article, author Tim Marcin distilled a year of research in which he watched every episode of the beloved NBC sitcom *The Office*, rating each one in four categories. It’s a great article that adds commentary and quotes to the rankings.
The quantitative side, however, was limited to the overall episode ranking, and more could be done with it. Which episode was best for laughs? How did the episodes vary over the course of a season? Which season is the best? ( According to Kevin, while every season thinks it’s the best, nothing beats the cookie season.) So here, I endeavor to present that additional analysis.
## Importing and Creating the Dataset
Before we can do anything else, we must get the data. For a quick start, load it from here:
If you’re more interested in using the dataset, skip to the section Using the Dataset to Answer Questions. But for people curious to see how the dataset was created, I’ll walk through those steps here.
### Create the Dataset from the Web
Before we get into the details, please note that a webpage can change at any time, and when that happens, the code that extracts data from it may break. Even if this code no longer works with this specific page, however, the techniques still apply.
First, point to the article:
### Category Weights
The Wolfram Language can ` Import` from URLs. First, I tried importing it as `"FullData"` that tries to identify tables and other data. It turned out that this gave me the category weights, which was a good start:
Where does the interesting data start? If you look at it closely, there’s a lot of stuff. Find a phrase to search for and ask what its position is within the expression:
Looking at the data, we need to get the element two levels out from where `"Laughs"` appears, so we’ll drop them to get the position of the core part:
The following code pulls that data out into a list of associations. I’ll skip over the details of how I got there, but there are some things to note in this code:
- It uses the
` Postfix` operator (`expr//f`) that starts with an input and lets you build a series of data transformations, much like the Unix shell pipe operator.
- The whole thing is wrapped in
` Short``[..., 5]` so the output shows an abbreviated view of the data as a whole. This lets you look at the output without filling your notebook, but the data is still there in the kernel.
- Note the
`"Laughs:"| "Laughs :"` pattern. The article was consistent throughout 184 episodes, but the final one, #1, had a space before the colon; it took me a little hunting to figure this out, but that’s what happens with a real-world data source.
Here’s how we’ll get the category scores for each episode:
This is not enough to answer our questions because we’re missing key identifying information: titles, seasons and episode numbers.
### Episode Titles and Numbers
To get episode information, we have to import the plain text of the page:
We’re looking for fragments like this:
185. Season 8, Episode 8 ‐ “Gettysburg”
We can use the ` StringCases` function to extract those with string patterns:
Of course, extracting the data was a little more difficult than just running the previous code. Real-world data is always messy, and it’s no different here. See if you can spot the problems once I put them next to each other:
185. Season 8, Episode 8 ‐ “Gettysburg”
86. Season 6 , Episode 13 ‐ “Secret Santa”
12. Season 6 ‐ Episodes 4 & 5‐ “Niagara Parts 1 & 2”
The page itself changed to fix one of the inconsistencies since I first started working on it, but you can see a number of subtle differences: a space before a comma, a missing space before a dash and, of course, the double-episode format Episodes [plural]- “x & y”.
So, spot-checking data to see if it looks sensible is always key:
### Combining the Data into a Single Dataset
Now that we have two structures—the episode category weights (`episodeCategoryData`) and their identifying info (`episodeID`)—we need to combine them:
This dataset now holds everything quantifiable in the article, sorted in descending order by rank as it appears there. Before doing anything else, I’ll save a copy in the cloud:
## Using the Dataset to Answer Questions
This is where the fun starts: what more can we pull out of this data?
### Baseline
Let’s see how our data is formatted by pulling 10 entries at random:
Before we get to the really fun stuff, however, it’s helpful to calibrate our expectations based on what the overall data looks like. This will help later when interpreting the results.
What are the highest and lowest scores?
What is the average episode score?
What’s the median episode score?
How are the scores distributed?
What percentages out of the total possible are the min, max and median?
So episode scores range from 23.55 to 37.25, out of a possible 0–40. They average 29.19, with the median at 29.01.
The percentages are reminiscent of a school grading scale: some episodes may get a failing grade (sometimes considered as anything below 65%), some get an A (over 90%) and the median is a C (in the 70% range). These are just arbitrary categorizations, but they can be handy for roughly understanding the stratification of episode scores.
Within each category, let’s check the min-max ranges:
This is a good point to stop and consider the categories themselves. The “Laughs” category is obviously essential for a comedy. The “Importance to Office Universe” may be the weakest category, but it is still interesting. Episodes in older sitcoms tend to be independent, with minimal character development and limited story arcs across a season, but modern viewers want to see life events and major developments that cut into the show’s environment (i.e. will Dunder Mifflin downsize the branch?). “Memorability, Quotability” seems related; I think of it as a kind of “overall story impact” combined with “Does this have gems that we now include in daily life?” “Emotional Weight” seems similar to “Importance to Office Universe,” but an episode may have importance without hitting you in the feels because it may be setting up those moments in a later episode. Plus, Marcin mentioned that he liked to reward episodes with big, emotional moments.
### How Do the Seasons Rank?
In order to rank the seasons, we need a dataset for each one. You could also keep the original dataset and just select out each season, but this was my preference.
Create a list of datasets, one per season, sorted by episode number:
Ranking the seasons presents a challenge because each season aired a different number of episodes, so simply totaling season scores is meaningless. We can rank them by either average score or median score:
Seasons ranked by mean score:
In terms of interpreting the data, this is already interesting. I tend to believe that successful TV shows have a good first year—real clunkers get canceled before a second one—and improve in their second and third years, but after that, who knows?
With *The Office*, it’s well understood that the first season followed the British version more closely but improved immensely starting in the second season when Michael, played by Steve Carell, became both more sympathetic (less mean) and pathetic (you see his deep need for acceptance and belonging behind his actions). But why is season 7 so high? This is the season where Michael leaves the show. Even though I remember how bad things were in the Will Ferrell episodes, I suspect many of the final episodes with Michael scored high as they were both important to the *Office* universe and emotionally impactful.
Seasons ranked by median score:
Using the median, season 7, which I was just questioning why it was as high as third, shoots to the top. Here’s where the “What’s the difference between mean and median?” question is important. One thing you can do here is look at the histograms of episode scores for each season. It’s possible that season 7 does have a lot of really good episodes, and the Will Ferrell episodes were low-scoring outliers that brought the mean down. Seasons 2 and 3 are still there at the top, though, which suggests those seasons are consistent.
Let’s look at the histograms of total scores for each season:
Seasons ranked by mean score over time:
Seasons ranked by median score over time:
### Ranking the Episodes within a Category
Really, we want to know: what’s the funniest episode? Most impactful? Most memorable and quotable? Most important to the *Office* universe? To answer that, we must create separate datasets for each category.
First, we need a list of category names, which we can extract from the data itself:
It’s then straightforward to construct a dataset for each category:
Episodes sorted by “Laughs”:
What are the top 10 episodes in “Laughs”?
And out of morbid curiosity, which episodes are the least funny?
Episodes sorted by “Importance to Office Universe”:
Episodes sorted by “Memorability, Quotability”:
Episodes sorted by “Emotional Weight”:
How do the seasons rank across each category?
Let’s plot each category across all seasons:
The somewhat surprising trend here is laughs generally decrease after the improvement from season 1 to 2.
Finally, let’s plot episode ratings across each season:
The main thing to note here is that a season’s opening and finale are expected to be strong, and we see a lot of that, along with some strong, mid-season Christmas episodes. But other than that, it’s a random roller coaster.
## Results Summary
In this post, we’ve performed additional analysis on Tim Marcin’s episode category data for *The Office*. Here’s an overview of the results:
- Individual episodes are scored on a scale of 0–40, and they range from 23.55 to 37.25, with a median of 29.01 and an average of 29.19.
- Ratings in the “Laughs” category ranged from 5.77 to 10.
- Ratings in the “Importance to Office Universe” category ranged from 5.01 to 9.55.
- Ratings in the “Memorability, Quotability” category ranged from 5.01 to 9.88.
- Ratings in the “Emotional Weight” category ranged from 5.05 to 10.
- When ranking the seasons by median episode score, season 7 was the best (31.235) and was followed by season 3 (30.31), season 2 (29.62) and then seasons 5, 1, 9, 4 and 8; season 6 (26.635) was ranked the lowest.
- When ranking the best seasons for each category, season 2 was best for “Laughs” and “Importance to Office Universe,” season 3 was best in “Memorability, Quotability” and season 7 was best for “Emotional Weight.”
- When ranking the worst seasons in each category, season 9 was last in “Laughs,” season 6 was last for “Importance,” seasons 6 and 8 were essentially tied for last in “Memorability, Quotability” and season 1 was last in “Emotional Weight.”
- The top episode in “Laughs” was “Dinner Party” (S4E9).
- The top episode in “Importance to Office Universe” was “Garage Sale” (S7E19).
- The top episode in “Memorability, Quotability” was “Dinner Party” (S4E9).
- The top episode in “Emotional Weight”—no surprise!—was “Finale” (S9E23).
- When plotting episode scores across a season, there is a general pattern that the season opener and finale are high-scoring.
In the end, many of these results give me insights, but some I disagree with. It’s important to remember, however, all this is just how Tim Marcin views *The Office*, but I hope my examination here is useful for both exploring a dataset and starting some friendly arguments the next chance you get.
| ↑ |
7. **How to Make an xkcd Comic with a Tiny Tweetable Algorithm Discover Fun Facts about Namesake Cities**Пт, 10 сен[−]Категория^{(?)} Автор^{(?)} Did you know there are no beaches in Miami? “No, The Other One”: Miami, Arizona, a classic Western copper boomtown 80 miles east of Phoenix but obviously not the Phoenix in Oregon.
The quotation marks indicate the title of this recent Randall Munroe xkcd comic with many well-known United States city names found in unexpected locations—often more than once!—thanks to lesser-known places homonymous with their more famous counterparts. Munroe is an exceptional artist who can pack scientific storytelling into the frame of a comic. Can we make an algorithm do the same?
Place names are not unique. Most people will not confuse Portland, Maine—about four hundred years old and named after the Isle of Portland in the English Channel—with Portland, Oregon, named after the one in Maine but 10 times more populous. But due to the many other Portlands in both the US and the world, confusion is understandable.
A popular search engine question is “Can a US state have two cities with the same name?” The answer is yes, and sometimes even more than two. For instance, there are two Portlands in Wisconsin, one in Monroe County and the other in Dodge County, with a two-hour drive between them. In fact, Wisconsin has the most namesake cities in the US (see later discussion). Please note that the definition of what counts as a “city” can differ between data frameworks, and here we will follow the Wolfram Knowledgebase standards.
Let’s begin with a simple question: how did Randall Munroe make his map? It felt like a data story to me, and I wanted to reproduce his map right away, but in a completely automated way built by an algorithm. Here is my tentative version:
It’s definitely not as complete and beautiful as the original xkcd comic, but it’s a start. I invite you to click and zoom in on the maps in this post and explore them carefully to see if any cities and their locations get you curious enough to check them out.
Miami, Arizona, caught my eye because of it being completely landlocked, in contrast to Miami, Florida. Learning its motto, “One mile long, 100 years of history,” and about that history and some residents, such as the celebrated Western film actor Jack Elam, made my day.
I got hooked on namesake cities when my friend and colleague Carlo Barbieri sent me some tweet-size Wolfram Language code partly reproducing the xkcd comic. Here is the code fed into the bot of the Tweet-a-Program project. The project allows anyone to tweet ideas in the form of short programs that are executed automatically. The results are then tweeted back, which is often quite entertaining:
(More info: https://t.co/HBUuaZOB3w) #wolframlang pic.twitter.com/f9vP2JvWrh
— Tweet-a-Program (@wolframtap) June 29, 2021
If you have a list of famous cities with several corresponding namesakes, Carlo’s program automatically finds and shows some of them on a map. The key here is the intelligent Interpreter function (with its AmbiguityFunction option) that, given a generic name string, can interpret it as a list of cities with that name.
To get closer to the original xkcd comic, I wanted many more cities, but listing those cities explicitly would exceed the standard tweet size limit of 280 characters. I needed, therefore, a way to find them programmatically. Instead of using Interpreter, I resorted to processing data directly, and also added a few styling options:
(More info: https://t.co/HBUuaZOB3w) #wolframlang pic.twitter.com/coqsaokcRK
— Tweet-a-Program (@wolframtap) July 15, 2021
This is not bad for just 195 characters of code that’s also quite readable. The obvious shortcomings are label collision and patchy nonuniform spatial distribution. To demonstrate an algorithm that can improve this map, I’ll need to move away from tweets and 280-character limits. For those interested in the so-called code golf aspect of it, however, I have a few notes for you at the end of this article.
The Entity framework provides access to the Wolfram Knowledgebase, one of the world’s largest and broadest repositories of curated data (it’s also used in Wolfram|Alpha). It’s straightforward to get the list of all cities constrained to a specific country, which is the US in our case:
#10005
The more complete and structured the data, the simpler the algorithm necessary for processing. So we start by getting all the necessary data characteristics:
#10005
For these 32,732 US cities, we have three columns of data. Let’s take a look at the first five cities. You’d be right to guess they are already sorted by population size. The second and third columns are unique city and state entities that can be used to extract different information about them, such as geolocation, area and crime rates:
#10005
The first column lists official city names, which are not unique and can be the same for multiple cities, such as “Portland” in Oregon, Maine, Wisconsin and so on. Here’s another factoid: just as different cities can share a single name, a single city can have different nicknames:
#10005
We need the first column to gather all cities with a specific name string. After dropping all name strings with just a single corresponding city, we are left with 4,110 ambiguous strings:
#10005
Corresponding to those strings, there are 15,923 distinct namesake cities:
#10005
We cannot plot thousands of cities with labels on a map that would fit a standard screen because it would be an unreadable mess (and obviously Randall Munroe does not do that, either). So which cities out of those thousands should we pick? This is where data visualization design comes into play. I suggest the following steps:
Pick the most recognizable city names so most people can relate to the map. This is easy, as our original city list is sorted by population, and most famous cities are at the beginning of the list or any sublist formed during data processing.
Replace each famous city with its namesake (or a few) in such a way that distribution of the cities over the map is as uniform as possible. This helps avoid label collision and produces an appealing, comprehensive map design.
A simple approach to a more uniform spatial city distribution is to pick some cities in each state. For this, I will group cities by state:
#10005
The syntax 2;; UpTo [3] means that in each group of homonymous cities, I skip the first one, typically the most populous and famous, and take the second and third largest, if available. (Sometimes there are just two namesakes.) Considering only the second- and third-largest namesakes reduces the original total number of such cities from 15,923 to 6,240:
#10005
This is still too many cities to show on the map. I can reduce this number further by picking only, for example, two cities per each of the 50 states for a total of 100 cities, which is quite reasonable for a good map layout. But states vary highly by area, from tiny ones such as Rhode Island to Alaska and Texas, which are larger than Ukraine, the largest country within continental Europe (not considering transcontinental Russia, the largest country on Earth, but with 77% of its area in Asia, not Europe):
#10005
For small Rhode Island, two city labels are too many, while for Texas, two are too few. A simple function can help to define how many cities to pick per state depending on its area:
#10005
I will not go over three labels per state, but this function is quite arbitrary, and readers are welcome to experiment to find better map layouts. Here is my final list of 97 namesake cities for the map:
#10005
The next line with a few specific style and layout options will generate the second image in this blog post, my final take on the xkcd idea:
#10005
This is different from the xkcd map, first of all due to the choice of cities. My particular algorithmic sampling of cities led to a different map from the one produced with Randall Munroe’s data and design. I do enjoy the fact that some cities, such as Miami and Phoenix, pop up a few times like they do in the xkcd map. I am satisfied with the layout, but one could do better, and the addition of Hawaii and Alaska would be nice. I invite readers to experiment and share their ideas and results in the comments below, or post their code on Wolfram Community.
Working with namesake cities taught me a few curious facts. It is surprising, for example, how many places in the US have the same name:
#10005
For some of the namesakes, we can see the rationale for multiple uses, such as US presidents or popular notions such as “Union” or “Portland” (“land surrounding a harbor” from the Old English portlanda):
#10005
The name “Franklin” is so popular it looks like an outlier. Perhaps in some cases it relates to Benjamin Franklin or even Franklin Roosevelt? A fun way to visualize the data diversity is a WordCloud of the four hundred most popular names scaled by the number of cities per name:
#10005
Another interesting question is: where are most of the namesake cities located? To get an idea, I need a helper function that takes an “ambiguous” name string and “interprets” it as a set of entities for all possible cities with such a name:
#10005
This structure was already used in the code that my colleague Carlo sent me for the first tweet earlier in this article. Let’s also plot the locations of the six most popular names and scale the markers by city population size:
#10005
Even with the naked eye, you can see significant concentrations in Wisconsin. The same might be true for many other less popular names and namesakes that we did not plot. Can we prove that assumption? Easily. Count the number of namesakes per state:
#10005
Wisconsin strongly leads with over a thousand namesakes, followed by New York and Illinois:
#10005
The same data can be depicted geographically to provide a better sense of the spatial distribution of namesakes:
#10005
But why Wisconsin? One can guess that the number of namesake cities in a state is proportional to the total number of cities in the state. If Wisconsin has more cities than other states, it should also have more namesakes. And indeed, we can confirm this assumption by merging the data for total city and namesake numbers per state and looking at the scatter plot. Sure enough, Wisconsin leads in both datasets:
#10005
As promised, before I conclude, here are a few thoughts on tweetable and compact code. It is generally quite hard to fit a computer program into a tweet (280 characters), assuming it does something interesting. There is a large, competitive programming scene called code golf where the goal is to compress an algorithm into its shortest form. This idea also relates to Kolmogorov complexity. Moreover, all-new programming languages were invented just for the competition, emphasizing concise expressibility of code.
The Wolfram Language is highly expressive and compact, which can be seen, for instance, in how it is favored over other languages in the Rosetta Code project. We also run our own One-Liner Competition and people often compete with the Wolfram Language on the Code Golf Stack Exchange. As you saw earlier in this post, we even launched the Tweet-a-Program project to encourage the programming community to actually tweet in code with an automated twitter-bot executing that code.
Code golfing is also a type of puzzle that trains the mind to find alternative and often unconventional solutions. But code compactness is not everything, as it can sacrifice clarity and performance. It is aesthetically rewarding to find the balance among code compactness, clarity and performance. No matter which of these qualities attracts you more, I invite you to post your own versions of the xkcd map on Wolfram Community, general- or code golf–style, and link to your work in the comments below. As usual, interesting ideas will be added to our Staff Picks editorial group.
And finally, here’s an Easter egg for you: If you mouse over anywhere on the “No, The Other One” xkcd comic on its original page, it pops up with the text “Key West, Virginia is not to be confused with Key, West Virginia.” The slight comma shift in the names corresponds to the two-and-a-half-hour drive between the cities, and neither place should be confused with the iconic destination and southernmost city in the contiguous US, Key West, Florida.
Visit Wolfram Community or the Wolfram Function Repository to embark on your own computational adventures!
Engage with the code in this post by downloading the Wolfram Notebook
? | ↑ |
8. **New Wolfram U Course Explores Data Visualization**Ср, 01 сен[−]Категория^{(?)} Автор^{(?)}
Go to Free Course
After a few months of brainstorming ideas, developing notebooks and scripts and refining videos through several rounds of editing and refilming, we are pleased to announce that the Visual Explorations in Data Science massive open online course (MOOC) is now available.
The two guiding principles of this course are visualization and an example-driven approach. We employ a hands-on methodology for teaching data science with examples that slowly introduce various technical features, all of which are supplemented with an emphasis on visualization. The course consists of a dozen case studies spanning geography to engineering and analyzing flag similarity to periodic trends.
Another point stressed in the course is that data is literally everywhere. That’s why its topics include a wide range of fields, including society and culture, engineering, weather, physical science, geography and geology, and last but not least, finance and money. In this post, we’ll explore just a few examples that introduce the course’s style and unique approach.
## Which Languages Have the Longest Words?
As with any data science challenge, the first step—and usually the biggest headache—is finding clean and (if you’re lucky) curated data. To answer the question of which languages have the longest words, we’ll begin with a list of words across languages. And, as we emphasize repeatedly in the course, a characteristic trait of the Wolfram Language is its ready access to the vast Wolfram database of knowledge about the world.
In this case, you can use the built-in function ` WordList` to extract clean, organized data. Before we do that to solve this problem, however, let’s take a peek into the distribution of word length across languages:
The next step is to build probability distributions based on these histograms. A cursory glance of the English histogram shows there are very few words over 15 letters. So, let’s set the threshold for a “very long” word at 15:
A few languages have a large percentage of really long words: Germanic languages (including German, Danish, Faroese and Swedish) and Uralic languages (such as Finnish and Hungarian) are the longest; Romance languages (like Spanish, French and Italian) are medium length; and Semitic languages (like Arabic and Hebrew) are the shortest. If you crunch the numbers, it turns out you’re hundreds of times more likely to encounter a very long word in German or Finnish than Hebrew or Arabic.
Through interesting examples like this one, we hope to offer a unique look into how data science can be used in different scenarios and show that it is very much a practical science. Throughout all course videos, we encourage curiosity, even asking students to do their own side explorations and suggesting some possible questions to investigate.
Now let’s explore a totally different concept that demands a completely different type of data.
## Which US City Is the Windiest?
Sure, everyone says it’s Chicago. But we set out to find the true windiest city using 2019 weather data, and what we found was shocking! From the get-go, visualizing the wind speed distribution of big cities like Chicago showed it’s not the windiest city.
You can generate the following insightful visualization with only a few lines of Wolfram Language code. Here we obtain the wind data of the largest US cities throughout 2019 and visualize the wind speed distribution of each city in a box-whisker chart:
After more analysis, it was evident San Francisco is much windier than Chicago—at least in 2019. Perhaps we should name San Francisco the new Windy City!
## Which Isotopes Are Stable?
This last example is much more technical. The course video Exploring the Stability of Isotopes uses a wide variety of visualizations to demonstrate isotope stability and the trends behind it.
One example is the popular illustration of the “belt” or “band” of stability, a region in the plot of atomic versus neutron numbers that harbors particularly stable isotopes:
As you can see, a few lines of code produce a clean visualization.
From technical scientific inquiries like this one to interesting cultural-reference explorations, the course’s content was deliberately designed to cater to all different tastes and interests and to also show the versatility of data science.
In the spirit of this blog post, we encourage you to use the Wolfram Language to investigate something you’re curious about. The Wolfram Language has built-in knowledge that spans everything from countries and celebrities to Pok?mon characters. Who knows what new insights you may develop? Go out there and explore the world’s data! If you’re in need of a guide for doing this, we encourage you to take Visual Explorations in Data Science and learn valuable skills for your next data adventure.
Finally, creating this course would not have been possible without many subject matter experts and great teamwork across different groups at Wolfram. We’d like to thank Michael Trott for his insights into possible examples, the Wolfram U team for their nonstop support and the video team for their technical feedback.
Check out Wolfram U for a wealth of free interactive courses, video courses and special events. |
| ↑ |
9. **A New Way to Ask Wolfram|Alpha Questions with Math Input**Пт, 27 авг[−]Категория^{(?)} Автор^{(?)} We are excited to talk about a feature we released this summer that we call Math Input. We’ve had many requests to add this feature to the site, and after a lot of hard work from multiple teams, we’re ready to share it with you. Head over to Wolfram|Alpha to see it for yourself:
#10005
Clicking the Math Input tab brings up a new interface that, aside from the cool new color scheme, initially looks much the same:
#10005
As you begin typing your query, however, you’ll start to see this new feature in action. For example, try a simple input like “4^2” and it displays like this:
#10005
Or try a simple fraction such as “12/8”:
#10005
The input field now formats as you type, which is very helpful, especially for people using Wolfram|Alpha in the classroom, or while studying or doing homework. Most mathematics, especially in the US K–12 standard curriculum, is taught by using handwritten methods, and seeing this formatting as you type is extremely useful.
You can also combine these typesetting methods to create more complicated expressions:
#10005
As this is Wolfram|Alpha, you can still add instructional or “action” words to tell the website which operations you want to see:
#10005
In addition to the new formatting while typing, we’ve added a slew of new templates to help make entering your queries both quicker and more intuitive:
#10005
Each of these tabs has a different set of templates separated by topic or class. Selecting any of these inserts a template, and you can fill in the blanks, or “pads”:
#10005
You can then use the Tab key or arrow keys to navigate among the template slots:
#10005
You can even use templates inside other templates:
#10005
Or combine templates and words:
#10005
For our last example—a blend of all the things we’ve been talking about—let’s try a more complicated input. Using natural language input, you can enter “integrate (theta (sin(theta))^2)/ (2+2cos(theta)) d theta from theta= 0 to 2 pi”, but you must be sure to insert many parentheses to force the precedence you’re assuming.
The full Wolfram Language representation of this query is also not the cleanest or easiest thing to read through to check for errors in your input: Integrate [ Divide [?* Power [ Sin [?],2],2+2 Cos [?]],{?,0,2 ? }] .
With Math Input, this all looks much simpler:
#10005
Here you can easily see the function inside the integral operator, and you can see we made use of not just the templates but the symbols pane as well (specifically for and ). Under the surface, of course, this is still Wolfram|Alpha, so you produce the same result no matter what way you choose to enter your input: from additional related pods to button actions like More digits to everybody’s favorite, Step-by-step solution.
#10005
In summary, it is easier than ever to enter your queries into Wolfram|Alpha and to verify that what you’re typing matches what you see on your homework or in your textbook. As always, we still return an input pod at the top of the results, so check that to make sure that we’ve interpreted your input correctly. Please let us know when something unexpected happens.
Our Motivation
We’ve mentioned the use of notation in the classroom and want to expand upon this idea. While not often a place for creating new mathematical notation, classrooms are usually where young people first begin interacting with the concept. There are the standard inline notations that use symbols like “+” and “?”, but fairly quickly, the notation begins to break out of the standard linear form of written English.
For all the importance given to writing English in neat lines, math classes break from this mindset, introducing notation for ideas like fractions, exponents, square roots and eventually matrices, summation, derivatives, integrals and more. These notations have been developed throughout the history of mathematics to make use of the two-dimensional space on the page to communicate more compactly ideas that become awkward or clunky when written linearly. Rather than having to write out 2 divided by 3, we can simply write . Rather than writing sum 1/n^2 where n ranges from 1 to 50, we can write .
In the classroom, these notations can be a double-edged sword: they make compact what is otherwise verbose and unruly, while at the same time requiring students to learn exactly how to extract meaning from the notation. What exactly does the 3 mean in ? What does the number over the sigma mean in ?
For students able to pick up notations quickly, interpreting them becomes second nature, and they are able to translate effectively from the textual/logical meaning and the formatted object on the page. This is not a straightforward process for everyone, though, and can become a real hindrance to a student’s educational success in math classes.
The primary goal of Wolfram|Alpha is “making the world’s knowledge computable,” and part of that is accessibility. Sure, asking about the length of a particular bridge or age of a favorite actor doesn’t require any special notation, but mathematical questions frequently do. One of the greatest challenges with Wolfram|Alpha has always been understanding what the user is really asking, and there’s only so much that can be done within the confines of linear, text-based input.
For a long time, Wolfram|Alpha has had the remarkable ability to interpret multiple ways of textually describing math. With the release of Math Input for Wolfram|Alpha, we have further expanded its toolbox and removed another barrier for students so they can input math queries in the form they like. While it is still an important skill to interpret and textually describe mathematical notation, students can now input math exactly the way it appears in their textbooks. This lowers the potential for translation error and completes the loop of 2D content in the Wolfram|Alpha ecosystem, where we have long had results that display not only formatted notation but also formatted algorithms in our step-by-step content for computing long division or even long multiplication.
Development Challenges
Wolfram|Alpha has always used a multistep process. First, it takes the user’s input and parses it into a piece of Wolfram Language code. That code is then used to determine which relevant data to retrieve or computations to perform and subsequently display to the user. This process has not fundamentally changed with Math Input, but we now are working with a head start over plain text inputs. Rather than working with just regular text, these templates give structure to inputs and allow us to parse each element individually and then piece them together.
That said, we are continually looking at inputs that users try so that we can do a better job with the parsing process, so if you notice anything not working as expected, please let us know.
Wolfram|Alpha Notebook Edition
The web isn’t the only place where you can experience Wolfram|Alpha. A companion project we’ve been working on for the last couple of years is Wolfram|Alpha Notebook Edition, the meeting point of Wolfram|Alpha and the Mathematica notebook environment. And we’re happy to say that Math Input has come to Wolfram|Alpha Notebook Edition too.
We’ve added a new toolbar at the top of notebooks in the latest Wolfram|Alpha Notebook Edition release:
#10005
The first icon here is a Demonstrations browser. This opens up an interactive browser to view any of the over 12,000 interactive Demonstrations from the Wolfram Demonstrations Project natively in your local notebook:
#10005
These Demonstrations are user-created, interactive modules that are great for showing off a topic in the classroom or workplace, or for hobbyist uses. This is a project that many people in and around Wolfram have contributed to, and we are excited for it to have a new platform in Wolfram|Alpha Notebook Edition.
The next icon is the Starting Points browser. Here you will find the Wolfram|Alpha Notebook Edition version of the Wolfram|Alpha examples pages, but like the notebook edition itself, these examples were curated and created to show off the unique features that can only be found in Wolfram|Alpha-Mode Notebooks. If you have ideas for other neat things you’d like to see in our featured sample notebooks, please let us know.
#10005
The third icon is something that we haven’t shown off publicly, and it refers to something we’re calling interactive plot quizzes (IPQs). These are a new kind of interactive function created over the last year specifically for use in Wolfram|Alpha Notebook Edition, though they’re available independently as resource functions in the Wolfram Function Repository. The goal of the IPQs is to formulate a framework and a set of problem types that create an interactive, quiz-like interface that promotes both exploration and conceptual understanding:
#10005
Each IPQ presents a user with a randomly generated problem and a plot. The user moves the indicators on the plot to see the plotted function update correspondingly while moving parts of it. There is then a Check answer button that will mark your solution correct (within a given tolerance), and sometimes give targeted feedback about what you should do to correct your answer. After submitting an answer, you can click Next problem to generate a new problem and start again.
There are optional graphical and interface settings so you can, for example, see a table of values that the function passes through or a live measure of the slope of a line. Finally, there is an option to print out a report of all the activity you’ve done, including attempted guesses.
We are excited to share IPQs for the first time and are eager to hear what you think. Plus, let us know what other kinds of subjects you’d like to see added to the interactive quizzes.
The fourth icon in the new header is an inline version of the same Math Input templates on the Wolfram|Alpha website. It mirrors the website functionality but still works within Wolfram|Alpha Notebook Edition to employ its unique strengths.
Let’s rebuild our complicated earlier example, but this time we’ll do it piece by piece:
#10005
Here we defined a and b, then entered our integrand and took the integral, inserting the referential word “that” in the integrand template slot. We again got the same result as on the website.
More Coming Soon
So that’s Math Input for Wolfram|Alpha. We hope you like it as much as we enjoyed working on it and that it’s helpful for the many people who already use Wolfram|Alpha as a tool in their math education toolboxes. Give it a try and let us know what you think. Wolfram|Alpha is still getting better—and smarter!—all the time, and the best way you can help is by submitting feedback when things don’t work the way you expect.
This is also only the beginning of new ways to interact with Wolfram|Alpha. Some ideas we are exploring—but aren’t quite ready yet to share—include extending these 2D templates to support queries in domains such as chemistry, physics, geometry and more. Plus, be on the lookout in the near future for more posts from Wolfram|Alpha team members about new content additions they ve been working on.
Get an instant automated tutor for your homework and more with Wolfram|Alpha Pro’s step-by-step solutions | ↑ |
Powered by
| |