As you begin to create programs in the Alice environment that require variables you'll want to note that when you begin the Alice environment in a new Alice world you'll notice that in the world.my first method method, which is the default method that is incorporated automatically into every Alice world, you see that there is, by default, no variables. You literally see the words No variables located underneath the tab. On the right-hand side you see a button that says create new variable which allows you to open the new variable dialog box which allows you to store information in a method when it runs. And as we will discuss, you can choose from various data types, so if I were to click on create new variable it then provides me this Create New Local Variable dialog box which then we will provide some information. Notice that there is a spot for the Name, to specify the Type and initial Value and depending on whether you choose the Number, Boolean, Object, or Other you'll then have some various options and you'll notice the default Value varies depending on whether you choose Number, Boolean, Object, or String as well. And notice String is part of the "Other" category. Before we complete this box we need to look at some of the ground rules that are associated with creating and declaring variables so we'll do that and come back to this screen. When you're ready to declare a variable, which that's really what you're doing when you're creating a variable, thus called declaring a variable, as you saw you click the create new variable button. You will then enter the name of the variable. I'll discuss some suggestions in the next slide. You'll need to also specify the Data Type. You will select from the appropriate radio buttons: Number, Boolean, Object, or Other and once again, note that the String Data Type is part of the "Other" group. You can enter an initial value or leave the default as None and then once you've satisfied all those entries you can then click the OK button. Now when you're ready to Name a variable there are some rules and then there's some suggestions. The rules are very simple, is that you want to create a word which has no spaces and whether you use uppercase or lowercase is really up to you. The suggestion is, is to use camel casing which means that you begin with lowercase letters and then use uppercase letters only for subsequent words, but again, no spacing. All one word. Numbers are acceptable in variables but again, the standard convention is to begin with a lowercase letter. The most important thing about a variable name is that it should be meaningful and easily referenced. You don't want to have to keep trying to remember what your variable names are. As your programs become more complex you'll have lots of variable names and variables, to as much as they can be, should be as intuitive and self-describing as possible. The key to declaring variables is where they are declared. There are two common places where variables can be declared in an Alice world. They can be declared within the code belonging to a method or a function. This is referred to as a local variable. You can also declare a variable within an object but outside of a method or function. This is referred to as a property of the object. The most common is the local variable. Another factor, or another consideration, is the Lifetime of variables. With local variables, variables are available only when the particular method or function is being executed; that is, the variable ceases to exist once the method or function is no longer running in memory at that point in time during the program. Local variables cannot be used to forward data from one method to another since they are no longer available when their method is no longer executing; that is, only one method can be executing at a time, so once that method ceases to exist in the run of the program any data associated with that is also unavailable. The Lifetime of object variables, however, which are associated with objects or actually properties of that object and they're available whenever the object is created. And since objects cannot be deleted or, for that matter, they can't even be created while the program is executing, these properties exist and are available while the project is running; that is, the entire time, so if you want a variable that is available throughout the entire run of the program while the program is executing, you'd want to associate that variable with an object and that's just creating a property of that object but is referred to as a variable for that object. This is the key difference between Local Variables and Object Variables. Once again, local variables are only available at that point in time while that specific method or function is executing in that program where an object variable is available throughout the entire run of the program since the object, by definition, is going to be in the program the entire time. An object cannot be created while the program is running and it cannot be deleted while the program is running. Now don't confuse this with making objects appear and disappear. That simply is affecting their visibility, but they actually still do exist, it's just that they're not visible. But objects can only be created prior to the execution of the program at design time by the programmer. We'll look at some other examples of variables, but let's return to our Alice screen to look at the declaration of the variables. So here you see that we have a blank world and I'll click the create new variable and just for a quick demonstration I will create a variable and I will call it ageOfPerson and I'm going to make this a number variable so I'll choose the Number data type. I could select a default value of 1, is the default value, I could choose a different number if I wanted to. I'm going to make the default value zero and that's all I need to do for this particular variable. And once I click OK you will see that this variable now is included in the my first method belonging to the world. This is a Number variable; I can tell by looking at the icon on the tile, the 123 icon indicates that this is a number variable. I'll create one more quick one just for comparison sake and I will name this nameOfPerson and I'm going to make this a String, so I'm going to choose Other and then choose String and I'm going to leave the default String just as you see it, default string for now and click OK. Now, once again, you now see a second variable in my first method and you see the difference in the icon associated with the nameOfPerson tile, ABC, indicating that that is a text, or a string variable compared to the 123, which indicates this is a number variable. In subsequent movies we'll begin to look at programs and incorporate variables in a variety of ways to help solve our problem and make your Alice Worlds much more complex and more meaningful.
TERMS & CONDITIONS OF USE
BY SUBSCRIBING TO THIS SERVICE, YOU ARE CONSENTING TO BE BOUND BY AND ARE BECOMING A PARTY TO THIS AGREEMENT, THE TERMS AND CONDITIONS OF WHICH SHALL PREVAIL IN GOVERNING YOUR RIGHTS OF USE. BY CLICKING THE "BECOME A MEMBER" BUTTON, THE INDIVIDUAL OR ENTITY LICENSING THE PRODUCT ("YOU") IS CONSENTING TO BE BOUND BY AND IS BECOMING A PARTY TO THIS AGREEMENT. IF LICENSEE DOES NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, THE BUTTON INDICATING "BECOME A MEMBER" MUST NOT BE SELECTED, AND LICENSEE MUST NOT INSTALL OR USE THE SOFTWARE.
"VTC" refers to Virtual Training Company,
"You" refers to the user or subscriber.
"Software" refers to the VTC training content and software.
2. LICENSE: VTC hereby grants to You a worldwide, non-royalty bearing, non-exclusive license to use the Software according to the provisions contained herein and subject to payment of the applicable subscription fees.
3. RESTRICTIONS: You may not do any of the following:
Save the Software to Your hard disk or other storage
medium; permit others to use the Software except as specified by addendum;
modify, reverse engineer, decompile, or disassemble the Software; make
derivative works based on the Software; publish or otherwise disseminate
the Software. VTC, Inc., VTC Online University, and the Virtual Training
Company site is owned and operated by VTC, Inc. as a corporation of
All materials on this site are the property of VTC unless otherwise specified. No material from these pages may be copied, reproduced, republished, downloaded, uploaded, posted, transmitted, or distributed in any way. Modification of the materials or use of the materials for any other purpose is a violation of U.S. copyright law and other proprietary rights. For purposes of this Agreement, the use of any such material on any other web site or networked computer environment is prohibited.
4. FEES: The rights granted under this Agreement
are effective only upon payment of the subscription fees, which are
strictly non-refundable other than as expressly provided herein. The
term "monthly subscription" is defined as any 30 day period.
The term "yearly subscription" is defined as one 365 day
period. A yearly subscription ends on the same numerical date as it
began (example July 28, 2004 to July 28, 2005).
The VTC Online University is access to every VTC training tutorial in our library. You pay a flat fee for access to these titles. You are billed according to your renewal selection below, and can renew monthly, yearly, or in any other increment offered. If you choose to be billed monthly, you will be billed every 30 days for the subscription until you request the subscription be cancelled. Our terms of service state that you must cancel a monthly subscription at least two business days before your renewal date. These two days give us enough time to ensure that you will not be charged again.
5. LIMITED WARRANTY: VTC warrants that the Software, if operated as directed, will substantially achieve the functionality described. VTC does not warrant, however, that Your use of the Software will be uninterrupted or that the operation of the Software will be error-free or secure. In addition, the security mechanisms implemented by the Software have inherent limitations, and You must determine that the Software sufficiently meets Your requirements. VTC also warrants that the media containing the Software, if provided by VTC, is free from defects in material from the date You acquired the Software. VTC's sole liability for any breach of this warranty shall be, in VTC's sole discretion: (i) to replace Your defective media or Software; or (ii) to advise You how to achieve substantially the same functionality with the Software as described; or (iii) if the above remedies are impracticable, to refund the subscription fee You paid for the Software. Only if You inform VTC of Your problem with the Software during the applicable subscription period will VTC be obligated to honor this warranty. VTC will use reasonable commercial efforts to repair, replace, advise, or refund pursuant to the foregoing warranty within thirty (30) days of being so notified. If any modifications are made to the Software by You during the warranty period; if the medium is subjected to accident, abuse, or improper use; or if You violate the terms of this Agreement, then this warranty shall immediately terminate. This warranty shall not apply if the Software is used on or in conjunction with hardware or software other than the unmodified version of hardware and software with which the Software was designed to be used as described.
THIS IS A LIMITED WARRANTY, AND IT IS THE ONLY WARRANTY MADE BY VTC OR ITS SUPPLIERS. VTC MAKES NO OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTIES' RIGHTS. YOU MAY HAVE OTHER STATUTORY RIGHTS. HOWEVER, TO THE FULL EXTENT PERMITTED BY LAW, THE DURATION OF STATUTORILY REQUIRED WARRANTIES, IF ANY, SHALL BE LIMITED TO THE ABOVE LIMITED WARRANTY PERIOD. MOREOVER, IN NO EVENT WILL WARRANTIES PROVIDED BY LAW, IF ANY, APPLY UNLESS THEY ARE REQUIRED TO APPLY BY STATUTE NOTWITHSTANDING THEIR EXCLUSION BY CONTRACT. NO DEALER, AGENT, OR EMPLOYEE OF VTC IS AUTHORIZED TO MAKE ANY MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS LIMITED WARRANTY.
6. PROPRIETARY RIGHTS: VTC reserves all proprietary rights in and to the Software, is protected by copyright and other intellectual property laws and by international treaties. VTC, Inc.
Trademark Notice: VTC, Virtual Training Company,
Inc., The VTC Logo, and VTC Online University, are trademarks of VTC,
Inc. All other company and product names may be trademarks of their
The information contained herein is subject to change without notice. Copyright © 1995 - 2005 VTC, Inc. All rights reserved.
7. TERMINATION: This Agreement shall automatically terminate if You fail to comply with the restrictions described herein. Your obligations to pay outstanding subscription fees shall survive any termination of this Agreement.
8. LIMITATION OF LIABILITY: UNDER NO CIRCUMSTANCES
AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE, SHALL VTC
OR ITS SUPPLIERS OR RESELLERS BE LIABLE TO YOU OR ANY OTHER PERSON
FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF
ANY CHARACTER, INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL VTC BE LIABLE FOR ANY
DAMAGES IN EXCESS OF THE AMOUNT VTC RECEIVED FROM YOU FOR A LICENSE
TO THE SOFTWARE, EVEN IF VTC SHALL HAVE BEEN INFORMED OF THE POSSIBILITY
DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM VTC'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
9. Links To Other Materials: Linked sites found at the VTC site are not under the control of VTC, and we are not responsible for the content of any linked site or any link contained in a linked site. VTC may change links based solely on our discretion, and we reserve the right to terminate any link or linking program at any time. VTC does not, by linking to sites, endorse companies or products to which it links and reserves the right to note as such on its web pages. If you decide to access any of the third party sites linked to this site, you do this entirely at your own risk.
Forums, and Chat are not always screened by VTC, and we are not responsible for the content of any public or open forum content at the site. VTC may change these public forums based solely on our discretion, and we reserve the right to terminate any forum at any time. VTC does not, by allowing these forums, endorse companies or products which may be mentioned in these forums, and reserves the right to note as such on its web pages. If you decide to access any of the public forums in this site, or linked to this site, you do this entirely at your own risk.
9. GOVERNING LAW & DISPUTE RESOLUTION: This Agreement is governed by Virginia law. All disputes between You and VTC shall be finally resolved through arbitration in Winchester, Virginia. This site is controlled by VTC from its offices within the United States of America. VTC makes no representation that materials in the site are appropriate or available for use in other locations, and access to them from territories where their content is illegal is prohibited. Those who choose to access this site from other locations do so on their own initiative and are responsible for compliance with applicable local laws. You may not use or export the Materials in violation of U.S. export laws and regulations. Any claim relating to the Materials shall be governed by the internal substantive laws of the Commonwealth of Virginia, USA.
VTC may revise these Terms at any time by updating this posting. You should visit this page from time to time to review the then-current Terms because they are binding on you. Certain provisions of these Terms may be superseded by expressly designated legal notices or terms located on particular pages at this Site.
If you have any questions regarding this policy,
or your information specifically,
you may email us at:firstname.lastname@example.org.