1 – Start by downloading this Jupyter notebook to your local machine.
2 – Open a tab in your browser and type https://colab.research.google.com/.
3 – This will open a small window. Choose the last option Show notebooks in Drive on the upper menu, “Upload”. Then choose the Jupyter notebook you have saved in step 1.
4 – You can start working on your assignment by answering the questions in the corresponding cells.
Your life might be a little bit busy and your day might be full of tasks that usually affect your sleeping quality. Sometimes, when your alarm rings, you feel like you are very tired when you’ve had an insufficient amount of sleep. This usually happens not only because of a few sleep hours but also because of irregularities in the sleeping time and waking time schedule.
Human sleeping consists of typically four to five sleep cycles, each lasting for about 90 minutes. The best time for waking up is after the sleeping cycle, not during. In this assignment, you will use algorithmic thinking to build a tool that can make your sleeping better by telling you when exactly to sleep and wake up depending on existing sleeping cycle guidelines.
You will write a descriiption of the algorithmic process by which you will solve this problem, then you will implement your solution in well-documented Python code. You will receive holistic, formative feedback on the LOs applications indicated between square brackets.
1 – Algorithm Descriiption
You should devise an algorithm that does the following :
Tells you about the best time to wake up if you are going to sleep now.
Tells you about the best time to sleep if you want to wake up at a specific time.
The algorithm should be based on the following assumptions:
Human sleeping is composed of a number of “sleeping cycles”.
Humans need 15 minutes to sleep and start the first cycle.
Between every two cycles, there is a 15 minutes gap which is the best time for a person to wake up refreshed.
A person needs at least 4 sleeping cycles every day.
Feel free to add more assumptions to improve the algorithm but make sure to explain your assumptions in detail to a non-technical audience.
Algorithmic Descriiption Task [#algorithmicstrategies, #computationaltools]
Describe the input(s), output(s) and the process of the algorithm.
Draw a flowchart to show the process of the algorithm.
NOTE: To import a picture, for example, “image.png” to your Jupyter notebook, you can use the following block of code from IPython.display import ImageImage(“my_image.png”)
Explain in detail how this process is an “algorithm”.
2 – Implementation
Write a Python implementation of your algorithm. Feel free to use whatever form of input or output you think works best as long as it fulfills the assignment requirements. For example, your Python program can take as input the current time and then can offer two options for the users:
The best time to wake up if you are going to sleep now. This will be the best time to wake up based on the assumptions mentioned above.
The best time to sleep if you want to wake up at a specific time. In this case, the code should take the desired time to wake up and based on it, it should calculate the best time to sleep based on the assumption given above.
Implementation Task [#algorithmicstrategies, #computationaltools, #compprogramdesign, #quantcommunication]
Provide a well-commented Python code that follows the above instructions.
You should use the following Python elements at a minimum, but feel free to use additional ones:
Be sure to comment thoroughly so that it is clear that you understand what every line of the code is intended to accomplish.
Make sure to include a few test-cases to make sure your code works. Include your test cases in your submission. Explain how you used these test cases in your comments. Please consult the examples under “Unit Tests vs. Integration Tests” for how to use assert statements in Python to test the correctness of your code.
Pro tip: it could be useful for testing and for code readability to make several separate functions for each sub-task, and call them inside the main function.
Your assignment submission needs to include the following resources:
A .pdf file must be the first resource and it will include all the answers to the questions above, including all the python code you produce. Make sure that you submit a neat, clearly presented, and easy-to-read .pdf. The .pdf should be submitted under the name file “student_name.pdf”.
Your second resource must be a single Jupyter Notebook with extension .ipynb (please see Figure below) and named “student_name.ipynb”.
algorithmicstrategies: Demonstrate the ability to think logically and systematically about problems, breaking them down into a clear, ordered set of concrete steps that could be implemented by a machine.
computationaltools: Apply the computational terminology and tools appropriately in different quantitative contexts.
compprogramdesign: Generate working programs in a computer language that can solve computational problems; find and fix bugs that appear in them.
quantcommunication: Communicate with a clear and precise style that is suited to an appropriate audience. Produce code that can be easily read and understood by others.
1 – Start by downloading this Jupyter notebook to your local machine. 2 – Open a
1 – Start by downloading this Jupyter notebook to your local machine.
All papers are always delivered on time. In case we need more time to master your paper, we may contact you regarding the deadline extension. In case you cannot provide us with more time, a 100% refund is guaranteed.
Top Quality Papers
We always make sure that writers follow all your instructions precisely. You can choose your academic level: high school, college/university, or professional, and we will assign a writer who has a respective degree.
Our support agents are available 24/7 and committed to providing you with the best customer experience. Get in touch whenever you need any assistance.
100% Plagiarism Free
Plagiarism is the biggest crime in the academic world. We have strict measures to ensure that all the essay papers are written from scratch to maintain originality and avoid plagiarism.
We have hired a team of professional writers who provide expert essay help. Most of them are native speakers and PhD holders who are able to take care of any assignment you need help with.
Exceptional quality, professional writers, secure and private, always on time. This is how our clients described their experience working with us. We value our clients above all and strive to uphold the high standards that we have set.
Quality is everything. We make sure that each completed paper that we send is an absolute masterpiece. It is well-written, thoroughly thought out, follows guidelines, has impeccable format and completely original. You can be confident that your paper is one-of-a-kind because we double-check it for plagiarism. Your instructor will be impressed when you turn in your paper.
Wileyscholars.com has special quality assurance team guarantees that all the papers are plagiarism-free and meet the standards or specific requirements of certain academic institutions (these may vary, you know, and they may vary even between different teachers). Upon placing an order, you can communicate with your writer during the entire process and even after it is completed. This ensures a customized service, meeting the exact needs and expectations of any, even the most demanding customers.
PROVIDING STUDENTS WITH CUSTOM ACADEMIC PAPERS SINCE 2007