When two scientists tried to recreate cauliflowers in a lab, they found themselves perplexed and mesmerized by the vegetable’s fractal structure.
In this lesson, you will learn about fractal geometry and some of the ways that it appears in nature. You will closely read the opening of the article to match vocabulary words with their context. Then you will have the opportunity to draw a fractal pattern or photograph geometry in your own life.
Warm-Up
Look at the image at the top of this article. Before going any further, answer these questions:
What do you notice about this image?
What do you wonder?
Do you see any patterns in this picture?
What do you think this is a picture of? Why?
The Reveal
This is a picture of a vegetable: the Romanesco cauliflower. This type of cauliflower provides an example of a naturally occurring fractal structure. Margaret Wertheim explains how to recognize fractals in the article “Many Hands Make Fractals Tactile”:
Fractals possess the strange property of “self-similarity.” Zoom in on any part of a fractal, and each small section will have the same richly complicated structure as the whole.
Revisit the image above with this concept in mind. What patterns do you see? Zoom in to the image to see if you can notice the patterns replicated at a smaller scale.
Questions for Writing and Discussion
Instead of starting with the article itself, you will read the first few paragraphs as they appear in our related Vocabulary in Context quiz. This means that one word per paragraph has been replaced with a blank, and you’ll have to choose how to fill it in based on your knowledge of vocabulary and the context of the sentence.
It’s not as hard as it sounds — in fact, paying close attention to the author’s word choice as they introduce key concepts might make reading the rest of the article easier.
Now read the rest of the article, picking up where the quiz left off. This article includes some scientific concepts and other vocabulary you may be unfamiliar with. As you read, you might want to consult as reference this glossary of advanced vocabulary from the piece.
Then, answer the following questions:
1. In your own words, what is a cultivar? Consult the glossary if you are not sure. Of what plant is cauliflower a cultivar?
2. “There is no way you cannot notice it is such a gorgeous vegetable,” Dr. Parcy said, in reference to Romanesco. Do you agree? What do you consider your favorite plant, if you have one? What do you consider the most beautiful plant?
3. Look through the pictures in the article. How does the appearance of cauliflower differ from that of kale, brussels sprouts and broccoli, which are versions of the same plant?
4. What steps did Dr. Godin and Dr. Parcy take to model how cauliflower developed from Brassica oleracea?
5. In your words, describe the process by which a cauliflower grows.
Going Further
Option 1: Draw a fractal triangle.
One of the best ways to understand fractal geometry is to create it yourself. By drawing a Sierpinski triangle, you will use a triangle shape to explore how fractals replicate the same pattern at different scales, over and over.
The video below demonstrates how to draw this fractal triangle. As you watch, draw your own on a blank sheet of paper or using this template.
How many triangles total were you able to draw? How many triangles did you draw in the largest size? How many are the next largest size, and so on? What do you notice about these numbers?
Measure the side length of the largest triangle and write it down. Then, measure the side lengths of the next few smaller triangles. What do you notice about these numbers?
Option 2: Find and photograph geometry in your own life.
This article is a good example of the fact that geometric concepts do not only exist in the pages of your math textbook — you might find them in nature or on your dinner plate.
Where else can you find geometry in your life? Find an example, photograph it and report back to your class. Write a two-sentence caption for your photo explaining what geometric concept it captures.
In the articles below, New York Times journalists explored how geometry is all around us: in nature, sports formations and even pasta. Choose one article and look through the images to get inspiration for your own.
About Lesson of the Day
• Find all our Lessons of the Day in this column. • Teachers, watch our on-demand webinar to learn how to use this feature in your classroom.
Monks once hoped to turn lead into gold through alchemy. But consider the cauliflower instead. It takes just two genes to the ordinary stems, stalks and flowers of the weedy, tasteless species Brassica oleracea into a formation as marvelous as this fractal, cloudlike vegetable.
This is the true alchemy, says Christophe Godin, a senior researcher at the National Institute for Research in Digital Science and Technology in Lyon, France.
By Kevin Mills, Head of Public Sector Partnerships
In early 2020, we launched the Coursera Workforce Recovery Initiative to help governments around the world respond to the unemployment crisis caused by the pandemic and automation. Through the program, governments from over 25 U.S. states and 100 countries provided immediate support to displaced workers with free access to online skills training.
Among the participating governments, we collaborated with the Missouri Department of Higher Education & Workforce Development (MDHEWD) to launch a state-wide training program that has helped thousands of displaced workers develop job-relevant skills.
Today, we’re honored to expand our partnership with MDHEWD and support the state’s ongoing recovery efforts by equipping Missourians with the digital and job-readiness skills needed to unlock new career opportunities.
“Last year, Coursera played a major role in our department’s mission to help Missouri’s displaced workers advance their careers,” said Zora Mulligan, Missouri Commissioner of Higher Education. “Coursera provides a free and flexible avenue for Missourians to learn new, marketable skills as they seek new employment or work towards a promotion.”
Through our expanded partnership, Missourians will have free access to over 4,000 of high-quality, job-relevant courses from over 200 top university and industry educators, including the University of Michigan, University of Pennsylvania, Johns Hopkins University, AWS, and Microsoft.
This includes entry-level Professional Certificates taught by leading technology companies like Google, IBM, Facebook, and Salesforce. These certificate programs only take a few months to complete, and will help prepare workers without a college degree or technology experience for a wide range of well-paying jobs, such as IT support specialist, project manager, data analyst, and social media marketer.
To ensure accessibility for all learners across web and mobile platforms, we’ve emphasized providing support for screen readers and keyboard navigation, closed captions, visual affordances, and much more.
This expansion marks Coursera’s ongoing commitment to help Missourians unlock economic opportunity through high-quality online learning. We’re excited to welcome Missouri to the growing number of leading U.S. state and local governments partnering with Cousera to drive modern workforce development programs, including the Tennessee Department of Labor and Workforce Development, the New York State Department of Labor, and the City of Chicago.
Nothing teaches you how to write better code than sitting down and actually writing code. After you’ve built up your knowledge of a programming language with online courses, books, traditional education, and videos, the next step is to put those skills to use. And, one of the quickest and easiest ways to do this is by solving code challenges.
Code challenges are mini problems you’ll solve by writing code, and since they’re small, they don’t take that long to finish. You’re not required to create a complete programming project either. They can also be focused on the type of problems you’ll run into in your coding career, making them useful for practicing skills you’ll use on the job.
In this article, you’ll find 10 advanced Python code challenges, plus where to find more challenges. We also have a set of Python code challenges for beginners, if that’s a better fit for you.
10 Python code challenges for experienced coders
Every challenge in this list of challenges requires advanced knowledge of programming concepts and the Python programming language. So, brush up on your knowledge of Python data structures and algorithms before you get started. Or, if you need to refresh your knowledge of Python, check out our Learn Python course.
1. Create a Morse code translator
We no longer use Morse code to transfer information, but that doesn’t mean you can’t use it in a code challenge. Write a function in Python that takes in a string that can have alphanumeric characters in lower or upper case.
The string can also contain any special characters handled in Morse code, including commas, colons, apostrophes, periods, exclamation marks, and question marks. The function should return the Morse code equivalent for the string.
2. Write a Friday 13th detector
Create a function in Python that accepts two parameters. They’ll both be numbers. The first will be the month as a number, and the second will be the four-digit year. The function should parse the parameters and return True if the month contains a Friday the 13th and False if it doesn’t.
3. Find the domain name using an IP address
For this Python challenge, you’ll want to import the Python socket library. That’s the only hint. Write a function that accepts an IP address, makes a DNS request, and returns the domain name that maps to that IP address using PTR DNS records.
4. Parse an encoded string
In this Python challenge, you need to write a function that accepts an encoded string as a parameter. This string will contain a first name, last name, and an id.
Values in the string can be separated by any number of zeros. The id is a numeric value but will contain no zeros. The function should parse the string and return a Python dictionary that contains the first name, last name, and id values.
An example input would be “Robert000Smith000123”. The function should return the following using that input:
For this challenge, you need to write a function in Python that accepts a string of ASCII characters. It should return each character’s value as a hexadecimal string. Separate each byte by a space, and return all alpha hexadecimal characters as lowercase.
6. Find the difference between the strings
Write a function in Python that accepts two string parameters. The first parameter will be a string of characters, and the second parameter will be the same string of characters, but they’ll be in a different order and have one extra character. The function should return that extra character.
For example, if the first parameter is “eueiieo” and the second is “iieoedue,” then the function should return “d.”
7. Shadow sentences
For the purpose of this challenge, shadow sentences are sentences where every word is the same length and order but without any of the same letters. Write a function that accepts two parameters that may or may not be shadows of each other. The function should return True if they are and False if they aren’t.
An example would be “they are round” and “fold two times,” which are shadow sentences, while “his friends” and “our company” are not because both contain an r.
8. Tic Tac Toe blocker
In this Python challenge, write a function that’ll accept two numbers. These numbers will represent a position on a tic-tac-toe board. They can be 0 through 8, where 0 is the top-left spot, and 8 is the bottom-right spot.
These parameters are two marks on the tic-tac-toe board. The function should return the number of the spot that can block these two spots from winning the game.
9. Rearrange the number
To complete this challenge, write a function that accepts a number as a parameter. The function should return a number that’s the difference between the largest and smallest numbers that the digits can form in the number.
For example, if the parameter is “213”, the function should return “198”, which is the result of 123 subtracted from 321.
10. Duplicate letter checker
Create a function in Python that accepts one parameter: a string that’s a sentence. This function should return True if any word in that sentence contains duplicate letters and False if not.
Build your Python skills
If you like testing your Python skills with these challenges and want to find more of them to take your Python skills further, then sign up here. Then, check out the details on our weekly and daily code challenges here. Or, you can find more advanced Python code challenges on our forums.
To build your Python knowledge to tackle these tough challenges, you can check out our extensive selection of Python coding courses. If you’re new to the Python programming language or your knowledge is a little rusty, then our Learn Python course could be the right option for you.If you already know the fundamentals of Python, our Learn Intermediate Python or Learn Data Structures and Algorithms in Python courses dive deeper into this powerful programming language.
What do you think this image is saying? How does it relate to or comment on society or current events? Can you relate to it personally? What is your opinion of its message?
Want more Picture Prompts? Find them all in this column.
Students 13 and older in the United States and Britain, and 16 and older elsewhere, are invited to comment. All comments are moderated by the Learning Network staff, but please keep in mind that once your comment is accepted, it will be made public.
The term terra firma has appeared in two articles on NYTimes.com in the past year, including on June 17 in “‘Luca’ Review: Calamari by Your Name” by A.O. Scott:
A lot of movies can be described as fish-out-of-water stories, but few quite as literally as “Luca.” The title character, voiced by Jacob Tremblay, is an aquatic creature who lives with his family off the Mediterranean coast of Italy. The undersea equivalent of a shepherd, tending an amusing flock of sheeplike fish, Luca has a natural curiosity that is piqued by his mother’s warnings about the dangers that await on dry land.
Like many a Disney protagonist before him — Ariel, Nemo and Moana all come to mind — he defies parental authority in the name of adventure. (His mom and dad are voiced, in perfect sitcom disharmony, by Maya Rudolph and Jim Gaffigan.) According to the film’s fantastical version of marine biology, sea monsters turn human on terra firma, though their fins and gills re-emerge quickly on contact with water. Luca is a bit like a mermaid and a little like Pinocchio, a being with folkloric roots and a modern pop-culture-friendly personality.
Daily Word Challenge
Can you correctly use the term terra firma in a sentence?
Based on the definition and example provided, write a sentence using today’s Word of the Day and share it as a comment on this article. It is most important that your sentence makes sense and demonstrates that you understand the word’s definition, but we also encourage you to be creative and have fun.
Then, read some of the other sentences students have submitted and use the “Recommend” button to vote for two original sentences that stand out to you.
If you want a better idea of how terra firma can be used in a sentence, read these usage examples on Vocabulary.com.
Students ages 13 and older in the United States and the United Kingdom, and 16 and older elsewhere, can comment. All comments are moderated by the Learning Network staff.
Register for the live webinar on Thursday, Oct. 21 at 4 p.m. Eastern.
Learning Network mentor texts aim to demystify the writing process through examples that students can learn from and emulate. We spotlight journalism from across sections of The New York Times to show students real-world narrative, argumentative and informational writing, then we break down the “craft moves” that make each piece successful. We also have a series of mentor-text videos, in which students who have won our previous writing contests walk us through how they made their sentences sing.
In this interactive webinar, Learning Network editors and teachers will discuss and demonstrate how these mentor texts can be used to inspire powerful student writing.
Together, we will …
Discuss the role and benefits of using mentor texts to improve student writing.
Explore the mentor texts that The Learning Network and The Times have to offer.
Show you how to find your own mentor texts across sections of The Times.
Practice writer’s moves via exercises you can immediately bring back to your classroom.
This webinar will be about one hour long, including a live Q. and A. New York educators may receive C.T.L.E. credit. All participants will receive a certificate of completion.
Register now to join our live webinar or to receive a link to view the on-demand recording.
Each Wednesday we shine a spotlight on five student activities that support a broad range of learners. In this week’s roundup of accessible activities, we invite students to think about their relationship with technology, appreciate underappreciated jobs, reflect on their Sunday routines, look closely at a photograph and take a short quiz about Jamaica.
Note: To learn more about this new weekly feature, read our introductory post. Please share your thoughts in the comments section or by emailing us at LNFeedback@nytimes.com.
1. Reflect on your relationship with technology.
In this Picture Prompt, students think about their relationship with technology and their ability to relax and “do nothing.” Then, in the comments section, they can share their reflections with other students around the world.
2. Celebrate overlooked work that makes our communities run.
This highly visual Lesson of the Day teaches students about how lines get painted on roads, streets and crosswalks across America. As part of the lesson, students celebrate a job in their community that often goes unnoticed or underappreciated.
3. Describe your Sunday routine.
This Student Opinion is inspired by a weekly New York Times column that focuses on the Sunday routines of newsworthy New Yorkers. In the comments section, or in a class discussion, students can talk about how they spend their Sundays, and if anything about their routine has changed since the pandemic.
4. Look closely at a photograph.
In this activity, students carefully study a New York Times photograph without its caption as they answer the question: What’s Going On in This Picture?They can share their observations in the comments section and then check back on Thursday afternoon when we reveal the photo’s back story.
5. Take a short quiz about Jamaica — and learn as you go.
Learn about Jamaica’s geography, culture and economy by taking our Country of the Week Quiz. Students answer questions and read responses that use New York Times reporting.
As schools return to in-person learning, many are experiencing shortages, which means they don’t have enough of something. In a recent New York Times article, the writer Giulia Heyward describes some of them:
In Massachusetts, Gov. Charlie Baker is activating the National Guard to help with the shortage in bus drivers. In North Carolina, legislators are hoping to ease a cafeteria worker shortage by giving districts federal funding to cover signing bonuses for new hires. And some Missouri districts are wiping away some of the requirements to become a substitute teacher to attract more applicants.
Do any of these problems sound familiar to you? Since coming back to school this fall have you noticed that there aren’t enough substitute teachers, school supplies, bus drivers or other resources?
If you want to learn more about school lunch shortages, read a longer version of this article. Then, answer the questions below:
How did you feel reading the article? Were you surprised by the food shortages that schools are facing? Why or why not?
Have you noticed a lack of supplies or staff at your school? Has there not been a bus driver available to pick you up? Have you missed your usual choices at the cafeteria? Tell us about your experience.
How do you think school shortages are affecting students in your school or others around the country? Many students rely on school lunches as their main, and sometimes only, daily source of food. How might shortages more severely affect students in this situation?
The article reports on several ways schools are trying to fix the food shortage. Which do you think is best and why? Do you have any other ideas for how schools or the community could handle the problem?
What questions do you have about the shortages in your own school or those around the country?
Want more writing prompts? You can find all of our questions in our Student Opinion column. Teachers, check out this guide to learn how you can incorporate them into your classroom.
Students 13 and older in the United States and Britain, and 16 and older elsewhere, are invited to comment. All comments are moderated by the Learning Network staff, but please keep in mind that once your comment is accepted, it will be made public.
If you’re learning about software development (or pursuing a career as a Software Developer), you’ve probably heard about DevOps — but what is it exactly?
DevOps combines the words “development” and “operations,” and it refers to a collaborative approach to building applications. The goal of DevOps is to produce better, more reliable software products.
In this article, we’ll take a closer look at DevOps, why it matters, DevOps career opportunities, and more. Use the table contents below to jump to a specific section.
Who works on DevOps?
DevOps isn’t a programming language or technical concept. It’s a culture and philosophy that takes teams and departments that have traditionally been isolated and enables them to coordinate and collaborate.
For example, development and operations teams have often worked separately. Once a product made it through development and was deployed, it’d be handed off to operations, who would then deal with any issues, updates, and overall support.
This left the operations team at a disadvantage since they weren’t involved with the product’s development. Similarly, this also left the development team without the operations team’s valuable insights and perspectives.
Bringing these teams together allows a better product to be released more quickly, with smaller updates along the way rather than large, jarring updates.
Other teams, like quality engineering and security, can and should also be included in coordination efforts.
How does DevOps work?
DevOps influences the application lifecycle. It typically has four phases, which work in a loop.
Each phase depends on the other phases, and they aren’t role-specific. That means that each person on the team is involved in multiple phases of the lifecycle (or possibly all of them). The four phases are:
Plan: This is when DevOps teams define the features and capabilities of the applications and systems they’re working on. They decide how to track progress and bugs and break the work into small, manageable pieces.
Develop: This is when the coding happens, including writing, testing, reviewing, and integration. The goal is to work rapidly without sacrificing quality and stability. To facilitate development, DevOps teams use productivity tools and automation.
Deliver: Delivery is when the application is moved into a production environment. The DevOps team determines a release schedule and uses automation to move applications from one stage to another.
Operate. This involves maintaining, monitoring, and troubleshooting applications once they go live. Teams work to minimize downtime while also keeping an eye on security and compliance. The goal in the operating phase is to catch any issues before they impact customers and implement solutions. This leads back to the planning phase, and the cycle continues.
DevOps practices
DevOps also incorporates several practices. These include:
Let’s take a closer look at each of these practices.
Continuous integration and continuous delivery (CI/CD)
Continuous integration is a software development practice where developers merge their code changes into a central repository, which ensures there aren’t too many branches of an app in development.
Continuous delivery means that changes to an application are automatically tested for bugs and uploaded to a repository where they can be deployed by the operations team.
Microservices
This practice structures an application as a collection of smaller services. These services are easy to maintain, testable, independently deployable, and owned by a small team.
Monitoring and logging
This involves tracking metrics and keeping logs to see how the application performs. This data is analyzed to find the root causes of problems and unexpected changes. Active monitoring allows engineers to be proactive about any issues, which helps minimize downtime.
Communication and collaboration
For DevOps to be successful, everyone involved has to be committed to sharing information. This might be done through chat, project tracking systems, or wikis.
Why is DevOps important?
Technology has transformed our lives. Businesses rely on rolling out reliable applications that satisfy customer needs quickly. Businesses that fall behind risk becoming obsolete. DevOps allows businesses and organizations to:
Be responsive
Develop products quickly
Improve those products
Including automation in DevOps planning frees up developers and engineers to focus on other tasks rather than being bogged down with tedious, manual work.
DevOps is important because it allows organizations to develop better products faster. This saves money and allows more creative freedom for developers and engineers.
What problems does DevOps solve?
DevOps solves problems around latency and productivity in software development. Latency is lag time. When departments are isolated, it takes time to hand projects back and forth between development and operations.
As we explained, traditionally, developers would develop the app and hand it to the operations team to get it ready for release. If there were issues, operations would send the app back to developers and wait for the app to be fixed.
In a DevOps environment, these two teams are coordinated and collaborative, so fixing bugs and other issues is quick and seamless.
What are the benefits of DevOps?
DevOps offers several benefits to organizations:
Speed: DevOps increases the frequency of releases so you can improve your product quickly. The sooner a product is updated, the happier your customers will be.
Adaptability: Technology and consumer expectations are constantly changing. DevOps allows you to pivot easily to incorporate different features and move in different directions without disrupting the entire development process.
Reliability: Having more people involved in the entire process ensures a higher quality product. CI/CD is an important DevOps practice that helps teams roll out changes in a controlled way and avoid configuration drift, which is when configuration deviates over time. All of that results in a more stable, more reliable product.
Improved collaboration. DevOps is a change to the culture of a company, emphasizing accountability and ownership. Teams are expected to collaborate and are given the tools to do so. DevOps teams share responsibilities and workflows, which saves time and reduces inefficiencies.
What are the challenges of DevOps?
While DevOps can help organizations, it also has its challenges. They include:
Implementing expensive tools and platforms
Learning new tools
Updating old infrastructure
Integrating tools across different departments
Reviewing current processes to make them more efficient
Resistance to change
Merging two cultures (development and operations) can be challenging
Moving at a faster pace can make it difficult to maintain security and compliance
All of these issues can be overcome with planning, implementing DevOps over time, seeking input from team members, and dedicating time and resources to security and compliance throughout the DevOps lifecycle.
A closer look at DevOps jobs
Some IT professionals specialize in DevOps. They help implement the tools and platforms involved in DevOps and help organizations shift to DevOps if they haven’t already. These professionals are in high demand.
DevOps positions have a variety of names, but in general, people working in DevOps would either be a DevOps Engineer or a DevOps Manager. DevOps Managers have more responsibility and experience and are expected to manage teams. You’d typically start as a DevOps Engineer and then progress into a management role as you gain experience.
Here are some of the skills required to succeed in a DevOps career:
Knowledge of a wide range of tools used in software development.
A willingness to talk with customers and incorporate their feedback.
An understanding of security best practices.
Due to the complexity of DevOps, it’s not unusual to start your career in another position and develop your expertise in DevOps over time. It might be through learning on the job, taking on additional responsibilities, working toward certifications, or pursuing a degree in DevOps.
DevOps programming languages
DevOps requires proficiency with at least one, but ideally multiple programming languages. Here are some to consider:
Perl. Perl is a programming language developed in 1987. It has a large, active developer community. Perl is considered easier to learn and faster than C and C++. It can also handle sophisticated programming.
Ruby. Ruby is an intuitive, easy-to-learn programming language. It’s open-source, has an active community, and is often implemented with the Ruby on Rails framework.
Python. Python is another popular programming language. It’s a popular choice for a first programming language as it has a large community behind it, excellent documentation, and a wide variety of libraries and packages.
Bash/Shell. The command line and the shell make up a text-based interface that developers use to communicate more effectively with computers. It allows for collaborative programming, enables file navigation, runs programming files, and installs developer tools.
SQL. SQL is a relational data management language. It’s easy to learn, quick, and efficient.
JavaScript. JavaScript is front-end and back-end friendly. It’s one of the core languages for web development, and it’s also used for game development and mobile apps.
C++. C++ is another popular programming language that’s fast and flexible. It’s used in software and game development, virtual reality, robotics, and scientific computing.
Getting started in DevOps
To get started in DevOps, you could pursue a bachelor’s degree in computer science or information technology. Or, you can gain the required knowledge and skills on your own.
People working in DevOps are highly experienced. They typically start as Systems Administrators or developers. You can learn the skills needed for one of these career options individually or take a series of courses that’ll equip you with everything you need to know with one of our Career Paths.
One option for getting started is our Front-End Engineer Career Path. Front-End Engineers focus on making websites and applications attractive and user-friendly. In this Career Path, you’ll learn how to use the languages and tools required for modern front-end web development.
Similarly, our Back-End Engineer Career Path focuses on the behind-the-scenes aspects of applications. You’ll start by learning how to program servers and client-side interfaces, then progress to designing databases. The course also covers personalization and security.
Our Full-Stack Engineer Career Path teaches you development from start to finish. This will give you a firm foundation for starting your career and progressing into DevOps.
Our Computer Science Career Path also provides you with a strong foundation. It teaches you the ins and outs of Python, how to problem solve and write clean code, how databases work, and more.
In each of our Career Paths, you’ll use your new knowledge and skills to build projects you can feature in your portfolio. We’ll also help you prepare for interviews, provide a certification you can include in your resume, and more.
After building your skills, your next step is to secure a position in an organization that uses DevOps. This will allow you to gain experience in how DevOps works and pursue opportunities to advance.
You may also want to pursue certifications. For example, AWS, or Amazon Web Services, offers an AWS Certified DevOps Engineer certification for DevOps Engineers with two or more years of experience.
You could also pursue a Kubernetes certification like Certified Kubernetes Administrator or Certified Kubernetes Application Developer. Kubernetes is a popular DevOps tool. Microsoft also offers an Azure DevOps certification.