Shantha Kumar . V

Be confident,Be powerful,Motivate urslf to be best

Student at Paavai Engineering College

Studied at Our lady's higher secondary school

Skilled in C++ PROGRAMMING, MYSQL, C PROGRAMMING

OBJECT ORIENTED PROGRAMMING WITH C

C programmers have been using something like object oriented programming for years. They called it good modularity. The classic example of "object-oriented C" is the standard FILE structure and its family of functions fopen, fclose, fread, fwrite, fprintf, etc. Only the "methods" of the file object, fopen etc., access the members of FILE. The FILE functions are examples of good, modular, manageable code. A more accurate term for this type of programming is "structure driven". Structure-driven programs consist of data structures and functions that support them. The difference may only be semantic, but FILE objects don't have any allowance for inheritance or polymorphism. Structure members and functions that operate on them are not encapsulated into a single object. Adding More OOPness This article describes a technique which adds inheritance, polymorphism, and encapsulation to the familiar structure-driven style. The steps of this technique (listed in Table 1) are chosen to work with a particular implementation of inheritance. Consider the structures: struct s1 { int x; int y; }; struct s2 { int x; int y; int z; }; Suppose there is a structure of type s2 and a pointer to type s1. struct s1 *s1p; struct s2 s2s; s1p = &s2s; In almost all C compilers, s1p->x would be the same as s2s.x, and s1p->y would be the same as s2s.y. You could say that structure s2 inherited x and y from structure s1. Any function that expected a pointer to s1 could instead take a pointer to s2 and could correctly address x and y and safely ignore z. Listing 1 illustrates how to utilize this technique in an easy, self-documenting way. By using #define to define a class, S1, and using this definition to describe a subclass, S2, we assure that any changes to the S1_CLASS definition are automatically reflected in its subclass S2_CLASS at compile time. An object is an instance of a class. In Listing 1, C's typedef permits objects to be declared. Coding Conventions I observe certain conventions when writing methods for this OOP technique. The first argument to a method is always a pointer to the object calling the method. Many C++ translators do the same thing. The first argument to a method is always named this, clarifying references to the calling object. All program code for a particular class is always in the same .c file. Methods are given exactly the same function name as the pointers to those methods. These functions are static, so they don't interfere with other functions of the same name in other files. When writing an abstract base class's methods, write functions for methods that are defined to be subclass implemented. You may simply print a message to the effect that the method is not available. All constructors are named in the form new_CLASS(). The only arguments in constructors are for initialization. The template in Listing 2 is the basis for all constructors. If the constructor is a base class, remove all SUPER_CLASS references from this template. Destructors have a format that reverses the inheritance process. Destructor names have the form destroy_CLASS(). The first, and usually only, argument is a pointer to the object being destroyed. The second template in Listing 2 is the general form of a destructor. Prior Art Eric White described another technique for writing "truly" object-oriented programs in the February issue of The C Users Journal. There are some differences between the technique I am suggesting and his. This technique does not require any data structures other than those required by the objects. There is no specific CLASS structure and no specific OBJECT structure like in White's technique. This technique does not require the use of any additional functions such as White's message function. Classes and subclasses are defined using C's #deine directive. Methods are inherited from superclasses in a subclass's constructor, like White's, but no function is required to register new methods. There are no separate constructors and destructors for CLASS and OBJECT. Constructors and destructors have more responsibility for inheritance and polymorphism. Scope is used to supply a rudimentary form of polymorphism, an issue not directly addressed by White. The resulting syntax of this technique is closer to C+ + than White's. Compare the following three object-oriented methods of having a circle draw itself. The first example is C++, the second uses White's technique, and the third uses the technique described here. 1. circle.draw(radius); 2. message(&circle,DRAW,radius); 3. circle->draw(circle,radius); This similarity to C++ was important to me. Most of the OOP code I have seen in articles has been in C++, and I did not want to have to make a large mental jump to get from C+ + to code I could use. An Example Application Many applications need to deal with lists. Sometimes these lists are arrays, sometimes they are linked lists, some- times they are views of database records. This example will develop a LIST_CLASS. The goal is to create a class that will allow an application to have uniform access to all types of lists, without the programmer having to concern himself with how the list is stored. I developed this object when I needed a selector window. The selector window is used as a menu and chooses a record from a data table. The SELECTOR object had a LIST pointer as a member. Concrete sub-classes of ARRAY_LIST_CLASS and PINNACLE_LIST_CLASS were both used by the SELECTOR, fulfilling the 00 requirement that a subclass can be used in place of a superclass. I chose the Pinnacle library for two reasons. First, it is a good, modular, "structure-driven" library. I was able to add an OO layer to it by encapsulation. The second reason is availability. Pinnacle is a commercial product, but a free trial disk is available from Vermont Database Corporation. The trial diskette will suffice if you want to try these programs yourself.

PYTHON TUTORIAL

Python is a general-purpose interpreted, interactive, object-oriented, and high-level programming language. It was created by Guido van Rossum during 1985- 1990. Like Perl, Python source code is also available under the GNU General Public License (GPL). This tutorial gives enough understanding on Python programming language. Audience This tutorial is designed for software programmers who need to learn Python programming language from scratch. Prerequisites You should have a basic understanding of Computer Programming terminologies. A basic understanding of any of the programming languages is a plus. Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed to be highly readable. It uses English keywords frequently where as other languages use punctuation, and it has fewer syntactical constructions than other languages. Python is Interpreted − Python is processed at runtime by the interpreter. You do not need to compile your program before executing it. This is similar to PERL and PHP. Python is Interactive − You can actually sit at a Python prompt and interact with the interpreter directly to write your programs. Python is Object-Oriented − Python supports Object-Oriented style or technique of programming that encapsulates code within objects. Python is a Beginner's Language − Python is a great language for the beginner-level programmers and supports the development of a wide range of applications from simple text processing to WWW browsers to games. History of Python Python was developed by Guido van Rossum in the late eighties and early nineties at the National Research Institute for Mathematics and Computer Science in the Netherlands. Python is derived from many other languages, including ABC, Modula-3, C, C++, Algol-68, SmallTalk, and Unix shell and other scripting languages. Python is copyrighted. Like Perl, Python source code is now available under the GNU General Public License (GPL). Python is now maintained by a core development team at the institute, although Guido van Rossum still holds a vital role in directing its progress. Python Features Python's features include − Easy-to-learn − Python has few keywords, simple structure, and a clearly defined syntax. This allows the student to pick up the language quickly. Easy-to-read − Python code is more clearly defined and visible to the eyes. Easy-to-maintain − Python's source code is fairly easy-to-maintain. A broad standard library − Python's bulk of the library is very portable and cross-platform compatible on UNIX, Windows, and Macintosh. Interactive Mode − Python has support for an interactive mode which allows interactive testing and debugging of snippets of code. Portable − Python can run on a wide variety of hardware platforms and has the same interface on all platforms. Extendable − You can add low-level modules to the Python interpreter. These modules enable programmers to add to or customize their tools to be more efficient. Databases − Python provides interfaces to all major commercial databases. GUI Programming − Python supports GUI applications that can be created and ported to many system calls, libraries and windows systems, such as Windows MFC, Macintosh, and the X Window system of Unix. Scalable − Python provides a better structure and support for large programs than shell scripting.

BLOCK CHAIN

A blockchain,[1][2][3] originally block chain,[4][5] is a growing list of records, called blocks, that are linked using cryptography.[1][6] Each block contains a cryptographic hash of the previous block,[6] a timestamp, and transaction data (generally represented as a Merkle tree). By design, a blockchain is resistant to modification of the data. It is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way".[7] For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for inter-node communication and validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without alteration of all subsequent blocks, which requires consensus of the network majority. Although blockchain records are not unalterable, blockchains may be considered secure by design and exemplify a distributed computing system with high Byzantine fault tolerance. Decentralized consensus has therefore been claimed with a blockchain.[8] Blockchain was invented by a person (or group of people) using the name Satoshi Nakamoto in 2008 to serve as the public transaction ledger of the cryptocurrency bitcoin.[1] The identity of Satoshi Nakamoto is unknown. The invention of the blockchain for bitcoin made it the first digital currency to solve the double-spending problem without the need of a trusted authority or central server. The bitcoin design has inspired other applications,[1][3] and blockchains that are readable by the public are widely used by cryptocurrencies. Blockchain is considered a type of payment rail.[9] Private blockchains have been proposed for business use. Sources such as Computerworld called the marketing of such blockchains without a proper security model "snake oil".[10]

OBJECT ORIENTED ANALYSIS AND DESIGN

Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the development life cycles to foster better stakeholder communication and product quality. According to the popular guide Unified Process, OOAD in modern software engineering is best conducted in an iterative and incremental way. Iteration by iteration, the outputs of OOAD activities, analysis models for OOA and design models for OOD respectively, will be refined and evolve continuously driven by key factors like risks and business value. Contents 1 History 2 Overview 3 Object-oriented analysis 4 Object-oriented modeling 5 See also 6 References 7 Further reading 8 External links History In the early days of object-oriented technology before the mid-1990s, there were many different competing methodologies for software development and object-oriented modeling, often tied to specific Computer Aided Software Engineering (CASE) tool vendors. No standard notations, consistent terms and process guides were the major concerns at the time, which degraded communication efficiency and lengthened learning curves. Some of the well-known early object-oriented methodologies were from and inspired by gurus such as Grady Booch, James Rumbaugh, Ivar Jacobson (the Three Amigos), Robert Martin, Peter Coad, Sally Shlaer, Stephen Mellor, and Rebecca Wirfs-Brock. In 1994, the Three Amigos of Rational Software started working together to develop the Unified Modeling Language (UML). Later, together with Philippe Kruchten and Walker Royce (eldest son of Winston Royce), they have led a successful mission to merge their own methodologies, OMT, OOSE and Booch method, with various insights and experiences from other industry leaders into the Rational Unified Process (RUP), a comprehensive iterative and incremental process guide and framework for learning industry best practices of software development and project management.[1] Since then, the Unified Process family has become probably the most popular methodology and reference model for object-oriented analysis and design. Overview This section may require cleanup to meet Wikipedia's quality standards. The specific problem is: remove duplications, shorten the waterfall descriptions, and make the statements more concise Please help improve this section if you can. (January 2014) (Learn how and when to remove this template message) The software life cycle is typically divided up into stages going from abstract descriptions of the problem to designs then to code and testing and finally to deployment. The earliest stages of this process are analysis and design. The analysis phase is also often called "requirements acquisition". The Waterfall Model. OOAD is conducted in an iterative and incremental manner, as formulated by the Unified Process. In some approaches to software development—known collectively as waterfall models—the boundaries between each stage are meant to be fairly rigid and sequential. The term "waterfall" was coined for such methodologies to signify that progress went sequentially in one direction only, i.e., once analysis was complete then and only then was design begun and it was rare (and considered a source of error) when a design issue required a change in the analysis model or when a coding issue required a change in design.

ANALOG TO DIGITAL CONVERTOR

In electronics, an analog-to-digital converter (ADC, A/D, or A-to-D) is a system that converts an analog signal, such as a sound picked up by a microphone or light entering a digital camera, into a digital signal. An ADC may also provide an isolated measurement such as an electronic device that converts an input analog voltage or current to a digital number representing the magnitude of the voltage or current. Typically the digital output is a two's complement binary number that is proportional to the input, but there are other possibilities. There are several ADC architectures. Due to the complexity and the need for precisely matched components, all but the most specialized ADCs are implemented as integrated circuits (ICs). A digital-to-analog converter (DAC) performs the reverse function; it converts a digital signal into an analog signal. Contents 1 Explanation 1.1 Resolution 1.1.1 Quantization error 1.1.2 Dither 1.2 Accuracy 1.2.1 Nonlinearity 1.3 Jitter 1.4 Sampling rate 1.4.1 Aliasing 1.4.2 Oversampling 1.5 Relative speed and precision 1.6 Sliding scale principle 2 Types 2.1 Direct-conversion 2.2 Successive approximation 2.3 Ramp-compare 2.4 Wilkinson 2.5 Integrating 2.6 Delta-encoded 2.7 Pipelined 2.8 Sigma-delta 2.9 Time-interleaved 2.10 Intermediate FM stage 2.11 Other types 3 Commercial 4 Applications 4.1 Music recording 4.2 Digital signal processing 4.3 Scientific instruments 4.4 Rotary encoder 5 Electrical symbol 6 Testing 7 See also 8 Notes 9 References 10 Further reading 11 External links

SOFTWARE ENGINEEERING

A blockchain,[1][2][3] originally block chain,[4][5] is a growing list of records, called blocks, that are linked using cryptography.[1][6] Each block contains a cryptographic hash of the previous block,[6] a timestamp, and transaction data (generally represented as a Merkle tree). By design, a blockchain is resistant to modification of the data. It is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way".[7] For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for inter-node communication and validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without alteration of all subsequent blocks, which requires consensus of the network majority. Although blockchain records are not unalterable, blockchains may be considered secure by design and exemplify a distributed computing system with high Byzantine fault tolerance. Decentralized consensus has therefore been claimed with a blockchain.[8] Blockchain was invented by a person (or group of people) using the name Satoshi Nakamoto in 2008 to serve as the public transaction ledger of the cryptocurrency bitcoin.[1] The identity of Satoshi Nakamoto is unknown. The invention of the blockchain for bitcoin made it the first digital currency to solve the double-spending problem without the need of a trusted authority or central server. The bitcoin design has inspired other applications,[1][3] and blockchains that are readable by the public are widely used by cryptocurrencies. Blockchain is considered a type of payment rail.[9] Private blockchains have been proposed for business use. Sources such as Computerworld called the marketing of such blockchains without a proper security model "snake oil".[10]

SYSTEM SOFTWARE

There are two main types of software: systems software and application software. Systems software includes the programs that are dedicated to managing the computer itself, such as the operating system, file management utilities, and disk operating system (or DOS). System software is a software that provides platform to other softwares. Some examples can be operating systems, antivirus softwares, disk formating softwares, Computer language translators etc. These are commonly prepared by the computer manufacturers. These softwares consists of programs written in low-level languages, used to interact with the hardware at a very basic level. System software serves as the interface between the hardware and the end users. The most important features of system software include : 1. Closeness to the system 2. Fast speed 3. Difficult to manipulate 4. Written in low level language 5. Difficult to design Operating System An operating system (OS) is a type of system software that manages computer’s hardware and software resources. It provides common services for computer programs. An OS acts a link between the software and the hardware. It controls and keeps a record of the execution of all other programs that are present in the computer, including application programs and other system software. The most important tasks performed by the operating system are 1. Memory Management: The OS keeps track of the primary memory and allocates the memory when a process requests it. 2. Processor Management: Allocates the main memory (RAM) to a process and de-allocates it when it is no longer required. 3. File Management: Allocates and de-allocates the resources and decides who gets the resources. 4. Security: Prevents unauthorized access to programs and data by means of passwords. 5. Error-detecting Aids: Production of dumps, traces, error messages, and other debugging and error-detecting methods. 6. Scheduling: The OS schedules process through its scheduling algorithms. Compiler : A compiler is a software that translates the code written in one language to some other language without changing the meaning of the program. The compiler is also said to make the target code efficient and optimized in terms of time and space. A compiler performs almost all of the following operations during compilation: preprocessing, lexical analysis, parsing, semantic analysis (syntax-directed translation), conversion of input programs to an intermediate representation, code optimization and code generation. Examples of compiler may include gcc(C compiler), g++ (C++ Compiler ), javac (Java Compiler) etc. Interpreter : An interpreter is a computer program that directly executes, i.e. it performs instructions written in a programming or scripting language. Interpreter do not require the program to be previously compiled into a machine language program. An interpreter translates high-level instructions into an intermediate form, which is then executes. Interpreters are fast as it does not need to go through the compilation stage during which machine instructions are generated. Interpretter continuously translates the program until the first error is met. If an error comes it stops executing. Hence debugging is easy. Examples may include Ruby, Python, PHP etc. Assembler : An assembler is a program that converts assembly language into machine code. It takes the basic commands and operations and converts them into binary code specific to a type of processor. Assemblers produce executable code that similar to compilers. However, assemblers are more simplistic since they only convert low-level code (assembly language) to machine code. Since each assembly language is designed for a specific processor, assembling a program is performed using a simple one-to-one mapping from assembly code to machine code. On the other hand, compilers must convert generic high-level source code into machine code for a specific processor.

Soil conservation Engineering and Watershed management

Unit 1. Lands Degradation Problems in Nepal 1.1 Introduction to land degradation and its consequences 1.2 Water Erosion Erosion is a process of detaching soil particles from the land surface of one place and their transportation and deposition to another place. Three Processes of Erosion : 1. Detachment Process depends upon type of soil, OM, moisture, nature of detaching agents (energy). 2. Transportation Process depends upon size, density and shape of detached materials and velocity of the transporting agent. 3. Deposition Soil that is eroded from the original location is always deposited somewhere else. This may be close to its place of origin position, it may be the longest distance down to the sea or at any point between the place of origin to the sea. Process depends upon soil particles and velocity of the agent. Example: -- Coarse sand particles in eroded soil move the shortest distance and deposit first. -- Fine sand and silt deposit next as run-off water slows down. -- Some very fine silts settle out only in standing water. -- Very fine clay and colloidal humus will not settle out even in standing water but stay suspended in the water indefinitely 1.2.1 Types of water erosion Geological (Natural/ normal) Geological ( Natural/ normal ) erosion are caused by : action of water, geology, wind, temperature, gravity, glaciers, earth quakes. Examples are : Naturally wearing away of hills and mountains: sculptured hills/ mountains, canyons/gorge , stream channels, deltas etc. Man-made ( Accelerated ) Man-made ( Accelerated erosion are caused by : human or anthropogenic activities. Change in land use, destruction of natural cover and soil conditions are main elements responsible for accelerated erosion. Agents responsible for Soil Erosion are : Water, Wind and Gavity

Concept and Goals of Seed Technology

Introduction The history of agricultural progress from the early days of man has been the history of seeds of new crops and crop varieties brought under cultivation. In the early days it was achieved through the cultivation of indigenous but useful plants and those taken through introductions. Later through the well known techniques of selection, hybridization, mutation, polyploidization and plant biotechnology the scientists made available many new and better varieties. However, to the farmer all this scientific research would be of little value unless he gets seeds, which are genetically pure, high germination percentage and vigour, high purity, sound health etc., When the farmers do not get seeds possessing these qualities the yields they obtain may not be as expected. The pace of progress in production therefore, will largely depend upon the speed with which we are able to multiply and market good quality seeds of high yielding varieties. Definitions of Seed Technology Cowan (1973) identified seed technology as “that discipline of study having to do with seed production, maintenance, quality and preservation”. Feistritzer (1975) defined seed technology as the methods through which the genetic and physical characteristics of seeds could be improved. It involves such activities as variety development, evaluation and release, seed production, processing, storage and certification. Thus seed technology is essentially an inter disciplinary science which encompasses broad range of subjects. In its broadest sense,” seed technology includes the development of superior crop plant varieties, their evaluation and release, seed production, seed processing, seed storage, seed testing, seed certification, seed quality control, seed marketing and distribution and research on seed physiology, seed production and seed handling based upon modern botanical and agricultural sciences”. In a narrow sense “seed technology comprises techniques of seed production, seed processing, seed storage, seed testing and certification, seed marketing and distribution and the related research on these aspects”.

SOURCES OF FARM POWER

A farm power for various agricultural operations can be broadly classified as: (1) Tractive work such as seed bed preparation, cultivation, harvesting and transportation, and (2) Stationary work like silage cutting, feed grinding, threshing, winnowing and lifting of irrigation water. These operations are done by different sources of power, namely human, animal, oil engine, tractor, power tiller, electricity and renewable energy (biogas, solar and wind). HUMAN POWER Human beings are the main source of power for operating small tools and implements. They are also employed for doing stationary work like threshing, winnowing, chaff cutting and lifting irrigation Water. It is generally believed that there is surplus human power available for agricultural operations in India. According to 2001 census figures, the total Indian rural population is about 74 crores. Of the total rural population only 30 per cent is available for doing farm work. Hence the total number of persons available would be about 74 x 0.30 = 22.2 crores. This figure includes both the landless labourers as well as the owners of farms in the country. On the average a man develops nearly 0.I horsepower (hp.). Therefore, the total power available through human source may be about 2.2 crore hp. But there is a steady decline in the number of landless labourers available for doing farm work in rural areas.

FARM MECHANIZATION

Mechanized agriculture is the process of using agricultural machinery to mechanize the work of agriculture, greatly increasing farm worker productivity. The effective mechanization contributes to increase production in two major ways: firstly the timeliness of operation and secondly the good quality of work. The requirement of power for certain operations like seedbed preparation, cultivation and harvesting becomes so great that the existing human and animal power in the country appears to be inadequate. As a result, the operations are either partially done or sometimes completely neglected, resulting in low yield due to poor growth or untimely harvesting or both. SCOPE OF MECHANIZATION It is quite true that the Indian farmers have the lowest earnings per capita because of the low yield per hectare they get from their holdings. One of the few important means of increasing farm production per hectare is to mechanize it. Mechanization in India may have to be done at various levels. Broadly, it can be done in three different ways: I. By introducing the improved agricultural implements on small size holdings to be operated by bullocks. II. By using the small tractors, tractor-drawn machines and power tillers on medium holdings to supplement existing sources. III. By using the large size tractors and machines on the remaining holdings to supplement animal power source. But many people are of the opinion that Indian agriculture cannot be fully mechanized. Only the improved animal-drawn implements should be introduced. It is felt that 1. There is a surplus of agricultural labour in India. 2. There are enough draft animals available in the country to do the farm work effectively. 3. The size of farm holdings of the majority of the Indian farmers is too small to justify the use of a tractor on their farms. 4. The investing capacity, of the farmers is too poor to buy a tractor and tractor-drawn implements. 5. The technical know-how of the people in the country is low. 6. In the absence of suitable farm road system, the tractor and tractor-drawn machines cannot be effectively utilized under the present conditions. 7. It will not be possible to increase the yield by using mechanical power.

Globally Important Agricultural Heritage Systems

Introduction 1 Agricultural Heritage Systems 2 Custodians of Our Agricultural Heritage 5 A Global Partnership Initiative 7 Remarkable characteristics of Globally Important Agricultural Heritage Systems (GIAHS) 9 Climate Change and Agricultural Heritage Systems 13 Heritage for the Future 15 GIAHS pilot systems around the world 18 Chiloe agriculture system (Chiloe Island, Chile) 19 Andean agriculture system (The Cuzco-Puno corridor, Peru) 21 Ifugao Rice Terraces (Philippines) 24 Rice-Fish culture (Qingtian county, China) 26 Hani Rice Terraces (China) 28 Wannian traditional rice culture (China) 32 Oases of the Maghreb (El Oued, Algeria and Gafsa, Tunisia) 33 The Maasai pastoral system (Kenya and Tanzania) 35 Rewarding traditional farmers as providers of ecological and cultural services 37 Opportunities for promoting dynamic conservation of globally important agricultural heritage systems 38 Conclusions and Way Forward for Sustainable Agriculture and Rural Development