Displacement is the distance moved in a particular direction. It is a vector quantity.
SI unit: m
Velocity is the rate of change of displacement. It is a vector quantity.
Velocity = (change in displacement / change in time)
SI unit: m s-1
Symbol: v or u
Speed is the rate of change of distance. It is a scalar quantity.
Speed = (change in distance / change in time)
SI unit: m s-1
Symbol: v or u
Note that speed and velocity are not the same thing. Velocity has a direction.
Acceleration is the rate of change of velocity. It is a vector quantity.
Acceleration = (change in velocity / change in time)
SI unit: m s-2
Note that acceleration is any change in velocity, meaning an increase or decrease in velocity or a change in direction.
An instantaneous value of speed, velocity or acceleration is one that is at a particular point in time.
An average value of speed, velocity or acceleration is one that is taken over a period of time.
The equations of uniformly accelerated motion can only be under conditions where the acceleration is constant.
The equations of uniformly accelerated motion are as follows:
Table 1.2.1 - Variables used in uniformly accelerated motion equations
Other equations may be derived from these equations.
When we ignore the effect of air resistance on an object falling down to earth due to gravity we say the object is in free fall. Free fall is an example of uniformly accelerated motion as the only force acting on the object is that of gravity.
On the earths surface, the acceleration of an object in free fall is about 9.81 ms-1. We can easily recognise the uniform acceleration in displacement - time, velocity - time and acceleration - time graphs as shown below:
A car accelerates with uniformly from rest. After 10s it has travelled 200 m.
Its average acceleration
S = ut + 1/2 at²
200 = 0 x 10 + 1/2 x a x 10²
200 = 50a
a = 4 m s-2
Its instantaneous speed after 10s
v² = u ² + 2as
= 0 + 2 x 4 x 10
V= 8.9 m s-1
Air resistance eventually affects all objects that are in motion. Due to the effect of air resistance objects can reach terminal velocity. This is a point by which the velocity remains constant and acceleration is zero.
In the absence of air resistance all objects have the same acceleration irrespective of its mass.
Determining its velocity
We know that the gradient of a displacement – time graph gives us its velocity. Therefore for the first 5 seconds the speed is:
After the first 5 s the object is stationary for 3 s. For these 3s its velocity is zero.
After 8s the object starts to return at a faster speed then before. From the graph we find the speed to be:
Figure 2.1.5 – Velocity -Time graph
Determine its acceleration
We know that the gradient of a velocity- Time graph gives us its acceleration. Therefore for the first 5 s the acceleration is:
50/5 =10 ms?²
When the object is at constant speed from 5s to 7s its acceleration is zero. During the last second of the objects journey the object is decelerating at:
50/1 =50 ms?²
Determine its displacement
The area under a velocity-time graph is the displacement. During the first 5 s the object has travelled:
½ x 5 x 50 = 125m
Determine the change in velocity
The area under the acceleration- Time graph gives us the change in velocity
From the graph we find that the change in velocity is 10 x 3 = 30 ms?¹
Note: The gradient of the acceleration - time graph is actually the rate of change of acceleration. However it isn’t often useful.
1. Computational models: optimisation, simulation, statistical
2. Lambda function
3. Optimisation model: optimise with constraints
a. Brute force algorithm
b. Greedy algorithm (doesn't always yield the best result)
Brute force algorithm
1. Left-most and depth-most enumeration
Paused at 13:00
sa_gold = 46
uk_gold = 27
romania_gold = 1
total_gold = usa_gold + uk_gold + romania_gold
romania_gold += 1
total_gold = usa_gold + uk_gold + romania_gold print(total_gold)
Why do we get 75 for the second print?
From John's notes:
# radius = radius +1 is equal to radius += 1
so, romania_gold + = 1 is equal to romania_gold = romania gold + 1
In telling the story of a fatally indecisive character’s inability to choose the proper course to avenge his father’s death, Hamlet explores questions of fate versus free will, whether it is better to act decisively or let nature take its course, and ultimately if anything we do in our time on earth makes any difference. Once he learns his uncle has killed his father, Hamlet feels duty-bound to take decisive action, but he has so many doubts about his situation and even about his own feelings that he cannot decide what action to take. The conflict that drives the plot of Hamlet is almost entirely internal: Hamlet wrestles with his own doubt and uncertainty in search of something he believes strongly enough to act on. The play’s events are side-effects of this internal struggle. Hamlet’s attempts to gather more evidence of Claudius’s guilt alert Claudius to Hamlet’s suspicions, and as Hamlet’s internal struggle deepens, he begins to act impulsively out of frustration, eventually murdering Polonius by mistake. The conflict of Hamlet is never resolved: Hamlet cannot finally decide what to believe or what action to take. This lack of resolution makes the ending of Hamlet especially horrifying: nearly all the characters are dead, but nothing has been solved.
The play’s exposition shows us that Hamlet is in the midst of three crises: his nation is under attack, his family is falling apart, and he feels deeply unhappy. The Ghost of the old king of Denmark appears on the castle battlements, and the soldiers who see it believe it must be a bad omen for the kingdom. They discuss the preparations being made against the threat from the Norwegian prince, Fortinbras. The next scene deepens our sense that Denmark is in political crisis, as Claudius prepares a diplomatic strategy to divert the threat from Fortinbras. We also learn that as far as Hamlet is concerned, his family is in crisis: his father is dead and his mother has married someone Hamlet disapproves of. Hamlet is also experiencing an internal crisis. Gertrude and Claudius are worried about his mood, and in his first soliloquy we discover that he feels suicidal: “O that this too, too sullied flesh would melt” (I.ii.).
The three crises of the play’s opening—in the kingdom, in Hamlet’s family, and in Hamlet’s mind—lay the groundwork for the play’s inciting incident: the Ghost’s demand that Hamlet avenge his father’s death. Hamlet accepts at once that it is his duty to take revenge, and the audience can also see that Hamlet’s revenge would go some way to resolving the play’s three crises. By killing Claudius, Hamlet could in one stroke remove a weak and immoral king, extract his mother from what he sees as a bad marriage, and make himself king of Denmark. Throughout the inciting incident, however, there are hints that Hamlet’s revenge will be derailed by an internal struggle. The Ghost warns him: “Taint not thy mind nor let thy soul contrive/Against thy mother aught” (I.v.). When Horatio and Marcellus catch up to Hamlet after the Ghost’s departure, Hamlet is already talking in such a deranged way that Horatio describes it as “wild and whirling” (I.v.), and Hamlet tells them that he may fake an “antic disposition” (I.v.). The audience understands that the coming conflict will not be between Hamlet and Claudius but between Hamlet and his own mind.
For the whole of the second act—the play’s rising action—Hamlet delays his revenge by pretending to be mad. We learn from Ophelia that Hamlet is behaving as if he is mad with love for her. We see him make fun of Polonius by talking nonsense which contains half-hidden jokes at Polonius’s expense. Hamlet tells Rosencrantz and Guildenstern that he has “lost all [his] mirth” (II.ii.). Only at the end of Act 2 do we learn the reason for Hamlet’s delaying tactics: he cannot work out his true feelings about his duty to take revenge. First, he tells us, he doesn’t feel as angry and vengeful as he thinks he should: “I[…]Peak like John-a-dreams, unpregnant of my cause” (II.ii.). Second, he’s worried that the Ghost wasn’t really a ghost but a devil trying to trick him. He decides he needs more evidence of Claudius’s crime: “I’ll have grounds/More relative than this” (II.ii.).
As the rising action builds toward a climax, Hamlet’s internal struggle deepens until he starts to show signs of really going mad. At the same time Claudius becomes suspicious of Hamlet, which creates an external pressure on Hamlet to act. Hamlet begins Act Three debating whether or not to kill himself: “To be or not to be—that is the question” (III.i.), and moments later he hurls misogynistic abuse at Ophelia. He is particularly upset about women’s role in marriage and childbirth—“Why wouldst thou be a breeder of sinners?” (III.i.)—which reminds the audience of Hamlet’s earlier disgust with his own mother and her second marriage. The troubling development of Hamlet’s misogynistic feelings makes us wonder how much Hamlet’s desire to kill Claudius is fuelled by the need to avenge his father’s death, and how much his desire fuelled by Hamlet’s resentment of Claudius for taking his mother away from him. Claudius, who is eavesdropping on Hamlet’s tirade, becomes suspicious that Hamlet’s madness presents “some danger” (III.i.) and decides to have Hamlet sent away: Hamlet is running out of time to take his revenge.
The play’s climax arrives when Hamlet stages a play to “catch the conscience of the king” (II.ii.) and get conclusive evidence of Claudius’s guilt. By now, however, Hamlet seems to have truly gone mad. His own behavior at the play is so provocative that when Claudius does respond badly to the play it’s unclear whether he feels guilty about his crime or angry with Hamlet. As Claudius tries to pray, Hamlet has yet another chance to take his revenge, and we learn that Hamlet’s apparent madness has not ended his internal struggle over what to do: he decides not to kill Claudius for now, this time because of the risk that Claudius will go to heaven if he dies while praying. Hamlet accuses Gertrude of being involved in his father’s death, but he’s acting so erratically that Gertrude thinks her son is simply “mad […] as the sea and wind/When they each contend which is the mightier” (III.iv). Again, the audience cannot know whether Gertrude says these lines as a cover for her own guilt, or because she genuinely has no idea what Hamlet is talking about, and thinks her son is losing his mind. Acting impulsively or madly, Hamlet mistakes Polonius for Claudius and kills him.
The play’s falling action deals with the consequences of Polonius’s death. Hamlet is sent away, Ophelia goes mad and Laertes returns from France to avenge his father’s death. When Hamlet comes back to Elsinore, he no longer seems to be concerned with revenge, which he hardly mentions after this point in the play. His internal struggle is not over, however. Now Hamlet contemplates death, but he is unable to come to any conclusion about the meaning or purpose of death, or to resign himself to his own death. He is, however, less squeamish about killing innocent people, and reports to Horatio how he signed the death warrants of Rosencranz and Guildenstern to save his own life. Claudius and Laertes plot to kill Hamlet, but the plot goes awry. Gertrude is poisoned by mistake, Laertes and Hamlet are both poisoned, and as he dies Hamlet finally murders Claudius. Taking his revenge does not end Hamlet’s internal struggle. He still has lots to say: “If I had time […] O I could tell you— / But let it be” (V.ii.) and he asks Horatio to tell his story when he is dead. In the final moments of the play the new king, Fortinbras, agrees with this request: “Let us haste to hear it” (V.ii.). Hamlet’s life is over, but the struggle to decide the truth about Hamlet and his life is not.
#1a: annual_salary = float(input('Enter your annual salary: ')) portion_saved = float(input('Enter the percent of your salary to save, as a decimal: ')) total_cost = float(input('Enter the cost of your dream home: ')) current_savings = 0 portion_down_payment = 0.25 down_cost = total_cost * portion_down_payment r = 0.04 monthly_salary = annual_salary/12 num_months = 0 while current_savings < down_cost: current_savings += monthly_salary * portion_saved + current_savings * r/12 num_months += 1 num_years = num_months/12 print('Number of months:', num_months) print('Number of years:',num_years) #1b annual_salary = float(input('Enter your annual salary: ')) portion_saved = float(input('Enter the percent of your salary to save, as a decimal: ')) total_cost = float(input('Enter the cost of your dream home: ')) semi_annual_raise = float(input('Enter the semiannual raise, as a decimal: ')) current_savings = 0 portion_down_payment = 0.25 down_cost = total_cost * portion_down_payment r = 0.04 monthly_salary = annual_salary/12 num_months = 0 while current_savings < down_cost: current_savings += monthly_salary * portion_saved + current_savings * r/12 num_months += 1 if num_months%6 == 0: monthly_salary *= (1 + semi_annual_raise) num_years = num_months/12 print('Number of months:', num_months) print('Number of years:',num_years) #1c def whatrate(): annual_salary = int(input('Enter the starting salary: ')) total_cost = 1000000 semi_annual_raise = 0.07 current_savings = 0 portion_down_payment = 0.25 down_cost = total_cost * portion_down_payment r = 0.04 monthly_salary = annual_salary/12 num_months = 36 high = 10000 low = 0 ans = (high + low)/2 numofsteps = 0 max_savings = 0 for i in range(1,num_months+1): max_savings += monthly_salary + current_savings * r/12 if i%6 == 0: monthly_salary *= (1 + semi_annual_raise) if max_savings < down_cost: return print('It is not possible to pay the down payment in three years.') min_savings = 0 for i in range(1,num_months+1): min_savings += monthly_salary * 0.0001 + current_savings * r/12 if i%6 == 0: monthly_salary *= (1 + semi_annual_raise) if min_savings > down_cost: return print('You don\'t really need to save, mate.') while abs(current_savings - down_cost) > 100: current_savings = 0 monthly_salary = annual_salary/12 numofsteps += 1 for i in range(1,num_months+1): current_savings += monthly_salary * ans/10000 + current_savings * r/12 if i%6 == 0: monthly_salary *= (1 + semi_annual_raise) if current_savings > down_cost: high = ans else: low = ans ans = (high + low)/2 print('Best savings rate:', round(ans/10000,4)) print('Steps in bisection search:', numofsteps)
Current count: 89 + 346 = 435
Number of weeks: 10
Overall weekly growth rate: 34.7%
Global weekly growth rate: 17.2%
China weekly growth rate: 55.5%
27 Nov - Dec 3:
20 Nov - Nov 26:
13 Nov - 19 Nov:
6 Nov - 12 Nov:
30 Oct - 5 Nov:
23 Oct - 29 Oct:
16 Oct - 22 Oct:
9 Oct - 15 Oct:
2 Oct - 8 Oct:
25 Sept - 1 Oct:
18 Sept - 24 Sept:
Scroll down and find a path (free courses or tutorials)
Click on the image and start learning!
Click '•••' to choose from other options.
astra: "In this video I will cram as much as possible about CSS. We will be looking at styles, selectors, declarations, etc. We will build a CSS cheat sheet that you can keep as a resource and we will also create a basic website layout. We are using CSS3 but mostly the basics. I will be creating an advanced CSS course with animations, etc. I do have a Flexbox in 20 minutes video as well if you want to learn flexbox."
astra: Why Python? It's a very popular way to writing computer programs and automations with board applications: SpaceX & NASA use it to launch rockets, Tesla with autonomous driving, Instagram as a web app backend, Intel to pilot drones/UAVs, and many many others.
astra: Python Django Tutorials. In this series, we will be learning how to build a full-featured Django application for scratch. We will learn how to get started with Django, use templates, create a database, upload pictures, create an authentication system, and much much more.
ivanv: "In this Django 2.x crash course we will build a polling app based off the one from the docs. We will look at apps, views, models, urls, the shell and more."
astra: This is a brief crash course on Node.js for you to quickly pick up what it is and how you can use it.
astra: This is an AstraPath that dives into coding interview questions from big tech companies.
astra: CS Dojo is an ex-Google software engineer. He explains CS concepts far better most college professors. Check it out if you have a hard time learning data structure and algorithm in school or if you're a self-taught software engineer.
astra: This is a very practical AstraPath that briefly walks you through the fundamentals of the Python language.
kimiswang: This is a software design course by udacity.
astra: This is a very practical AstraPath that's heavily skill-oriented. There isn't much theory but step-to-step guides in learning Python and using Python to achieve a variety of things. If you don't like college-style CS courses, this is your friend. Take a look and take it easy!
astra: This is a one of the very best computer science courses for beginners. It teaches you not only Python, but also the logic and computational thinking behind every programming language. Python is a very popular and, in my opinion, elegant language. It has an ever-growing library and an enormous community of developers. As a beginner, you could easily find answers to any questions you would potentially have on the Internet as you learn. CS50 by Harvard is a similar introductory course but teaches the C language instead, which is also a good choice to begin with. Besides the difference in language, arguing about which course is better is like having a fight on whether MIT or Harvard is better. Pick MIT.
astra: This is the continuation of Introduction to Computer Science and Programming in Python (https://astrasum.com/astrapath/1) "It aims to provide students with an understanding of the role computation can play in solving problems and to help students, regardless of their major, feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. "