Saturday, January 25, 2020

Sojourner Truth Essay -- essays research papers

Introduction Sojourner Truth was born in 1797, in Hurley N.Y. Sojourner was born into slavery, and was given the name Isabella Baumfree. Sojourner’s parents, were also slaves, in Ulster county N.Y. Because slave trading was very prominent in those days, Sojourner was traded and sold many times throughout her life. Sojourner ran away from slavery before the Emancipation act was published, and decided to change her name to Sojourner Truth. This name bares great meaning, because she intended on telling the truth to all people about slavery. Sojourner also wanted a religious name, and she felt that this name would best suit her purpose. Sojourner set out on her mission, to educate all people on the subject of slavery, and became a very powerful speaker. She became an influential speaker for women’s rights, as well for the abolishment of slavery all over the country. She became famous for being the first black women to speak out against slavery. Sojourner died at her home in Battle Creek, Michigan on November 26, 1883. She left behind a legacy of ideas and principles for other great black leader to follow. She will always be remembered for her courage, perseverance, diligence, and patience. Her Birth And Parentage Sojourner Truth, originally named, Isabella Baumfree, was born, between the years 1797. She was the daughter of James and Betsey, slaves of one Colonel Ardinburgh, Hurley, Ulster County, New York. Colonel Ardinburgh belonged to that class of people called Low Dutch. Sojourner can give no account to her first master, because she was a young infant when he died. Sojourner and her parents, along with a number of other slaves, became the property of Charles Ardinburgh, son of the deceased master. She distinctly remembers hearing her father and mother say, that their lot was a fortunate one, because their new master, Charles, was the best of the family, because he was very kind to his slaves. James and Betsey, by their faithfulness, docility, and respectful behavior, gained favoritism, and received a lot of land. This land lay on the slope of a mountain, on which they managed to raise a little tobacco, corn, or flax, which they exchanged for extras, in the articles of food or clothing for themselves and children. Who was Sojourner Truth? Sojourner Truth came to Northampton in 1843 to live at the Northampton Association of Education and Industry, a ut... ... no mand could head me! And ain't I a woman.† Conclusion Sojourner Truth has overcome many obstacles in her life, which have made her the great historical icon that she is today. She will always be remembered for her courage and bravery that helped make a difference. Sojourner has made many sacrifices in her life that has not only benefited herself, but many others. Sojourner fled from her life of enslavement to find a better life for her and her children. She did whatever she could do to free her children and to keep them safe. After gaining her freedom, Sojourner set out to free others who were enslaved all over the country. She realized that this would be a difficult task to accomplish on her own, but she knew that there was a higher power that governed us all. She believed and had unmovable faith in the almighty God. Sojourner knew that without God, she would have never been as fortunate as she has. Sojourner gave a whole new meaning to the phrase, "without no struggle, there is no progress." She has truly demonstrated the validity of this phrase, because she has struggled to accomplish what she felt God wanted her to do, and for this she will always be honored.

Friday, January 17, 2020

Java-Whitepaper Essay

This white paper compares C++/Qt with Java/AWT/Swing for developing large-scale, real-world software with graphical user interfaces. References are made to independent reports that examine various aspects of the two toolsets. 1 A Comparison of Qt and Java 1. What Do We Compare? When selecting an environment for a large software development project, there are many aspects that must be considered. The programming language is one of the most significant aspects, since its choice has considerable impact on what other options are available. For example, in a GUI development project, developers will need a GUI library that provides ready-made user interface components, for example, buttons and menus. Since the selection of the GUI library itself has a large impact on the development of a project, it is not uncommon for the GUI library to be chosen first, with the programming language being determined by the languages for which the library is available. Usually, there is only one language per library. Other software components like database access libraries or communication libraries must also be taken into consideration, but they rarely have such a strong impact on the overall design as the GUI libraries. In this white paper, the objective is to compare the C++/Qt environment with the Java/AWT/Swing environment. In order to do this in the most useful way, we will begin by comparing the programming languages involved, i. e.C++ and Java, and then compare the two GUI libraries, Qt for C++ and AWT/Swing for Java. 2. Comparing C++ and Java When discussing the various benefits and drawbacks of particular programming languages, the debate often degenerates into arguments that are based on personal experience and preference rather than any objective criteria. Personal preferences and experience should be taken into account when selecting a programming language for a project, but because it is subjective, it cannot be considered here. Instead we will look at issues such as programmer-efficiency, runtime-efficiency and memory-efficiency since these can be quantified and have been examined in scientifically conducted research, although we will also incorporate information based on the practical exerience of projects that have been implemented in our own company. 2. 1. Programmer-efficiency Programmer-efficiency describes how efficiently (i. e. how quickly and accurately) a programmer with a given degree of experience and knowledge can implement a certain set of requirements in a particular programming language, including debugging and project setup time. Since developer salaries are one of the primary cost factors for any programming project, programmer-efficiency greatly affects the 2 A Comparison of Qt and Java cost-efficiency of the project. To some extent, programmer-efficiency is also determined by the tools available. The main design goal of Java is increased programmer-efficiency compared to other general-purpose programming languages, rather than increased memory- or runtime-efficiency. Java has several features designed to make it more programmer-efficient. For example, unlike C++ (or C), the programmer does not have to explicitly â€Å"free† (give back) allocated memory resources to the operating system. Freeing unused memory (garbage collection) is handled automatically by the Java runtime system, at the expense of memory- and runtime-efficiency (see below). This liberates the programmer from the burden of keeping track of allocated memory, a tedious task that is a major cause of bugs. This feature alone should significantly increase the programmer-efficiency of Java programmers, compared to C++ (or C) programmers. Research shows that in practice, garbage collection and other Java features, do not have a major influence on the programmer-efficiency. One of the classic software estimation models, Barry Boehm’s CoCoMo1 predicts the cost and schedule of a software project using cost drivers which take into account variables like the general experience of a programmers, the experience with the programming language in question, the targeted reliability of the program, etc. Boehm writes that the amount of effort per source statement was highly independent of the language level. Other research, for example, A method of programming measurement and estimation by C. E. Walston and C. P. Felix of IBM2, points in the same direction. Both the reports cited here pre-date the advent of Java by many years, although they seem to reveal a general principle that the sophistication of a general-purpose programming language has, compared with other aspects, like the experience of the developers, no significant influence on the overall project costs. There is more recent research that explicitly includes Java and which supports this hypothesis. In An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl3, Lutz Prechelt of the University of Karlsruhe, describes an experiment he conducted in which computer science students were assigned a particular design and development task and asked to implement the specification provided in any of the languages C, C++, or Java which they could freely choose according to their personal preferences (the other languages were examined in a different part of the research project). The data gathered shows almost the same results for C++ and Java (with C running third in most aspects). This is also backed up by our own experience: if programmers can choose their favorite programming language (which is usually the one they have most experience of), programmers with the same level of experience (measured for example, in years of programming experience in general) achieve about the same programmer-efficiency. Another interesting aspect that we noted (but which is not yet supported by any formal 3 A Comparison of Qt and Java research) is that less experienced developers seem to achieve somewhat better results with Java, medium-experienced developers achieve about the same results with both programming languages, nd experienced developers achieve better results with C++. These findings could be due to better tools being available for C++; nevertheless this is an aspect that must be taken into account. An interesting way to quantify programmer-efficiency is the Function Point method developed by Capers Jones. Function points are a software metric that only depend on the functionality, not on the implementation. Working from the function points, it is possible to compute the lines of code needed per function point as well as the language level which describes how many function points can be implemented in a certain amount of time. Intriguingly, both the values for the lines of code per function point and the language level are identical for C++ and Java (6 for the language level, compared with C’s 3. 5 and Tcl’s 5, and 53 for the lines of code per function point, compared with C’s 91 and Tcl’s 64). In conclusion: both research and practice contradict the claim that Java programmers achieve a higher programmer-efficiency than C++ programmers. 2. 2. Runtime-efficiency We have seen that Java’s programmer-efficiency appears to be illusory. We will now examine its runtime efficiency. Again, Prechelt provides useful data. The amount of data he provides is huge, but he arrives at the conclusion that â€Å"a Java program must be expected to run at least 1. 22 times as long as a C/C++ program†. Note that he says at least; the average runtime of Java programs is even longer. Our own experience shows that Java programs tend to run about 2-3 times as long than their equivalent C/C++ programs for the same task. Not surprisingly, Java loses even more ground when the tasks are CPU-bound. When it comes to programs with a graphical user interface, the increased latency of Java programs is worse than the runtime performance hit. Usability studies show that users do not care about whether a long running task takes, say, two or three minutes, but they do care when a program does not show an immediate reaction to their interaction, for example when they press a button. These studies show that the limit of what a user accepts before they consider a program to be â€Å"unresponsive† can be as little as 0. 7 seconds. We’ll return to this issue when we compare graphical user interfaces in Java and C++ programs. An explanation about why Java programs are slower than C++ is in order. C++ programs are compiled by the C++ compiler into a binary format that can be executed directly by the CPU; the whole program execution thus takes place in 4 A Comparison of Qt and Java hardware. (This is an oversimplification since most modern CPUs execute microcode, but this does not affect the issues discussed here. ) On the other hand, the Java compiler compiles the source code into â€Å"bytecode† which is not executed directly by the CPU, but rather by another piece of software, the Java Virtual Machine (JVM). The JVM in turn, runs on the CPU. The execution of the bytecode of a Java program does not take place in (fast) hardware, but instead in (much slower) software emulation. Work has been undertaken to develop â€Å"Just in Time† (JIT) compilers to address Java’s runtime efficiency problem, but no universal solution has yet emerged. It is the semi-interpreted nature of Java programs that makes the â€Å"compile once, run anywhere† approach of Java possible in the first place. Once a Java program is compiled into bytecode, it can be executed on any platform which has a JVM. In practice, this is not always the case, because of implementation differences in different JVMs, and because of the necessity to sometimes use native, non-Java code, usually written in C or C++, together with Java programs. But is the use of platform-independent bytecode the right approach for crossplatform applications? With a good cross-platform toolkit like Qt and good compilers on the various platforms, programmers can achieve almost the same by compiling their source code once for each platform: â€Å"write once, compile everywhere†. It can be argued that for this to work, developers need access to all the platforms they want to support, while with Java, in theory at least, developers only need access to one platform running the Java development tools and a JVM. In practice, no responsible software manufacturer will ever certify their software for a platform the software hasn’t been tested on, so they would still need access to all the relevant platforms. The question arises why it should be necessary to run the Java Virtual Machine in software; if a program can be implemented in software, it should also be possible to have hardware implement the same unctionality. This is what the Java designers had in mind when they developed the language; they assumed that the performance penalty would disappear as soon as Java CPUs that implement the JVM in hardware would become available. But after five years, such Java CPUs have not become generally available. Java automatically de-allocates (frees) unused memory. The programmer allocates memory, and the JVM keeps track of all the allocated memory blocks and the references to them. As soon as a memory block is no longer referenced, it can be reclaimed. This is done in a process called â€Å"garbage collection† in which the JVM periodically checks all the allocated memory blocks, and removes any which are no longer referred to. Garbage collection is very convenient, but the trade offs are greater memory consumption and slower runtime speed.. With C++, the programmer can (and should) delete blocks of memory as soon as they are no longer required. With Java, blocks are not deleted until the next garbage collection run, and this depends on the implementation on the JVM being used. Prechtelt provides figures which state that on average (†¦ ) and with a confidence of 80%, the Java programs consume at least 32 MB (or 297%) more memory than the C/C++ programs (†¦ ). In addition to the higher memory requirements, the garbage collection process itself requires processing power which is consequently not available to the actual application functionality, leading to slower overall runtimes. Since the garbage collector runs periodically, it can occasionally lead to Java programs â€Å"freezing† for a few seconds. The best JVM implementations keep the occurrence of such freezes to a minimum, but the freezes have not been eliminated entirely. When dealing with external programs and devices, for example, during I/O or when interacting with a database, it is usually desirable to close the file or database connection as soon as it is no longer required. Using C++’s destructors, this happens as soon as the programmer calls delete. In Java, closing may not occur until the next garbage collecting sweep, which at best may tie up resources unnecessarily, and at worst risks the open resources ending up in an inconsistent state. The fact that Java programs keep memory blocks around longer than is strictly necessary is especially problematic for embedded devices where memory is often at a premium. It is no coincidence that there is (at the time of writing) no complete implementation of the Java platform for embedded devices, only partial implementations that implement a subset. The main reason why garbage collection is more expensive than explicit memory management by the programmer is that with the Java scheme, information is lost. In a C++ program, the programmer knows both where their memory blocks are (by storing pointers to them) and knows when they are not needed any longer. In a Java 6 A Comparison of Qt and Java program, the latter information is not available to the JVM (even though it is known to the programmer), and thus the JVM has to manually find unreferenced blocks. A Java programmer can make use of their knowledge of when a memory block is not needed any longer by deleting all references that are still around and triggering garbage collection manually, but this requires as much effort on the part of the programmer as with the explicit memory management in C++, and still the JVM has to look at each block during garbage collection to determine which ones are no longer used. Technically, there is nothing that prevents the implementation and use of garbage collection in C++ programs, and there are commercial programs and libraries available that offer this. But because of the disadvantages mentioned above, few C++ programmers make use of this. The Qt toolkit takes a more efficient approach to easing the memory management task for its programmers: when an object is deleted, all dependant objects are automatically deleted too. Qt’s approach does not interfere with the programmer’s freedom to delete manually when they wish to. Because manual memory management burdens programmers, C and C++ have been accused of being prone to generate unstable, bug-ridden software. Although the danger of producing memory corruption (which typically leads to program crashes) is certainly higher with C and C++, good education, tools and experience can greatly reduce the risks. Memory management can be learned like anything else, and there are a large number of tools available, both commercial and open source, that help programmers ensure that there are no memory errors in the program; for example, Insure++ by Parasoft, Purify by Rational and the open source Electric Fence. C++’s flexible memory management system also makes it possible to write custom memory profilers that are adapted to whichever type of application a programmer writes. To sum up this discussion, we have found C++ to provide much better runtime- and memory-efficiency than Java, while having comparable programmer-efficiency. 2. 4. Available libraries and tools The Java platform includes an impressive number of packages that provide hundreds of classes for all kinds of purposes, including graphical user interfaces, security, networking and other tasks. This is certainly an advantage of the Java platform. For each package available on the Java platform, there is at least one corresponding library for C++, although it can be difficult to assemble the various libraries that would be needed for a C++ project and make them all work together correctly. However, this strength of Java is also one of its weaknesses. It becomes increasingly difficult for the individual programmer to find their way through the huge APIs. For any given task, you can be almost certain that somewhere, there is 7 A Comparison of Qt and Java functionality that would accomplish the task or at least help with its implementation. But it can be very difficult to find the right package and the right class. Also, with an increasing number of packages, the size of the Java platform has increased considerably. This has led to subsets e. g. , for embedded systems, but with a subset, the advantage of having everything readily available disappears. As an aside, the size of the Java platform makes it almost impossible for smaller manufacturers to ship a Java system independent from Sun Microsystems, Java’s inventor, and this reduces competition. If Java has an advantage on the side of available libraries, C++ clearly has an advantage when it comes to available tools. Because of the considerable maturity of the C and C++ family of languages, many tools for all aspects of application development have been developed, including: design, debugging, and profiling tools. While there are Java tools appearing all the time, they seldom measure up to their C++ counterparts. This is often even the case with tools with the same functionality coming from the same manufacturer; compare, for example, Rational’s Quantify, a profiler for Java and for C/C++. The most important tool any developer of a compiled language uses, is still the compiler. C++ has the advantage of having compilers that are clearly superior in execution speed. In order to be able to ship their compilers (and other tools) on various platforms, vendors tend to implement their Java tools in Java itself, with all the aforementioned memory and efficiency problems. There are a few Java compilers written in a native language like C (for example, IBM’s Jikes), but these are the exception, and seldom used. 3. Comparing AWT/Swing and Qt So far, we have compared the programming language Java and the programming language C++. But as we discussed at the beginning of this article, the programming language is only one of the aspects to consider in GUI development. We will now compare the packages for GUI development that are shipped with Java, i. e. AWT and Swing, with the cross-platform GUI toolkit, Qt, from the Norwegian supplier, Trolltech. We have confined the comparision on the C++ side to the Qt GUI toolkit, since unlike MFC (Microsoft Foundation Classes) and similar toolkits, This seems to contradict Java’s cross-platform philosophy and may be due to the the initial AWT version being reputedly developed in under fourteen days. Because of these and a number of other problems with the AWT, it has since been augmented by the Swing toolkit. Swing relies on the AWT (and consequently on the native libraries) only for very basic things like creating rectangular windows, handling events and executing primitive drawing operations. Everything else is handled within Swing, including all the drawing of the GUI components. This does away with the problem of applications looking and behaving differently on different platforms. Unfortunately, because Swing is mostly implemented in Java itself, it lacks efficiency. As a result, Swing programs are not only slow when performing computations, but also when drawing and handling the user interface, leading to poor responsiveness. As mentioned earlier, poor responsiveness is one of the things that users are least willing to tolerate in a GUI application. On today’s standard commodity hardware, it is not unusual to be able to watch how a Swing button is redrawn when the mouse is pressed over it. While this situation will surely improve with faster hardware, this does not address the fundamental problem that complex user interfaces developed with Swing are inherently slow. The Qt toolkit follows a similar approach; like Swing, it only relies on the native libraries only for very basic things and handles the drawing of GUI components itself. This brings Qt the same advantages as Swing (for example, applications look and behave the same on different platforms), but since Qt is entirely implemented in C++ and thus compiled to native code; it does not have Swing’s efficiency problems. User interfaces written with Qt are typically very fast; because of Qt’s smart use of caching techniques, they are sometimes even faster than comparable programs written using only the native libraries. Theoretically, an optimal native program should always be at least as fast as an equivalent optimal Qt program; however, making a native program optimal is much more difficult and requires more programming skills than making a Qt program optimal. Both Qt and Swing employ a styling technique that lets programs display in any one of a number of styles, independent of the platform they are running on. This is possible because both Qt and Swing handle the drawing themselves and can draw GUI elements in whichever style is desired. Qt even ships with a style that emulates the default look-and-feel in Swing programs, along with styles that emulate the 9 A Comparison of Qt and Java Win32 look-and-feel, the Motif look-and-feel, and—in the Macintosh version— the MacOS X Aqua style. 3. 2. Programming Paradigms In Qt and Swing While programming APIs to some extent are a matter of the programmers’ personal taste, there are some APIs that lend themselves to simple, short, and elegant application code far more readily than others.

Wednesday, January 8, 2020

Direct Assessment Of Behavior By Adam - 892 Words

Direct Assessment of Behavior Adam was observed during his 5th-period algebra class on four different occasions. On October 22nd and October 26th, he was observed for 90 minutes. October 28th, Adam was also supposed to be observed for the entire 90-minute class, but the observation was cut short after he was sent to the office due to his behavior. The final observation was conducted on October 30th, for 75 minutes. Notes were taken detailing the classroom routine and Adam s behavior (See Appendix B). The direct observations confirmed many of the behaviors described in the indirect assessment. At different points, Adam was out of his seat, left the classroom, refused to do his work, and used his phone at inappropriate times, but as noted by Mr. Brown in the indirect assessment, it was Adam s verbal call outs that dominated the classroom climate during main group instruction. Even with the shortened days, Adam averaged almost 11 verbal call outs during the 40-50 minute main lessons. The indirect assessment gave the impression that the verbal call outs dissipated during the independent practice routine, giving way to more insubordinate behavior like a refusal to complete work. However, during the direct assessment, the verbal call outs spanned multiple routines, with Adam averaging 6 verbal call outs during independent practice. This pattern of verbal call outs was formatted in ABC sequences to help decipher the antecedents and consequences (See Appendix C). ForShow MoreRelatedAttention Deficit Hyperactivity Disorder ( Adhd )803 Words   |  4 PagesStudent Description Adam, a white 16-year-old 10th grader, was the focus of the indirect and direct assessments. Adam receives special education services for other health impairments (OHI), specifically Attention Deficit Hyperactivity Disorder (ADHD). Adam’s teacher, Mr. B, and Adam both mentioned during the indirect and direct observations that he does not always take his medication for his ADHD. Like many of his peers, Adam seems to enjoy the social aspects of school. Any opportunity to talkRead MoreThe For Reality Therapy, The Environment Needs For A Good Rapport With The Client1228 Words   |  5 Pagesirresponsible behavior. The therapist might begin the therapeutic process by guiding a person s attention away from past behaviors in order to focus on those that occur in the present. It is important to avoid punishing, criticizing, or protecting from reasonable consequences. Also the counselor should direct the client from being overwhelming with their stories. The clients should also be aware of the procedures that lead to change. The counselor should help people realize that all behavior, even painfulRead MorePsychology And Its Effect On A Person s Actions784 Words   |  4 Pagesthat maintain or discourage specific behaviors. B.F. Skinner once stated, I am sometimes asked, ‘Do you think of yourself as you think of the organisms you study?’ The answer is yes. So far as I know, my behavior at any given moment has been nothing more than the product of my genetic endowment, my personal history, and the current setting. (Skinner, 1983). In the average college classroom, behaviorism effects students’ way of learning in that their behavior is shaped by either positive or negativeRead MoreAccounting Thesis1180 Words   |  5 Pagesmoney. The summaries of accounting education research presented by Williams et al. (1988) and Rebele et al. (1991, 1998), however, reveal that no empirical study has performed a direct assessment of accounting students’ perceptions regarding any individual accounting course. Nor has any study performed an assessment of the relationship between course perceptions and major selection. In another accounting book, Manuel (2011) gave the definition of accounting as a language that communicates essentialRead More Tough economic times: The impact on employee motivation and morale1650 Words   |  7 Pagespolicies, and procedures, work group affiliation, working conditions, and fringe benefits† (Gibson, et al., 2009, p. 106). Motivation: is the process or concept used to describe the forces acting on or within an individual to initiate a behavior to energize, direct and sustain personal efforts towards attaining a goal (Gibson, et al., 2009, p. 106; Robbins Coulter, 2007). Productivity is the performance measure including both effectiveness and efficiency and divided by the inputs needed to generateRead MoreAssignment : Planning Engaging Stakeholders1523 Words   |  7 PagesIndicate who you will talk to, how you will present your evaluation project, and what strategies will you use to engage their support and participation in your evaluation. Reflect on wha t personal strengths you bring to this process. Post-discussion Assessment 4. After implementing your engagement plan, summarize the conversations you had. Briefly describe possible evaluation options that emerged from your meetings, any questions that were raised, and reflect on your engagement skills from these conversationsRead MoreA Brief Note On Jehovah s Witness Cultural Assessment1483 Words   |  6 Pages Cultural Assessment Jerrica Schelhorn Bemidji State University Jehovah’s Witness Cultural Assessment Family, heritage, ethnicity, beliefs, values, knowledge, experiences, attitudes, religion, education, roles, language, and cuisine are all items encompassing culture. Culture is what influences your outlook on life itself as well as behaviors and rituals. Culture is the way different groups of people do things. While some cultures have overlapping cultural behaviors or aspects, most culturesRead MoreThe Effects Of Television On Young Children s Executive Function Essay1363 Words   |  6 PagesThus, they formed a hypothesis saying that compared to a slower-paced educational cartoon or self-paced activity such as drawing, a fast-paced cartoon show would have a more negative impact immediately on children’s executive functioning, a strong assessment associated with success in school. (P2, bottom left) What the researchers did was to have six 4-year-old kids randomly assigned to watch a fast paced television cartoon show or a slow paced educational cartoon show or draw for nine minutes at theRead MoreEquity Theory1421 Words   |  6 PagesEquity Theory by John Stacey Adams Equity Theory attempts to explain relational satisfaction in terms of perceptions of fair/unfair distributions of resources within interpersonal relationships. Equity theory is considered as one of the justice theories; it was first developed in 1962 by John Stacey Adams, a workplace and behavioral psychologist, who asserted that employees seek to maintain equity between the inputs that they bring to a job and the outcomes that they receive from it against theRead MorePersonality Profile Reflection Paper1743 Words   |  7 PagesOrganizational behavior studies human behavior and the impact individual attitudes and actions have on performance in the workplace. To provide a personal perspective of personality characteristics, the International Personality Item Pool (IPIP) assessment was used to measure aspects of my personality and how these traits relate to working with others and life within an organization. Key observations provide specific insight into how these are applied to w orkplace behavior and interactions with