3.Hands On Lab
- 格式:pdf
- 大小:1.12 MB
- 文档页数:35
Brewster AcademyChemistryStudent Safety ContractPurposeScience is a hands-on laboratory class. You will be doing many laboratory activities that require the use of hazardous chemicals. Safety in the chemistry classroom is the #1 priority for students, teachers, and parents. To ensure a safe chemistry classroom, a list of rules has been developed and provided to you in this student safety contract. These rules must be followed at all times. The bottom portion must be signed by you, printed, and turned in to your teacher before you can participate in laboratory experiments. The upper portion is to be kept in your chemistry binder as a reminder of the safety rules.General Guidelines1. Conduct yourself in a responsible manner at all times in the laboratory. Never fool around. Distilled water bottles are to never be used for anything other than the specified use in the procedure. Do not wander around the room, distract other students, or interfere with the lab experiments of other students.2. Any time chemicals, heat, or glassware are used students will wear goggles.3. Know the locations and operating procedures of all safety equipment including the first aid kit, eye wash/safety shower, fire extinguisher, fire blanket, absorbent material for some liquid spills (kitty litter), and sand used to smother chemical fires and electrical fires.4. Never leave a lit Bunsen burner unattended. Long hair and loose clothing are dangerous. Tie back long hair and be careful around flames and chemical spills if wearing loose-fitting clothing.5. Report any accident, no matter how small. If a chemical gets on your skin or in your eyes, flush with water. Let your teacher know immediately.6. Be prepared for your work in the laboratory. Read all procedures thoroughly before entering the laboratory area. Follow all written and verbal instructions carefully. If you do not understand a direction, part of a procedure or how touse a piece of equipment, ask the instructor before proceeding.7. No student may work in the laboratory without an instructor present.8. When first entering a chemistry room, do not touch any equipment, chemicals,or other materials in the laboratory until you are instructed to do so.9. Do not eat food, drink beverages, or chew gum in the laboratory.10. Perform only those experiments authorized by the instructor. Never do anything in the laboratory that is not called for in the lab procedure or by your instructor.11. Observe good housekeeping practices. Keep work areas clean. If you spill a chemical ask your teacher how to dispose of it. Clean all equipment and the lab table surface before leaving the lab area.12. Dispose of all chemical waste properly. Always be positive that it is safe to put something in the sink or in the regular trash container.13. Keep hands away from face, eyes, and mouth while using chemicals. Wash your hands after performing all experiments.14. Check the label twice before removing any of the contents of a container. Take only as much as you need. Never return unused chemicals to the original container. Once you take it out, it is contaminated. If you have a large amountleft over tell your teacher.15. Always add acid to water, not the other way around.16. Examine the glassware before each use. Cracked glassware will break when heated. Never touch broken glass with your hands. Tell your teacher of the breakage and he/she will get the equipment necessary to clean up the mess.17. Do not put hot glassware into cold water; it will break.18. Hot glass and most hot metals look the same as cool glass and cool metal. Be very careful before touching anything that has been heated.19. Never look into the top of a container when it is being heated.20. Do not place hot equipment directly onto the lab table. Always use a hot pad which can be found in a lab drawer.*********************************************************************************I have read and agree to follow all of the safety rules set forth in this contract. I realize that I mustobey these rules to ensure my own safety and that of others. I understand that if I show unsafe laboratory conduct then I will be asked to leave the lab area, may earn a zero on the lab and may bebanned from the lab area for the rest of the semester._______________________________ ______________Student Signature Date。
AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1 Course OverviewAP® Computer Science A is both a course for potential computer science majors anda foundation course for students planning to study in other technical fields such asengineering, physics, chemistry, and geology. The course emphasizes programmingmethodology, procedural abstraction, and in-depth study of algorithms, data structures,and data abstractions, as well as a structured lab component comprised of a minimumof 20 hours of hands-on lab experiences integrated throughout the course. [CR6]Instruction includes preparation for the AP Computer Science A Exam. In teachingthis course, my reward comes when students can apply the programming tools theyhave learned to real-life examples on their own. Computer science is more than justprogramming. Students should leave my class with a clear understanding of Java and theability to adapt to any new programming language that they are taught in college. I wantthem to have the confidence to tackle any problem-solving obstacles they encounter.Major TextsBergin, Joseph et al. Karel J Robot: A Gentle Introduction to the Art of Object-OrientedProgramming in Java. Redwood City, Calif.: Dreamsongs Press, 2005./~bergin/KarelJava2ed/Karel%2B%2BJavaEdition.htmlHorstmann, Cay. Big Java. Hoboken, N.J.: Wiley, 2012.Lambert, Ken, and Martin Osborne. Fundamentals of Java: AP Computer Science Essentials.Boston: Course Technology, 2010.Course PlannerThe resources list includes the following text references: Karel J. Robot (KJR), Big Java(BJ), and Fundamentals of Java (FJ).Unit 1 (Weeks 0-3)Karel J. Robot(Introduces objects and inheritance)Topics:• Objects• Classes• Looping• ConditionalsObjectives:• Write and use simple classes with Karel J. Robot• Learn the basics of conditionals and loopingAssessments:[CR1]• Program-specific tasks for Karel• Create a SmartRobot Class to teach Karel more commands: turnRight(), CR1— The course teaches students to design and implement computer-based solutions to problems.CR6— The course includes a structured lab component comprised of a minimum of 20 hours of hands-on lab experiences.AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1 turnAround(), climbStair()• Clear a field of beepers (using loops)• Redistribute a field of beepers (using loops and conditionals)• Run a hurdle race:o Same height and equally spaced;o Same height and unequally spaced; ando Different heights and unequally spaced.Unit 2 (Week 4)Java BasicsTopics:• Computer basics• Java basics• Using the compiler• Input and outputObjectives:• Understand terminology: CPU, system and application software, primary andsecondary memory, LAN, WAN, hard disk, CD-ROM• Understand computer ethics such as acceptable use policies, copyright, intellectualproperty, freeware, shareware, downloading music• Understand how all the different parts of the computer work together• Understand terminology: compiler, IDE, JVM• Edit, compile, and run a simple program in Java• Understand the different compile time errors, runtime errors, and logic errors• Use BufferedReader for input• Use output with System.out using print and println and formatoutput to look niceAssessments: [CR1]• Labs: Triangle, rectangle, square; area; and perimeter program• Get input for the registrar’s office program• Label the parts of the computerStrategies:• To discuss computer ethics, begin by looking at the school’s acceptable use policy, then go to the Web and look at the ACM’s code of ethics. Students will write a small paper in favor of or against something related to computer ethics, such as making copies of a copyrighted program and giving it away for free. [CR7]• Assign a lot of small programs that illustrate different types of input and output—make sure students have used every type of input and displayed it in different ways. Unit 3 (Week 5)CR1— The course teaches students to design and implement computer-based solutions to problems.CR7— The course teaches students to recognizethe ethical and social implications of computer use.AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1 Defining Variables, Arithmetic ExpressionsTopics:• Using and understanding variables• Comments• Arithmetic expressions in Java programs• Representing numbers in different basesObjectives:• Understand terminology: comments, variables, constants, reserved words, literals• Declare and initialize variables and constants in Java• Understand mathematical expressions in Java and their precedence• Understand how to change bases of numbers• Use casting to make their data more accurate• Understand limitations of finite representations of numbers such as the range ofintegers, real, and float• Use the assignment operator correctlyAssessments: [CR1]• Labs:o Paycheck program; have employee information entered and calculate payo Modify the paycheck program to also include any overtime hours in the calculationsStrategies:• Students need practice with how the different types, double and int, relate when they are used in mathematical operations• Present a lot of small program examples in which they have to find the errorsUnit 4 (Weeks 6-7)Introduction to Classes and OOPTopic:• Creating and using classesObjectives:• Understand terminology: constructor, accessor, mutator, instance variable, encapsulation, information hiding, procedural abstraction• Understand the difference between public and private access in a class• Use and comprehend the DecimalFormat class and the Random class• Write classes from scratch, choosing appropriate data representation• Understand how to declare a method and declare parameters in that method• Understand the use of preconditions, postconditions and assertions when designing methods• Understand the difference between OOP development and top-down development CR1— The course teaches students to design and implement computer-based solutions to problems.AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1 Assessments: [CR1]• Labs: Purse class and StampMachine classStrategies:• Give students classes to complete, in which they are given a description and they must choose appropriate representation for that classUnit 5 (Weeks 8-12)Conditionals and LoopingTopics:• if, if-else, while, forObjectives:• Understand terminology: control statements, counter, infinite loop, iteration, nested loops, logical operators, truth tables• Construct syntactically correct loops and conditional statements• Understand the different errors that may occur with loops and employ helpful debugging techniques such as hand-tracing and extra print statements to figure out errors• Use logical operators to make programs more robust• Construct truth tables• Be able to calculate statement execution counts, e.g., how many times did the loop execute?Assessments: [CR1][CR5]• Labs:o Approximate PI using Leibniz’s methodo Base Conversion: Convert from baseo 10 to base 2o Guess My Number gameo Euclidean algorithm programo Perimeter and area of rectangles using all combinations of certain rangeStrategies:• Students need practice writing different types of loops and conditionalsUnit 6 (Weeks 13-14)The String ClassTopic: [CR5]• String class CR1— The course teaches students to design and implement computer-based solutions to problems.CR5— The course teaches students to use elements of the standard Java library from the AP Java subsetin Appendix A of the AP Computer Science A Course Description.AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1 Objectives:• Instantiate String objects• Understand that Strings are immutable• Use appropriate String methods to solve problemsAssessments:Lab: Magpie[CR1]Strategies:• Work several examples using the substring methodUnit 7 (Weeks 15-17)Array ListTopic: [CR2b][CR5]• Using ArrayList classObjective:• Use the ArrayList methodsAssessments: [CR1]• WordList (2004 AP Computer Science A Exam, Free-Response Question 1, AP Central®)Strategies:• Stress the difference between add and set• Draw pictures of the ArrayList after add, set, and remove have been performedUnit 8 (Week 18)ArraysTopics: [CR2b]• Declaring and initializing arrays• Manipulating arrays with loops• Creating parallel arraysObjectives:• Understand terminology: array, element, index, logical size, physical size, parallel arrays• Declare one-dimensional arrays in Java CR2b— The course teaches students to use commonly-used data structures.CR5— The course teaches students to use elements of the standard Java library from the AP Java subsetin Appendix A of the AP Computer Science A Course Description.CR1— The course teaches students to design and implement computer-based solutions to problems.AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1• Use initializer lists when declaring arrays• Manipulate arrays using loops and array indices• Use the physical and logical size of an array together to guarantee they do not gobeyond the bounds of their array by identifying the boundary cases and using testdata to verify results• Understand how parallel arrays can be useful when processing certain types of data• Work with arrays of primitive data types as well as arrays of objects whileunderstanding the difference between the two types of data• Understand when to choose an array to represent data instead of an ArrayList[CR3]Assessments:• Lab:o For one-dimensional arrays, read in numbers and place each one in an even,odd, and/or negative list [CR1]Strategies:• Students need practice manipulating loops that work with arrays• Students also need to be reminded about the indexing of arrays beginning at zero Unit 9 (Week 19)Two-dimensional ArraysTopics:• Using 2-D arrays• Introduction to inheritance and interfaces• Class diagramsObjectives:• Understanding that 2-D arrays are stored as arrays of arrays• Understand the meaning of row-major order• Traversing all and part of a two-dimensional arrays• Using nested loops to manipulate objects in a two-dimensional array Assessments:• Lab: [CR1]o Picture and Picture lab activities 1-9o Picture lab extensions: steganography and chromakeyStrategies:• Focus on the order in which Java stores the elements of a two-dimensional array in the computer’s memory.• Learn how to write code that corresponds to a class diagram and learn how to draw a class diagram that describes code.CR1— The course teaches students to design and implement computer-based solutions to problems.CR3— The course teaches students to select appropriate algorithms and data structures to solve problems.AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1 Unit 10 (Weeks 20-21)Searching and Sorting ArraysTopic: [CR2a]• Bubble, Selection, Insertion sorts• Sequential and Binary searchesObjectives:• Write a method for searching an array• Perform insertions and deletions at given positions in arrays• Trace through sorting and searching algorithms and understand time constraints ofeach [CR3]• Understand the algorithms behind each of the following searching and sorting techniques: bubble, selection, and insertion sorts; sequential search and binarysearch• Understand the time efficiency of each sort and search and when it is desirable to use each one [CR3]• Identify reusable components from existing code using classes and class libraries • Given different scenarios, students should be able to choose the most appropriate sort or search [CR3]Assessments:• Lab:o Students make their own “utility” class that includes all of these sorts and searches [CR1]Strategies:• Students need practice tracing through sorts and searches and determining the runtime of each• Students also do well with a worksheet that addresses the efficiency of each of the strategies they have learned, efficiency for a sorted versus unsorted list, and “best,”“worst,” and “average” efficiencyUnit 11 (Weeks 22-24)Elevens LabTopics:• Game design and development• Experimenting with a large program• Using classes• Modifying classes• InheritanceObjectives:CR3— The course teaches students to select appropriate algorithms and data structures to solve problems.CR1— The course teaches students to design and implement computer-based solutions to problems.CR2a— The course teaches students to use and implement commonly used algorithms.AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1• Design a class that models a deck of cards• Analyze and discuss the efficiency of shuffling algorithms [CR3]• Extend an abstract Board classAssessments:• Lab: ElevensStrategies:• Be familiar with all the classes and interfaces discussed• Focus on the how the classes are related to one another and the reasons forpreferring one algorithm over another [CR3][CR4]Unit 12 (Weeks 25-27)More on Classes, Inheritance, InterfacesTopics:• Classes• Inheritance• Abstract classes• InterfacesObjectives:• Demonstrate inheritance by extending a class• Understand polymorphism and know when it is appropriate to override methods in asuper class• Create and extend an abstract class• Create and extend a class given class specifications with the relationships among theclasses described• Implement an interfaceAssessments: [CR1]• Create an abstract Shape class• Pet Parade (2004 AP Computer Science A Exam: Free-Response Question 2, on AP Central)Strategies: [CR4]• Draw pictures of the inheritance hierarchyUnit 13 (Weeks 28-29)Topic:• Inheritance CR1— The course teaches students to design and implement computer-based solutions to problems.CR4— The course teaches students to code fluently in an object-oriented paradigm using the programming language Java.CR3— The course teaches students to select appropriate algorithms and data structures to solve problems.AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1 Objective:• Use inheritance to extend the Critter class by making new types of EmployeesAssessments:• Exercises from the textStrategies:• Have fun with this chapter• Allow the students to be creative after working through the exercises and analysis• Create different kinds Employees[CR4]Unit 14 (Weeks 30-31)Recursion (and Merge Sort)Topics:• Recursion• Merge Sort [CR2a]Objectives:• Create a recursive method to solve a problem• Understand the difference between recursive and iterative solutions to a problem [CR3]• Understand and use the Merge Sort• Understand how to calculate the informal runtime of merge sort and compare it’s running time to the other sorts already learned [CR3]Assessments: [CR1]• Factorial program• Rewrite loop programs with recursionStrategies:• Ask, “What is returned by this method?”Unit 15 (Weeks 32-36)ReviewTopics:• Review AP Computer Science A topicsObjective:• Prepare for the AP Computer Science A Exam by reviewing material and taking practice exams CR3— The course teaches students to select appropriate algorithms and data structures to solve problems.CR1— The course teaches students to design and implement computer-based solutions to problems.CR2a— The course teaches students to use and implement commonly used algorithms.CR4— The course teaches students to code fluently in an object-oriented paradigm using the programming language Java.AP® Computer Science A Sample Syllabus 3 Syllabus 1172779v1 Assessments:• Practice examsTeaching StrategiesI strive to create a learning environment that is comfortable for all students. Thosewho have never touched a computer should be as at ease in my class as those who havetaught themselves how to program. I aim to foster critical thinking, a lifelong skill, and Iaccomplish this by giving challenging, yet not impossible, assignments. When new topicsare introduced, I use a hands-on approach of having students see and run examples.While the novices ask questions, more experienced students can make changes to theexamples and experiment with different outcomes.Experienced programmers help the novices in a mentoring program after school. Thispromotes student leadership and propels in-class learning.10。
高一英语大学实验室安全规范严格练习题50题1.In the laboratory, this sign means “Danger! High V oltage”.A.No smokingB.Danger! High V oltageC.Wear safety gogglesD.Emergency exit答案:B。
选项A“No smoking”表示禁止吸烟;选项B“Danger! High V oltage”表示危险!高压;选项C“Wear safety goggles”表示戴护目镜;选项D“Emergency exit”表示紧急出口。
题干中明确提到这个标志意思是“危险!高压”,所以选B。
2.The sign “Wear safety goggles” is often seen in laboratories.A.Wear glovesB.Wear safety gogglesC.No eating or drinkingD.Fire extinguisher答案:B。
选项A“Wear gloves”表示戴手套;选项B“Wear safety goggles”表示戴护目镜;选项C“No eating or drinking”表示禁止饮食;选项D“Fire extinguisher”表示灭火器。
题干说的是“戴护目镜”的标志,所以选B。
3.This sign indicates “No smoking”.A.No entryB.No smokingC.Caution! ChemicalsD.First aid kit答案:B。
选项A“No entry”表示禁止进入;选项B“No smoking”表示禁止吸烟;选项C“Caution! Chemicals”表示小心化学品;选项D“First aid kit”表示急救箱。
题干表明这个标志是“禁止吸烟”,所以选B。
4.The sign for “Emergency exit” is important in laboratories.A.Emergency exitB.Warning! Biological hazardC.Wear lab coatD.No running答案:A。
The Biology Club is a vibrant and engaging extracurricular group that brings together students with a shared passion for the natural world and the study of life.Heres a detailed introduction to what the club entails:Objectives of the Biology Club:The primary goal of the Biology Club is to foster a deeper understanding and appreciation of biology among its members.It aims to provide a platform for students to explore various aspects of biology,from cellular processes to the behavior of complex organisms.Membership:Open to students of all grade levels,the club encourages participation from beginners to those with advanced knowledge in the field.Members are expected to show a genuine interest in learning and contributing to the clubs activities.Activities:1.Lectures and Workshops:The club regularly organizes lectures by guest speakers, including university professors and professionals in the field of biology.These sessions cover a wide range of topics,from genetics to ecology.2.Field Trips:To complement theoretical knowledge,the club organizes field trips to local parks,nature reserves,and sometimes even further afield to national parks or research facilities.b Experiments:Members have the opportunity to conduct handson experiments in school laboratories,learning about various biological processes and techniques.munity Outreach:The club is involved in community service activities,such as environmental education programs in local schools or participating in cleanup drives in natural habitats.5.Research Projects:For more advanced members,the club provides guidance and resources to undertake independent research projects,which can be presented at school science fairs or even published in academic journals.6.Social Events:To build a sense of community among members,the club also organizes social events,such as movie nights featuring biological themes or group visits to science museums.Leadership Opportunities:The Biology Club offers leadership roles such as president,vicepresident,secretary,and treasurer,which are elected positions.These roles provide students with valuable experience in organizing events,managing budgets,and leading a team.Meetings:Regular meetings are held weekly or biweekly,depending on the clubs schedule and the academic calendar.These meetings are used to discuss upcoming events,share research findings,and plan for the clubs future activities.Impact:Participation in the Biology Club not only enriches students understanding of biology but also helps develop critical thinking,research skills,and a sense of environmental stewardship.It also provides a supportive community for students to share their interests and learn from one another.Joining the Club:Students interested in joining the Biology Club can do so by attending an introductory meeting or contacting the clubs faculty advisor.There may be a small membership fee to cover the costs of materials and activities.In conclusion,the Biology Club is an excellent way for students to delve deeper into the fascinating world of biology,make new friends with similar interests,and contribute positively to their community and the environment.。
ContentsLab 1:Initial Set-‐up (3)Step 1.1 Starting VMWare (5)Step 1.2 Start the “Ubuntu14-‐64-‐Training.ovf” image (5)Step 1.3 Creating the VM (6)Step 1.4 Starting the Brocade OpenDaylight controller (10)Step 1.5 Mininet (11)Step 1.6 Starting the Brocade ODL GUI to manage the network 13Step 1.7 Starting the Mininet network simulator (14)Lab 2:Step 2.1 Analyzing the Mininet topology file and using ovs-‐ofctl to check flows. (18)Step 2.2 Using Python scripts to manage flows. (21)Step 2.3 Using a REST Client GUI to manage flows. (26)On a Windows machine, VMWare Workstation should be used. A similar screen as below is shown when loading the .ovf files. Choose the folder where the .ovf files are stored and then click on “Open a Virtual Machine” to load the VM.Step 1.3 Creating the VMAt the “Choosing an Existing Virtual Machine” screen, click “Continue” to create the necessary VM:Save the VM with a Name of your choice (suggestion: leave the default name). Click “Save”:VMWare Fusion will proceed to import the .ovf file and create the VM. This will take a few minutes, depending on the characteristics of your computer:Once t he V M h as l oaded, c lick o n t he “Customize S ettings” b utton t o c hange t he n etwork s ettings:Next, c hoose t he “Network A dapter” o ption:Choose t he “WiFi” o ption t o a llow t he V M t o o btain a n I P a ddress f rom t he n etwork D HCP s erver:Close t he “System P references” w indow a nd c lick o n t he “play” a rrow o n t he n ext s creen t o s tart t he V M:After a f ew m oments t he f ollowing s creen w ill b e p resented:The p assword t o a ccess t he V M i s: b odlStep 1.4 Starting the Brocade OpenDaylight controllerThe next steps will guide the student to starting the Brocade OpenDaylight controller (BODL). First, note the IP address of the VM to be used later by Mininet. Open the Terminal application in the VM and type “ifconfig” at the prompt:Note the IP address of the VM here:______________________ (x.x.x.x)To start the BODL Controller, type the following commands in the Terminal application:cd opendaylight./run.sh -‐Xmx1300m -‐XX:MaxPermSize=260mThis will take a few minutes to complete. Once the controller is ready, it will be “listening” for inbound connections from an OpenFlow switch, which will be simulated by the Mininet topology generator. A Netconf connector will also be initialized.Step 1.5 MininetTo simulate a network topology that will be managed by the BODL Controller, we will use Mininet.In order to more realistically simulate a separate physical network, repeat steps 1.2 and 1.3 to bring up the Mininet VM. Use the “Mininet.ovf” file to bring up the Mininet VM. Ensure that you have the same option chosen for the network adapter as the previous VM.The u sername a nd p assword t o a ccess t he V M a re:login: m ininetpassword: m ininetVerify the Mininet VM IP address by issuing the ifcongif command:Brocade O DL H ands-‐On L absNote the IP address of the VM here:______________________ (y.y.y.y)Step 1.6 Starting the Brocade ODL GUI to manage the networkIssue the following commands to initialize the Brocade GUI. In a terminal window in the Training VM, type: cdcd build/bodl-‐ux/dlux-‐webgrunt liveNext, click on the Google Chrome icon in the start bar. In the address bar of the browser window, enter the following URL:http://localhost:9000/Use the following credentials to login:username: adminpassword: adminBrocade O DL H ands-‐On L absYou should see a screen similar to this one if everything is successful:Step 1.7 Starting the Mininet network simulatorIn the Mininet VM, type the following command to start a multipath topology. Use the IP address of the Training VM for the controller address (x.x.x.x – Step 1.4):/-- s2 --- s3 --\h1 --- s1 s5 --- h2\------- s4 ------/sudo mn --custom ./odl-paths-topo.py --switch ovsk,protocols=OpenFlow13 --controller=remote,ip=x.x.x.x,port=6633 --mac --topo pathstopoIn the Brocade ODL GUI, click on the “Paths” tab and scroll down to view a graphic representation of the topologycreated in Mininet:Close the browser and stop the controller (<CTRL>-C in the terminal window used to start the controller).Stop Mininet by exiting from the Mininet prompt (type exit) and clear the Mininet process with:sudo mn -‐cInform your instructor that you have completed Lab 1In the Training VM, start the BODL controller once more:~$cd opendaylight~$./run.sh -‐Xmx1300m -‐XX:MaxPermSize=260mIn the Mininet VM, Start the Mininet topology:~$sudo mn -‐-‐custom ./odl-‐paths-‐topo.py -‐-‐switch ovsk,protocols=OpenFlow13 -‐-‐controller=remote,ip=x.x.x.x,port=6633 -‐-‐mac -‐-‐topo pathstopoFrom the Training VM, use ovs-‐oftcl to check for any existing flows in the switches in the Mininet topology (there should be none at this point):~$ovs-‐ofctl dump-‐flows tcp:y.y.y.y:663xy.y.y.y is the address of the Mininet VM (step 1.5) and 663x is the port number of the switches, x=[4-8].Run a pingall command in the Mininet VM to initiate traffic flow between the hosts:mininet>pingallIn the Training VM terminal window, check the flows once again:The BODL Controller installs flows in all devices by default. Notice that only the CPE switches set the Destination MAC address as frames are sent out the specific host port. Go through the topology to understand where packets are sent through by default.Step 2.2 Using Python scripts to manage flows.Python scripts will now be used to manage the flows on the network.In the Training VM, navigate to the training_scripts folder. Several scripts have been pre-built and will be used to affect the flows on the switches:~$cd training_scripts/~$ls -‐laUse the get-‐paths.py script to retrieve the current path that flows take between the two hosts in the network:~$./get-‐paths.pyAt this point, there are no flows reported by the Python script since none have been added explicitly (no YANG path model exists yet, so the Python script doesn’t return any existing flows). The flows that exist on the switches were populated by the flow rule manager that creates the default path, so path has to be added by the update-path script first before it can be retrieved by the get-path script.Note that the scripts all reference the “requests” module, which is a Python module that uses RESTConf to communicate with the controller:Use the update_paths.py script to explicitly add a flow to the network. Recall that flows are unidirectional, so a flow in each direction is required:~$./update-‐paths.py –s 10.0.0.1 –d 10.0.0.2~$./update-‐paths.py –s 10.0.0.2 –d 10.0.0.1Notice the PUT command and the payload sent by the script to the controller using RESTConf.Use the get_paths.py script to verify the added flows:~$./get-‐paths.pyNote that paths for both flows follow the shortest number of hops in the network between the hosts. Change the default path by adding a waypoint. The waypoint should be one of the switches along the longer path through the network (s2 or s3):~$./update-‐paths.py –s 10.0.0.1 –d 10.0.0.2 –w openflow:2~$./update-‐paths.py –s 10.0.0.2 –d 10.0.0.1 –w openflow:2Once again, the flows have to be programmed in both directions.Check the new paths with the get-‐paths.py script:~$./get-‐paths.pyUse the ovs-‐ofctl command once more to dump the flows from the switches and discuss the output.Use the get-stats.py script to retrieve statistics from the devices:Use the delete-‐path.py script to remove a flow. Verify with the get-‐paths.py script.~$./delete-‐paths.py –s 10.0.0.1 –d 10.0.0.2~$./get-‐paths.pyDelete the remaining path and verify~$./delete-‐paths.py –s 10.0.0.2 –d 10.0.0.1~$./get-‐paths.pyStep 2.3 Using a REST Client GUI to manage flows.The next section will demonstrate how a graphical interface can be used to manage the flows in the network. Google Chrome has a REST Client that will interact with the BODL controller using REST Conf.In a terminal window in the Training VM, issue the google-‐chrome command:~$google-‐chromeWhen the browser window is displayed click on the Apps button on the top left-hand corner of the window:This will open the Apps window in Chrome. Next, choose the Advanced REST Client App:Once the REST Client GUI appears, you should see a screen similar to this:Choose the “GET” statement and in the URL bar, type the following to get a list of the nodes detected by the BODL Controller (click the “SEND” button to send the request to the controller):http://localhost:8080/restconf/operational/opendaylight-‐inventory:nodes/This will present a list of nodes, including the controller, the switches and the hosts. Click on the “-“ sign next to numerical value representing a particular node to contract the details of a particular node:Cycle through the different nodes and specific sub-categories to become familiar with the output of theREST Client GUI.The REST Client will now be used to populate a flow in the network. Use a PUT command with the following URL:http://localhost:8080/restconf/config/paths:paths/path/10.0.0.1/10.0.0.2This will tell the BODL Controller to create a path (following the Shortest Path regarding number of hops) between the two hosts, 10.0.0.1 and 10.0.0.2. Remember to add another path in the reverse direction.The payload of the PUT statement should contain the following:{"path": [ {"source-‐addr": "10.0.0.1","destination-‐addr": "10.0.0.2"} ]}Use the “SEND” button to send the PUT request:If the request was successful, a “200 OK” message should be visible:Use the GET statement with the following URL to verify the path through the network:http://localhost:8080/restconf/config/paths:paths/Scroll down on this page to view the paths and hops (s1-s4-s5):The REST Client can also be used to alter the existing path and set a waypoint. This is akin to traffic engineering, where the network administrator is routing traffic across a non-best path through the network. Use the PUT statement once again and a new payload to alter the flow in the network between the two hosts. Remember to do this in both directions:http://localhost:8080/restconf/config/paths:paths/path/10.0.0.1/10.0.0.2In this case, the URL is the same as before, when setting the initial best path flows. However, the payload now includes a waypoint that alters the best path algorithm:{"path": [ {"source-‐addr": "10.0.0.1","destination-‐addr": "10.0.0.2","waypoints": ["openflow:3"]} ]}Where “openflow:3” represents switch 3.Use the “SEND” button to send the PUT request to the controller. A “200 OK” message will be shown if the flow was correctly set.Verify the new paths through the network using the GET statement as before:http://localhost:8080/restconf/config/paths:paths/Note the difference in hops (s1-s2-s3-s5):Bonus step:Verify the paths at each of the previous steps with the python scripts provided earlier in a terminal window of the Training VM.Inform your instructor that you have completed Lab 2。
关于创新实验室的英语作文The Innovation Lab: A Catalyst for Transformative Learning.In the rapidly evolving landscape of education, innovation labs have emerged as pivotal spaces fostering transformative learning experiences. These dynamic environments provide students with unparalleled opportunities to explore cutting-edge technologies, engage in hands-on projects, and develop essential 21st-century skills. By immersing students in a culture of innovation, creativity, and problem-solving, innovation labs empower them to become lifelong learners and pioneers in their respective fields.Cultivating a Culture of Experimentation and Risk-Taking.At the heart of innovation labs lies a culture that encourages experimentation and risk-taking. Students aregiven the freedom to delve into new ideas, prototype solutions, and iterate upon their designs. Throughiterative cycles of testing, analyzing, and refining, students cultivate a mindset that embraces failure as an essential step in the learning process. This environment fosters a spirit of innovation, equipping students with the resilience and perseverance necessary to tackle complex challenges.Fostering Collaboration and Interdisciplinary Learning.Innovation labs break down traditional disciplinary boundaries, fostering collaboration and interdisciplinary learning. Students work in diverse teams, bringing together their unique perspectives and expertise. This cross-functional approach encourages students to think beyond the limitations of their individual fields and developsolutions that transcend traditional categories. By fostering collaboration, innovation labs promote a holistic understanding of problems and foster the development of well-rounded individuals.Empowering Student Innovation through Hands-on Projects.Hands-on projects form the cornerstone of innovationlab experiences. Students are actively involved in designing, prototyping, and testing solutions to real-world problems. This experiential learning approach allows students to apply their knowledge and skills in a tangible and meaningful way. By engaging in hands-on projects, students develop a deep understanding of the design process, learn from their mistakes, and refine their problem-solving abilities.Developing Essential 21st-Century Skills.Innovation labs are not merely spaces for experimentation and prototyping; they are also incubatorsfor essential 21st-century skills. Students develop their critical thinking, problem-solving, communication, and collaboration abilities through their experiences in the lab. They learn to think creatively, analyze problems from multiple perspectives, and effectively convey their ideas. These skills are highly valued in today's job market andempower students to become adaptable and successful in a dynamic and rapidly changing world.Preparing Students for Future Success.The experiences and skills gained in innovation labs extend far beyond the classroom. They prepare students to become active participants in a world driven by innovation and technological advancements. By fostering a culture of experimentation, collaboration, and hands-on learning, innovation labs empower students to develop the mindset, skills, and confidence necessary to thrive in an increasingly complex and interconnected society.Conclusion.Innovation labs are transformative spaces that redefine the learning experience. By immersing students in a culture of innovation, creativity, and problem-solving, they empower them to become lifelong learners and pioneers in their respective fields. Through hands-on projects, interdisciplinary collaboration, and the development ofessential 21st-century skills, innovation labs prepare students for future success in a world that demands innovation and adaptability. As the future of education unfolds, innovation labs will continue to play a vital role in shaping the next generation of innovators and leaders.。
Windows CE Hands on Lab摘要这份文件的目的是为了了解Windows CE操作系统以及其开发工具的特性,以下我们将在CEPC的硬件平台上,根据我们需求来建立客制化的Windows CE 映像档、将此映像档下载至CEPC上,并进一步的使用远程工具来进行除错的工作。
实验约需六十分钟完成。
Part 1 –建立平台映像档 ............................................................ 错误!未定义书签。
Step 1: 创造新的平台工作空间 . (3)Part 2 –客制化并建立平台 (7)Step 1: 选择平台- 除错 (7)Step 2: 开启Profiling Kernel 以及Event Tracking. (7)Step 3: 加入额外的特性到平台. (8)Step 4: 建立平台 (14)Part 3 –下载平台 (15)Step 1: 组态download 和debug transport (15)Step 2: 下载操作系统 (16)Part 4 –远程工具& Memory Leaks (18)Step 1: 远程性能监视器 (18)Step 2: 启用MemLeak的Debug Zones (21)Step 3: Kernel Tracker (26)Step 4: LMEMDEBUG (29)Step 5: 下载操作系统 (34)Step 6: 使用Memalyzer (35)Part 5 –实验总结 (41)恭禧!你完成了上面所有步骤 (41)Part 1 –建立平台映像档实验的第一步,你需要先启动Platform Builder并使用新的平台精灵(New Platform Wizard)来建立一个平台工作空间,我们在后面将会在此工作空间新增应用程序,还有修改登录档。
启动Platform Builder Start | All Programs | Windows CE .NET | Platform Builder (可能在桌面上也有快捷方式)Step 1: 建立新的平台工作空间你将使用平台精灵(Platform Wizard)来建立平台。
experimental skills 口语在口语中,"experimental skills"(实验技能)通常指的是一个人在进行科学实验或其他实验性工作时所具备的技能和经验。
如果你想以口语方式表达这个概念,可以使用以下一些常见的口头表达方式:1. 实验技能 (Experimental skills):• "I've gained some solid experimental skills during my time in the lab."• "Developing strong experimental skills is crucial in the field of research."2. 实地经验 (Hands-on experience):• "I've got a lot of hands-on experience in the lab, honing my experimental skills."• "Nothing beats hands-on experience when it comes to building experimental skills."3. 操作实验设备 (Operating lab equipment):• "I'm comfortable operating various lab equipment, a key part of my experimental skills."• "My job involves a lot of hands-on work, especially in terms of operating and maintaining lab equipment."4. 实际操作能力 (Practical skills):• "In addition to theoretical knowledge, practical skills are essential, especially in experimental work."• "I've been focusing on building practical skills, especially in the context of experiments."5. 实验室经验 (Lab experience):• "My lab experience has really strengthened my experimental skills."• "I've accumulated a lot of lab experience, which has improved my ability to conduct experiments effectively."在口语中,要根据具体语境选择最合适的表达方式,以确保你的意思清晰传达给听众。
Hands-On LabASI03-HOLWeb服务开发管理新体验–WCF4+Windows ServerAppFabricLab version: 1.0.0Last updated: 11/15/2010Virtual Machine Logon Details:UserName: Administrator, Password: P2ssW0rd概述WCF是.NET Framework提供一个统一调度编程模型,它能够创建应用程序组件并发布为Web服务。
不管是实现标准的W eb服务,还是开发一个具有高安全性的Web服务,都可以用相同的方法来开发服务逻辑。
只需要改变服务的配置,就可以改变Web服务的类型。
WCF提供了广泛而强大的功能。
在过去发布的WCF中,功能如此的广泛以至于开发人员往往难于抉择究竟使用何种配置。
在WCF4中,简化了配置。
创建标准的Web服务不必配置整个服务。
另外,我们可以用Windows Server进行服务托管,并且可以使用Windows Server AppFabric对服务进行管理。
在这个试验中你将创建一个简单的WCF服务。
你可以看到,使用WCF4是多么容易去实现,并且你将学到如何使用Windows Server AppFabric进行管理。
目标在实验中你将学习:∙如何使用WCF创建Web服务∙如何简化WCF使之更易使用∙如何使用Windows Server AppFabric部署和监控服务练习1:无配置服务在WCF4里,你能创造一个没有任何配置的服务。
在这个练习中,你将学习如何创造出一个没有任何配置的WCF服务。
作业1-创建一个Web Site1.点击开始->所有程序->Microsoft Visual Studio 20102.创建一个空白的网页应用程序图1新建一个空白的网页应用程序—C#图2 新建一个空白的网页应用程序—Visual Basic 作业2-创建WCF服务1.在新建的项目(Project)上点击右键,选择“Add -> New Item”图3创建一个叫EchoService.svc的服务—C#图4创建一个叫EchoService.svc的服务—Visual Basic2.打开IEchoService并修改它,如下:C#[ServiceContract]publicinterface IEchoService{[OperationContract]string Echo(string message);}Visual Basic<ServiceContract()>PublicInterface IEchoService<OperationContract()>Function Echo(ByVal message AsString) AsStringEndInterface3.在EchoService.svc点击右键,选择“View Code”。
Oracle Open World 2008 - Hands On Lab JD Edwards EnterpriseOneBusiness Service DevelopmentTable of Contents1TUTORIAL OVERVIEW (3)2CREATING A BUSINESS SERVICE (4)2.1Startup (4)2.2Add a Published Business Service Object (5)2.3Launch JDeveloper from OMW (8)2.4Add Input Value Object for Published Business Service (11)2.5Add Output Value Object for Published Business Service (15)2.6Creating the Published Business Service (20)2.7Adding a Business Function Call (24)3TESTING THE PUBLISHED BUSINESS SERVICE (29)1 Tutorial Overview JD Edwards EnterpriseOne Tools release 8.97 has added support for native web service development. This tools release provides the ability to aggregate JDE E1 Business Functions and Database Operations into a “Business Service” that can then be exposed as a web service. This lab demonstrates Business Services development capabilities within the JDEdwards EnterpriseOne product suiteIn this tutorial you will create the necessary objects to support a new “Published” Business Service called “CustomAddressManager” that will have an operation that will retrieve and format a customers mailing address.In this lab you will:• Create new Business Service records in the Object Management WorkBench (OMW)• Launch Jdev to edit and test the Business Service.• Create Input and Output Value Objects using the provided Jdev wizards.• Create Published Business Service using the provided Jdev wizards.• Modify the Published Business Service to call a Business Function to retrieve a customer’s formatted address.• Test the Published Business Service as a web service.2 Creating a Business Service 2.1 Startup1. Launch Solution Explorer for the Desktop Icon.2. Credentials are User:JDE: Password:JDE3. Type in “OMW” in Fast Path to Launch the “Object Management WorkBench:2.2 Add a Published Business Service Object1. Push the Find Button, Highlight the default OMW project (JDE), and click on the Add Button2. Select the Business Function radio button and click OK.3. On the Add Object form, complete the following fields and click the OK button:Object Name: JP55HOLDescription: Oracle Open World Hands On LabProduct Code: 55System Code: 55Object Use: 330Source Language: BSSVPackage Prefix: oracle.e1.bssv (Note: Use the flash light when the cursor is in the “Package Prefix” field to select this value)NOTE: The Package Prefix field is enabled when you select BSSV as the Source4. On the Business Function design form click OK to return to OMW.5. You should see the Published Business Service under the Objects node of your project.2.3 Launch JDeveloper from OMW1. In OMW, Select the Published Business Service (JP55HOL) and click on the Design button in thecenter column.2. Click on the Design Tools tab and then click on JDeveloper Install Path.3. Ensure that the Jdeveloper Install Path is set to e:\\Jdeveloper_BSSV and press OK.(Note: use the icon to select the Jdev install path)4. Click on the Design Tools tab and then click on Invoke JDeveloper.5. This will launch Oracle JDeveloper6. If you are prompted to migrate for older version of Jdev – Select No:7. If you are prompted to save files, select OK.Note: Your screen may not be exactly the same as the screenshot above.8. When JDeveloper opens, you will see a JDeveloper project for the Published Business Service(JP55HOL).2.4 Add Input Value Object for Published Business Service1. Select the Business Service (JP55HOL) and right click. Select New from the menu.2. Under Categories, select EnterpriseOne->Classes.Select Database Value Object Class and press the OK button.3. In the Create EnterpriseOne Database Value Object window, enter F0101 as the Object Nameand press the Find button. Select the table from the result and press the Next button.4. Select the following fields and press the Next button.Column Name DescriptionF0101.AN8 Address Number5. Set the Value Object Name to GetAddressFormat_Input and the Scope as Publish. Click theFinish button to create the input Value Object.6. The GetAddressFormat_Input Value Object should now be displayed in JDeveloper. Right-clickon any whitespace in the value object class and click on Generate Accessors.7. Select all the fields and press the OK button.8. The get and set methods for the value object elements have been created. You can scroll downto view these methods.9. Save the File.2.5 Add Output Value Object for Published Business Service1. Select the Business Service (JP55HOL) and right click. Select New from the menu.2. Under Categories, select EnterpriseOne->Classes.Select Business Function Value Object Class and press the OK button.3. In the Create EnterpriseOne Business Function Value Object window, enter B0100021 as theObject Name and press the Find button. Select the Business Function from the result and pressthe Next button.4. Select the following fieldsColumn Name AliasszNameMailing MLNMszAddressLine1 ADD1szAddressLine2 ADD2szAddressLine3 ADD3mnAddressNumber AN85. Set the Value Object Name to GetAddressFormat_Output and the Scope as Publish. Click theFinish button to create the output Value Object.6. The GetAddressFormat_Output Value Object should now be displayed in JDeveloper. Right-clickon any whitespace in the value object class and click on Generate Accessors.7. Select all the fields and press the OK button.8. The get and set methods for the value object elements have been created. You can scroll downto view these methods. Example code is shown below:9. At the beginning of the code, add the Import statements highlighted in bold below:import java.io.Serializable;import oracle.e1.bssvfoundation.base.ValueObject;import oracle.e1.bssvfoundation.base.MessageValueObject;import oracle.e1.bssvfoundation.util.E1MessageList;/*** TODO: Java Doc comments for Value Object here*/10. Make the following change to the :public class GetAddressFormat_Output extends ValueObject implements Serializable {- to -public class GetAddressFormat_Output extends MessageValueObject implements Serializable { After these changes the code should look like the below:11. Save the File.2.6 Creating the Published Business Service1. Select the Business Service (JP55HOL) and right click. Select New from the menu.2. Under Categories, select EnterpriseOne->Classes.Select Published Business Service Class and press the OK button. This will create thetemplate for the Published Business Service class.3. In the Create EnterpriseOne Published BSSV Class window, enter the following informationName: CustomAddressManagerMethod Name: GetAddressFormatInput Class: oracle.e1.bssv.JP550009.valueobject.GetAddressFormat_InputOutput Class: oracle.e1.bssv.JP550009.valueobject.GetAddressFormat_Output(Note: Use the Browse button to select the Input and Output Class)4. Press the OK button. The Published Business Service class template is created.5. Add the following Import Statement at the beginning of the code:import oracle.e1.bssvfoundation.util.MathNumeric;After inserting the code should look like the below:6. Within the GetAddressFormat method there is a “TODO” comment for creating the internal valueobject. Type in the below code:GetAddressFormat_Output internalVO = new GetAddressFormat_Output();internalVO.setAddressNumber(vo.getAddressNumber());After inserting the code should look like the below:7. At the end of the GetAddressFormat method modify the code as shown below.• Delete the follwing line of code:GetAddressFormat_Output confirmVO = new GetAddressFormat_Output(internalVO);• Change all references to “confirmVO” to “internalVO”.8. Once these changes have been made – the code should look like the below:9. Save the Code.2.7 Adding a Business Function Call1. In the “GetAddressFormat” methcd, after the “//TODO: Call BusinessService passing context,connection and internal VO” comment, place the cursor, right click, and select theEnterpriseOne Create Business Function Call wizard.Place Cursor Here2. In the Create EnterpriseOne Business Function Value Call window, enter B0100021 as the ObjectName and press the Find button. Select the Business Function from the result and press the Next button.3. Select the following fields and press the Finish button.Input:Column Name AliasmnAddressNumber AN8Output:Column Name AliasszNameMailing MLNMszAddressLine1 ADD1szAddressLine2 ADD2szAddressLine3 ADD34. A call to a new method will be generated where the cursor was positioned and should look like thebelow:5. The “callFormattedAddress” method will also be created at the bottom of the code. Make to codingchanges below so that the correct value object is passed in and the address number is loaded into the business function parameters.6. At the bottom of the “callFormattedAddress” method you will need to modify the “map output..”section. This should just removing the “sz” from the set methods – for example change“setszNameMailing” to “setNameMailing”:The code should loook like the below when finished.7. Save the code.8. Build the code by highlighting “CustomAddressManager” in the navigation pane, right click, and selectRebuild.9. The code should successfully build with a log that looks like the below:3 Testing the Published Business Service 1. Highlight the CustomerAddressManager class in the Navigation pane, right click, and select the“Create J2EE Web Service” option.2. On the Select J2EE Web Service Version screen, select J2EE 1.4 and press OK.3. On the “Create Java J2EE 1.4 Web Service Step 1” screen type in “TestCustomWebService” for theWeb Service Name. Press Next:4. On the “Create Java J2EE 1.4 Web Service Step 2” screen – Change the “SOAP Message Format” to“Document/Literal”: Press Next:5. On the “Create Java J2EE 1.4 Web Service Step 3” screen – Make no changes and Press Next.6. On the “Create Java J2EE 1.4 Web Service Step 4” screen – Make no changes and Press Next.7. On the “Create Java J2EE 1.4 Web Service Step 5” screen – Make sure that the “GetAddressFormat”method is selected. Press Finish.8. A set of new objects should be created – including “TestCustomWebService” .9. Select the “TestCustomWebService”, Right Click, and select the “Run” option.10. An embedded OC4J container will be launched and the log window will display a URL that can beselected to test the service. Place the cursor on the URL and left click.11. A browser should be launched with a page that looks like the below. If there is an error loading thepage then make sure that the url is correct. There is a known bug in Jdev that the context root is sometimes held from previous sessions. The url should look like the below – if it does not the type this url into the browser:http://oracle-jde:8988/context-root-JP55HOL/TestCustomerWebServiceSoapHttpPort12. Enter a valid address book number (i.e. 3001) and press Invoke:13. The Test Result page should display with the mailing address information. To make the xml easier toread – select the “Formatted XML” link:14. After selecting the Formatted XML link the page should look like:。