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.
Overview
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:
Functions
User input
Variables
Operators
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”.
Learning outcomes:
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.
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.
Struggling With a Similar Paper? Get Reliable Help Now.
Delivered on time. Plagiarism-free. Good Grades.
What is this?
It’s a homework service designed by a team of 23 writers based in Carlsbad, CA with one specific goal – to help students just like you complete their assignments on time and get good grades!
Why do you do it?
Because getting a degree is hard these days! With many students being forced to juggle between demanding careers, family life and a rigorous academic schedule. Having a helping hand from time to time goes a long way in making sure you get to the finish line with your sanity intact!
How does it work?
You have an assignment you need help with. Instead of struggling on this alone, you give us your assignment instructions, we select a team of 2 writers to work on your paper, after it’s done we send it to you via email.
What kind of writer will work on my paper?
Our support team will assign your paper to a team of 2 writers with a background in your degree – For example, if you have a nursing paper we will select a team with a nursing background. The main writer will handle the research and writing part while the second writer will proof the paper for grammar, formatting & referencing mistakes if any.
Our team is comprised of native English speakers working exclusively from the United States.
Will the paper be original?
Yes! It will be just as if you wrote the paper yourself! Completely original, written from your scratch following your specific instructions.
Is it free?
No, it’s a paid service. You pay for someone to work on your assignment for you.
Is it legit? Can I trust you?
Completely legit, backed by an iron-clad money back guarantee. We’ve been doing this since 2007 – helping students like you get through college.
Will you deliver it on time?
Absolutely! We understand you have a really tight deadline and you need this delivered a few hours before your deadline so you can look at it before turning it in.
Can you get me a good grade? It’s my final project and I need a good grade.
Yes! We only pick projects where we are sure we’ll deliver good grades.
What do you need to get started on my paper?
* The full assignment instructions as they appear on your school account.
* If a Grading Rubric is present, make sure to attach it.
* Include any special announcements or emails you might have gotten from your Professor pertaining to this assignment.
* Any templates or additional files required to complete the assignment.
How do I place an order?
You can do so through our custom order page here or you can talk to our live chat team and they’ll guide you on how to do this.
How will I receive my paper?
We will send it to your email. Please make sure to provide us with your best email – we’ll be using this to communicate to you throughout the whole process.
Getting Your Paper Today is as Simple as ABC
No more missed deadlines! No more late points deductions!
You give us your assignments instructions via email or through our order page.
Our support team selects a qualified writing team of 2 writers for you.
In under 5 minutes after you place your order, research & writing begins.
Complete paper is delivered to your email before your deadline is up.
Want A Good Grade?
Get a professional writer who has worked on a similar assignment to do this paper for you