SCIE1000 Theory and Practice in Science
Python and Communication Assignment
The scenario
A public science museum in St Lucia is planning to update its exhibit. A feature of the museum is that each exhibit item is accompanied by two explanations, each written for a different audience. One explanation is pitched to the “science rookie” and the other to the “science enthusiast”. Patrons read the explanation tailored to the level at which they feel most comfortable. Some characteristics of a typical audience member in each category are described in Table 1.
Table 1: Characteristics of different patrons
Patron Type |
Typical characteristics |
Science Rookie |
Not familiar with scientific terminology or notation; will need terminology explained using a simple vocabulary; is unfamiliar with graphs; may be a younger person, possibly 10+ years of age; likes to press buttons. |
Science Enthusiast |
Familiar with common scientific terminology and notation (not overly technical); will need terminology explained using somewhat sophisticated vocabulary; is prepared to read longer passages of moderate complexity; is familiar with graphs; likes to press buttons. |
The planned exhibition is called “Exploring Our Galaxy”. The topic is exoplanets (planets found orbiting distant stars) and the aim is summarised in the following exhibition prospectus:
With this exhibition we aim to instil in our patrons a sense of wonder at the vastness of our galaxy and the potential for finding other forms of life with whom it may be possible to communicate. Patrons will marvel at the challenge of searching for exoplanets and they will speculate about the number of potential civilisations in our galaxy with whom we could theoretically communicate.
The museum director has asked the SCIE1000 teaching team for help in finding skilled volunteers to develop exhibit items. Once developed, the items will be maintained and potentially modified by museum staff, each of whom has a strong background in high-school mathematics, together with at least a beginners level of Python experience. We assured the director that SCIE1000 students are skilled at: making mathematical models using a mathematical toolkit familiar to any student of Maths B (or equivalent); writing Python programs, including those which use arrays, loops, plots and new functions; and communicating scientific information to various audiences.
Based on this boasting by the SCIE1000 teaching team, you have been asked to develop an exhibit item. You will develop an interactive (command-line) Python program which engenders in museum patrons a sense of wonder at the vastness of our galaxy and the potential for communicating with other forms of life.
2 An overview of the task
You will write an interactive Python program to guide a user through some speculation about civilisations in our galaxy (see Section 4) as well as whether a potential exoplanet could be detected from Earth given its size and distance from its star (see Section 5).
Your program will follow the logical flow laid out in the flow chart provided in Figure 2.
A detailed list of program requirements is provided in Section 6 of this document.
Your assignment will be separately be graded on two aspects, each on a 1–7 scale. The first aspect will be your use of Python to represent the underlying mathematical models. This will include the quality of your code and the accuracy with which you represent the models. The second aspect will be on the communication that you use. This covers both the communication within your program (for staff at the exhibit) and the communication you use with the patrons of the exhibit.
Your submitted code will be run and tested as part of this grading process. A rubric (marking criteria) for this assignment is on the last page of this document. This assignment has an advanced section that must be attempted by students aiming for grades of 6 or 7 (see the grading criteria for more explanation). The shaded section of the flow chart indicates this advanced section, and the corresponding modeling information is in Section 5.6. If you have any questions, please contact the course staff.
3 About getting help
This assignment is a piece of summative assessment, designed to let you demonstrate your level of mastery of several learning objectives in this course. As such, it is very important that the work you submit is all your own.
This does not mean that you cannot receive help in regards to this assignment, but that help must be limited to general advice about Python and modelling - not specific to how to do this particular assignment. Your teaching team, the SLC tutors, your classmates, your friends, and anyone else for that matter, can answer as many general questions about Python and modelling as you care to ask. They can even help you understand what particular error messages may mean. They should not, however, tell you what to write or correct your code. You should type or create every character in the files you submit. The files that you submit will be checked using software which is specially designed to detect plagiarism in code. Consult Section 6.1 of the Electronic Course Profile for more information and procedures concerning plagiarism.
This task sheet has been carefully constructed, and part of your job is to interpret the information it contains. Some choices have been left to your judgment, and this is intentional. Any questions you have about the assignment task should be posted on the course Piazza site as a public post (visible to all students). This is the only place where you can receive authoritative answers to questions. In this way, all students will have access to the same information. Sometimes the answer to a question on Piazza will be “See the assignment task sheet”. Such answers are simply to avoid restating information and indicate that you will need to decide how to use the supplied information.
4 Imagining potential civilisations in the Milky Way
The Drake equation, named after the astronomer and astrophysicist Dr. Frank Drake, is a formal- isation to guide speculation about the probability of finding civilisations in our galaxy (the Milky Way) with whom it may be possible to communicate. This equation is often quoted with seven parameters (see [1]). We will use the following simplified version:
N = R · p · n · c · L
where
N = Number of civilisations in the galaxy that can communicate with Earth
R = average rate of star formation (per year) in the galaxy
p = proportion of stars with planetary systems
n = number of planets per system with conditions suitable for life
c = proportion of potentially habitable planets on which a technological civilisation develops
L = average lifetime (in years) of such a civilization within the detection window
Table 2, adapted from [1], includes recent estimates (ie “best-known estimates”) for the parameters in the Drake equation, as well as historical estimates which were used in the 1960’s.
Table 2: Parameters of the Drake equation and their estimates
Parameter |
R p n c L |
|||||||
1960’s estimation Recent estimation |
10 7 |
per per |
year year |
0.5 0.5 |
2 1 |
0.0001 0.02 |
10,000 10,000 |
years years |
Before you plan your communication to the user about this information (see the flow chart in Figure 2 for details) you should carefully think about how estimates for N are made and how reliable you think those estimates are.
5 Exoplanets
5.1 Detecting exoplanets using the Kepler space telescope
Extraterrestrial planets, or exoplanets, are planets that orbit around stars other than our Sun. Since the nearest star is around 4 light-years away (the distance light travels in 4 years), exoplanets are extremely difficult to detect. However, in recent years, a number of different techniques have been developed which are capable of directly or indirectly inferring the existence of an exoplanet around another star in our galaxy (the Milky Way).
One very successful method for detecting exoplanets is to observe the intensity of the light emitted by the star as a function of time. If an exoplanet passes in front of this star, it partially blocks the star as viewed from the Earth, and the measured intensity of the star will (slightly) decrease. Multiple measurements at regular intervals (at least three passes in front of its star) can be used to confirm the existence of an exoplanet.
A telescope that has been used extensively for the detection of exoplanets using this approach is the Kepler space telescope. Its goal was to detect smaller exoplanets in the range from the size of Earth to the size of Jupiter. This telescope recently retired, was launched in 2009, and has successfully detected several thousand exoplanets [2].
5.2 Modelling exoplanet detection
The model we will develop here will be a very simplified model of the physical process in which a planet transits in front of a star. In particular, we will make the following assumptions when building our model:
We will be detecting exoplanets that are orbiting a star which has the same size and mass as the Sun. The star mass impacts on the speed of the exoplanet as it moves around its star, and hence the time to complete a full orbit around the star, while the mass and size of the star influence the time the exoplanet takes to pass in front of the star.
There is a “perfect” alignment of the exoplanet between our observation point on Earth, and the star around which it orbits. This maximises the time that the exoplanet is in front of its star.
The light emitted by the star is uniform across the width of the star. This simplifies our calculation of intensity as the exoplanet transits in front of the star.
The radius of the exoplanet is small compared to the radius of its star. This allows us to choose a simple model of the transit.
Note: there will be some constants relevant to our solar system that you will need to research and find values for. Exercise care with units!
5.3 Choosing input parameters
To model the transit of the exoplanet in front of its star, we first need to specify the the size of the exoplanet and the distance the exoplanet is from its star. Your program will ask the patron to choose these. However, most rookies (and many enthusiasts) will not have a good feel for what values would be appropriate. Hence, you will need to think carefully about how this is posed to the patrons. We recommend thinking about how to use relative values compared to similar values for the Earth/Sun.
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme