Difference between revisions of "Python/C2/Using-sage-to-teach/English-timed"
From Script | Spoken-Tutorial
Line 107: | Line 107: | ||
|- | |- | ||
| 3:50 | | 3:50 | ||
− | | '''Plot the sine curve and vary its frequency using the | + | | '''Plot the sine curve and vary its frequency using the @interact'' feature. |
|- | |- | ||
Line 175: | Line 175: | ||
|- | |- | ||
|6:12 | |6:12 | ||
− | |So the error that we have rectified is after sin(2*t) we have | + | |So the error that we have rectified is after sin(2*t) we have accidentally placed an extra bracket. |
|- | |- | ||
Line 307: | Line 307: | ||
|- | |- | ||
|11:34 | |11:34 | ||
− | | Open a worksheet and in the top right, we can see a button called | + | | Open a worksheet and in the top right, we can see a button called publish |
− | + | ||
|- | |- | ||
|11:40 | |11:40 | ||
Line 419: | Line 418: | ||
|- | |- | ||
|14:05 | |14:05 | ||
− | |2. What is the input widget resulted by using n = [2, 4, 5, 9] | + | |2. What is the input widget resulted by using n = [2, 4, 5, 9]\ in the default arguments along with @interact. |
|- | |- |
Revision as of 11:35, 12 March 2013
Timing | Narration |
---|---|
0:02 | Hello friends and welcome to the tutorial on 'Using SAGE to teach'. |
0:07 | At the end of this tutorial, you will be able to,
|
0:19 | Before beginning this tutorial,we would suggest you to complete the tutorial on "Getting started with Sage" and "Getting started with Symbolics." |
0:30 | Let us start by looking at a typical example of demonstrating a damped oscillation. |
0:40 | So you can type t=var('t') ,then next line you can type p1=plot (e raised to minus (-t)into sin of (2 into t),(t,0,15)) |
1:06 | then third line you can type show(p1) |
1:17 | Now let us reduce the damping factor by half |
1:23 | so for that you have to type t=var('t') |
1:33 | then p1=plot(e raised to (-t by 2) * sin(2 into t),(t,0,15)) |
1:48 | then third line you can type show(p1) |
1:53 | Now, if we want to reduce the damping factor even more, we would be using e charat to (-t by 3). |
2:04 | We can observe that every time we have to change, all we do is change something very small and re-evaluate the cell. |
2:10 | This process can be simplified, using the @interact feature of SAGE. |
2:17 | So you can type @interact ,then def plot_damped(n-1): |
2:32 | Then, t=var('t') |
2:49 | p1=plot (e raised to(-t/n) * sin(2*t),(t,0,20)) |
3:01 | then type show(p1) |
3:11 | We can see that the function is evaluated and the plot is shown. |
3:15 | We can also see that there is a field to enter the value of n and it is currently set to 1 . |
3:21 | Let us change it to 2 and hit enter. |
3:23 | So you type 2 and hit enter. |
3:29 | We see that the new plot with reduced damping factor is shown. |
3:33 | Similarly we can change n to any desired value and hit enter and the function will be evaluated. |
3:41 | This is a very handy tool while demonstrating or teaching. |
3:45 | Pause the video here, try out the following exercise and resume the video. |
3:50 | 'Plot the sine curve and vary its frequency using the @interact feature. |
3:57 | Now, switch to your worksheet for solution. |
4:03 | You can type @interact |
4:08 | then def sine_plot(n=1): |
4:12 | then x=var('x') |
4:18 | then p2=plot (sin(n*x),(x,0,2*pi)) |
4:27 | then finally you can type show(p2) |
4:43 | So often we would want to vary a parameter over range instead of taking it as an input from the user. |
4:51 | For instance we would not want the user to give n as 0 for the damping oscillation we discussed. |
4:56 | In such cases we use a range of values as the default argument. |
5:02 | at the rate interact |
5:10 | should be typed in the worksheet so in the worksheet you can type |
5:14 | @interact then def plot underscore damped(n=(1..10)): |
5:28 | then next line you can type t=var('t') |
5:36 | then p1=plot(e raised to (-t/n) * sin(2*t)),(t,0,20)) |
5:52 | then you can type show(p1) |
6:08 | Now we had seen an error |
6:12 | So the error that we have rectified is after sin(2*t) we have accidentally placed an extra bracket. |
6:25 | So we get similar plot but the only difference is the input widget. |
6:30 | Here it is a slider unlike an input field. |
6:35 | We can see that the slider is moved, the function is evaluated and plotted accordingly. |
6:48 | Pause the video here,and try out the following exercise and resume the video. |
6:52 | Take a string as input from user and circular shift it to the left and vary the shift length using a slider. |
7:03 | For this problem, again we will use the @interact feature of sage. |
7:09 | We shall first assign a string say 'MADAM' to a variable and then shift the alphabets one by one. |
7:17 | So we can type @interact |
7:21 | def str_shift(s="MADAM", shift=(0..8)) colon |
7:33 | then you can type shift_len=shift modulus len(s) |
7:40 | then chars=list(s) |
7:46 | then shifted_chars=chars[shift_len:]+chars[: shift_len] |
8:03 | then print "Actual String:",s |
8:11 | then print "Shifted String:", "".join(shifted_chars) |
8:28 | As we move the slider, we see that shifting is taking place. |
8:40 | Sometimes we want the user to have only a given set of options. |
8:44 | We use a list of items as the default argument in such situations. |
8:50 | So we can type @interact |
8:57 | then def str_shift(s="STRING",shift=(0..8), direction=["Left","Right"]): |
9:10 | then next line shift_len=shift modulus len(s) |
9:24 | then chars=list(s) |
9:26 | if direction=="Right" colon |
9:32 | then shifted_chars=chars[-shift_len colon]+chars[colon -shift_len] |
10:01 | else colon shifted_chars=chars[shift_len colon]+chars[colon shift_len] |
10:26 | then type print "Actual String:",s |
10:32 | then print "Shifted String:", "" |
10:52 | then dot join(shifted_chars) |
11:01 | We can see that buttons are displayed which enables us to select from a given set of options. |
11:11 | We see that, as we select left or right button, the shifting takes place appropriately. |
11:18 | Thus, we have learnt how to use the @interact feature of SAGE for better demonstration. |
11:24 | Now we shall look at how to use SAGE worksheets for collaborative learning. |
11:30 | The first feature we shall see is the publish feature. |
11:34 | Open a worksheet and in the top right, we can see a button called publish |
11:40 | Click on that and we get a confirmation page with an option for re-publishing. |
11:52 | For now lets forget that option and simply publish by clicking yes . |
11:58 | The worksheet is now published. |
11:59 | Now lets sign out and go to the sage notebook home. |
12:04 | We see link to browse published worksheets. |
12:08 | Lets click on it and we can see the worksheet. |
12:12 | This does not require login and anyone can view the worksheet. |
12:17 | Alternatively, if one wants to edit the sheet, there is a link on top left corner that enables the user to download a copy of the sheet onto their home. |
12:36 | This way they can edit a copy of the worksheet. |
12:41 | We have learnt how to publish the worksheets to enable users to edit a copy. |
12:45 | Next, we shall look at how to enable users to edit the actual worksheet itself. |
12:51 | Let us open the worksheet and we see a link called share on the top right corner of the worksheet. |
13:03 | Click the link and we get a box where we can type the usernames of users whom we want to share the worksheet with. |
13:10 | We can even specify multiple users by separating their names using commas. |
13:15 | Once we have shared the worksheet, the worksheet appears on the home of shared users. |
13:22 | This brings us to the end of this tutorial. |
13:24 | In this tutorial, we have learnt to, |
13:25 | Use interactive features of SAGE using @interact . |
13:30 | then publishing our work. |
13:32 | then edit a copy of one of the published worksheets. |
13:35 | then share the worksheets with fellow users. |
13:39 | Here are some self assessment questions for you to solve |
13:44 | 1. Which default argument, when used with @interact gives a slider starting at 0 and ending in 10. |
13:52 | options are (0..11) |
13:54 | then range(0, 11) |
13:55 | Then [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] separated by comma |
14:01 | then in brackets (0..10) |
14:05 | 2. What is the input widget resulted by using n = [2, 4, 5, 9]\ in the default arguments along with @interact. |
14:23 | options are input field, set of buttons, slider, None |
14:29 | Now we will look at the answers, |
14:31 | 1.The default argument, used with @interact which gives a slider starting at 0 and ending in 10 is (0..10). |
14:42 | 2. The input widget resulted by using n = [2, 4, 5, 9] in the default arguments along with @interact will be a set of buttons that is the second one.
|
14:57 | Hope you have enjoyed this tutorial and found it useful. |
15:01 | Thank you! |