Monday, May 23, 2016
MEGHANA KOLATHURU
I am Meghana Kolathuru. I did my M.Tech in Software Engineering, B.Tech in Information Technology.
Programming Languages
The term programming language usually refers to set of grammatical rules for instructing a computer to perform specific tasks. Each language has a unique set of keywords (words that it understands) and a special syntax for organizing program instructions.
High-level programming languages are simple compared to human languages which are more complex than the languages the computer actually understands called machine languages. Different types of CPU has its own unique machine language.
Lying between machine languages and high-level languages are languages called assembly languages. Assembly languages are similar to machine languages, but they are much easier to program because they allow a programmer to substitute names for numbers. Machine languages consist of numbers only.
Regardless of what language you use, you eventually need to convert your program into machine language so that the computer can understand it. There are two ways to do this:
1) Compile the program
To transform a program written in a high-level programming language from source code into object code. Programmers write programs in a form called source code. Source code must go through several steps before it becomes an executable program. The first step is to pass the source code through a compiler, which translates the high-level language instructions into object code.
The final step in producing an executable program -- after the compiler has produced object code -- is to pass the object code through a linker. The linker combines modules and gives real values to all symbolic addresses, thereby producing machine code.
2) Interpret the program
An interpreter translates high-level instructions into an intermediate form, which it then executes. In contrast, a compiler translates high-level instructions directly into machine language. Compiled programs generally run faster than interpreted programs. The advantage of an interpreter, however, is that it does not need to go through the compilation stage during which machine instructions are generated. This process can be time-consuming if the program is long. Both interpreters and compilers are available for most high-level languages.
Friday, May 20, 2016
SCALA
Introduction
Scala is a modern multi-paradigm programming language. It smoothly integrates features of object-oriented and functional languages.
Features
Object Oriented
Scala is a pure object-oriented language in the sense that every value is an object. Types and behavior of objects are described by classes and traits. Classes are extended by sub classing and a flexible mixin-based composition mechanism as a clean replacement for multiple inheritance.
Functional
Scala is also a functional language in the sense that every function is a value. Scala provides a lightweight syntax for defining anonymous functions, it supports higher-order functions, it allows functions to be nested, and supports currying. Scala’s case classes and its built-in support for pattern matching model algebraic types used in many functional programming languages. Singleton objects provide a convenient way to group functions that aren’t members of a class.
Furthermore, Scala’s notion of pattern matching naturally extends to the processing of XML data with the help of right-ignoring sequence patterns, by way of general extension via extractor objects. In this context, sequence comprehensions are useful for formulating queries. These features make Scala ideal for developing applications like web services.
Statistically Typed
Scala is equipped with an expressive type system that enforces statically that abstractions are used in a safe and coherent manner. In particular, the type system supports:
- generic classes
- variance annotations
- upper and lower type bounds,
- inner classes and abstract types as object members
- compound types
- explicitly typed self references
- implicit parameters and conversions
- polymorphic methods
A local type inference mechanism takes care that the user is not required to annotate the program with redundant type information. In combination, these features provide a powerful basis for the safe reuse of programming abstractions and for the type-safe extension of software.
Extensible
In practice, the development of domain-specific applications often requires domain-specific language extensions. Scala provides a unique combination of language mechanisms that make it easy to smoothly add new language constructs in form of libraries:
- any method may be used as an infix or postfix operator
- closures are constructed automatically depending on the expected type (target typing).
A joint use of both features facilitates the definition of new statements without extending the syntax and without using macro-like meta-programming facilities.
Scala is designed to interoperate well with the popular Java 2 Runtime Environment (JRE). In particular, the interaction with the mainstream object-oriented Java programming language is as smooth as possible. Newer Java features like annotations and Java generics have direct analogues in Scala. Those Scala features without Java analogues, such as default and named parameters, compile as close to Java as they can reasonably come. Scala has the same compilation model (separate compilation, dynamic class loading) like Java and allows access to thousands of existing high-quality libraries.
Scala is designed to interoperate well with the popular Java 2 Runtime Environment (JRE). In particular, the interaction with the mainstream object-oriented Java programming language is as smooth as possible. Newer Java features like annotations and Java generics have direct analogues in Scala. Those Scala features without Java analogues, such as default and named parameters, compile as close to Java as they can reasonably come. Scala has the same compilation model (separate compilation, dynamic class loading) like Java and allows access to thousands of existing high-quality libraries.
Monday, May 16, 2016
System Software
1.INTRODUCTION
Basic concepts-Machine structure-Instruction formats-Addressing modes-Typical Architectures.2.ASSEMBLERS
Functions-Features-Machine dependent-Machine independent-Design options-One pass-Multipass-Implementation-Examples.
3.LOADERS AND LINKERS
Functions-Features-Relocation-Program Linking-Linking loader implementation-Automatic library search-Loader option-Linkage editors-Dynamic linking-Bootstrap loaders-Examples
4.MACROPROCESSORS
Functions-Macro parameters-Using labels-Conditional macro expansion-Recursive macro expansion-Generalpurpose macro processors-Examples.
5.COMPILERS AND UTILITIES
Introduction to Compilers-Different phases of a compiler-Simple one pass compiler-Code optimizationtechniques-System Software tools-Implementation of editors-Debuggers.
.
INTRODUCTION TO ANALYSIS OF ALGORITHMS
1. ADVANCED DATA STRUCTURES
Heaps-Height Balanced Trees-Applications-Graphs-Representations-Traversal.2. ALGORITHM ANALYSIS
Mathematical foundations-Big "oh" notation-Searching-Worst case - Tournament method-Finding the largest and second largest-lower bound-Time space requirements.3. SORTING AND STRING MATCHING ALGORITHMS
Quick Sort-Heap Sort-Merge Sort-External Sort-String Matching-Knuth-Morris Pratt algorithm-Analysis.4. GRAPH ALGORITHMS
Minimal spanning trees-Shortest paths-Cut vertices-Bi-connected Components-Analysis.5. "HARD" PROBLEMS
Definition-Examples-Approximation Algorithms-Classical Problems-Solutions.6. TUTORIAL
PROGRAMMING AND DATA STRUCTURES
1. PROGRAM DEVELOPMENT
Top-down approach-Bottom-up approach-Stepwise refinement-Modularity_Pseudo code-Sequence-Selection-Iteration-Recursion-Structured Programming Methodologies.
2. C LANGUAGE
Primitive Data Types-Control-Function-Aggregate data types-Input/Output-Preprocessor.3. LINEAR DATA STRUCTURES
Lists-Stacks-Queues-Representation using arrays-Singly linked lists-doubly linked lists-application.4. NONLINEAR DATA STRUCTURES
Trees-Binary trees-Representation-Traversals-Binary search trees-Tables-Representation-Hashing techniques.5. SEARCHING, SORTING AND FILES
Linear search-Binary search-Insertion sort-Bubble sort-Files-Sequential-Random.6. TUTORIAL
OFFICE AUTOMATION
a) Word Processing
b) Data Base Management System
c) Spread Sheet Package
d) Presentation Software
b) Data Base Management System
c) Spread Sheet Package
d) Presentation Software
FUNDAMENTALS OF COMPUTERS AND OPERATING SYSTEMS
Evolution of Computers - Organization of Modern Digital Computers-Single user Operating System-
Multitasking OS-GUI
Multitasking OS-GUI
PROGRAMMING IN C AND DATA STRUCTURES
UNIT I- Overview of Computers and Programming -
Electronic Computers then and Now,
Computer Hardware,
Computer Software,
Algorithm,
Flowcharts,
Software Development Method,
Applying the Software Development Method.
UNIT II- Introduction to C Language -
C Language Elements,
Variable Declarations and Data Types,
Executable Statements,
General Form of a C Program,
Expressions,
Precedence and Associativity,
Expression Evaluation,
Operators and Expressions,
Type Conversions,
Decision Statements - If and Switch Statements,
Loop Control Statements - while, for, do-while Statements, Nested for Loops,
Other Related Statements - break, continue, goto.
UNIT III- Functions -
Library Functions, Top-Down Design and
Structure Charts, Functions with and without Arguments,
Communications Among Functions, Scope, Storage Classes - Auto,
Register, Static, Extern, Scope rules, Type Qualifiers, Recursion -
Recursive Functions, Preprocessor Commands.
Arrays - Declaring and Referencing Arrays, Array Subscripts, Using
For Loops for Sequential Access, Using Array Elements as Function
Arguments, Arrays Arguments, Multidimensional Arrays.
UNIT IV- Pointers -
Introduction,
Features of Pointers,
Pointer Declaration,
Arithmetic Operations With Pointers,
Pointers and Arrays,
Pointers and Two-Dimensional Arrays,
Array of Pointers,
Pointers to Pointers,
Void Pointers,
Memory Allocation Functions,
Programming Applications,
Pointer to Functions,
Command- Line Arguments.
Strings - String Basics,
String Library Functions,
Longer Strings,
String Comparison,
Arrays of Pointers,
Character operations,
String-To- Number and Number-To- String Conversions,
Pointers and Strings.
UNIT V- Structure and Union –
Introduction,
Features of Structures,
Declaration and Initialization of Structures,
Structure within Structure,
Array of Structures,
Pointer to Structure,
Structure and Functions,
typedef,
Bit Fields,
Enumerated Data Type,
Union,
Union of Structures.
UNIT VI- Files -
Introduction,
Streams and File Types,
Steps for File Operations,
File I/O Structures,
Read and Write,
Other File function,
Searching Errors in Reading/Writing of Files,
Low Level Disk I/O,
Command Line Arguments,
Application of Command Line Arguments,
File Status functions (error handling).
UNIT VII- Data Structures -
Overview of Data Structure,
Representation of a Stack,
Stack Related Terms,
Operation on a Stack,
Implementation of a Stack,
Representation of Arithmetic Expressions,
Infix, Prefix, and Postfix Notations,
Evaluation of Postfix Expression,
Conversion of Expression from Infix to Postfix,
Recursion,
Queues - Various Positions of Queue, Representation of Queue, Insertion,
Deletion, Searching Operations.
Linked List - Singly Linked List, Linked List with and without header,
Insertion, Deletion and Searching Operations.
UNIT VIII- Searching and Sorting -
Exchange (Bubble) Sort,
Selection Sort,
Quick Sort,
Insertion Sort,
Merge Sort. Searching-
Linear and Binary Search Methods.
Computer Science
Computer science is the scientific and practical approach to computation and its applications. Or simply The study of the principles and uses of the Computer. A computer scientist specializes in the theory of computation and the design of computational systems.
Computing includes designing, developing and building hardware and software systems; processing, structuring, and managing various kinds of information like making systems behaves intelligently(Artificial Intelligence), Scientific research,etc.,
The field of computing includes computer engineering, software engineering, computer science, information systems, and information technology.
Computing includes designing, developing and building hardware and software systems; processing, structuring, and managing various kinds of information like making systems behaves intelligently(Artificial Intelligence), Scientific research,etc.,
The field of computing includes computer engineering, software engineering, computer science, information systems, and information technology.
Computer
- A Computer is an electronic device used for processing and storing the data in binary form. The computer manipulates or processes the data in the form of set of instructions called "Programs".
- In general, A program consists of bits and pieces of source code. A source code of a program is collection of instructions written by human readable computer language.
- A Programmer studies and develops the programs in sequence of steps called Algorithms.
Computer Software
- Computer Software or simply Software refers to one or more programs and data held in the storage of the computer.
- A Software is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it.
- software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system.
Computer Programmer
A computer programmer/coder(Specialist in one area of programming) is a person who writes computer software. The term programmer can be used to refer to a software developer, software engineer, computer scientist.
Computer Network
- A computer network or simply a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information.
- If two devices are said to be in a network then one process in one device is able to send/receive data to/from at least one process residing in a remote device,.
- A Network is defined based on different aspects such as mediums, protocols, topology, scope,etc.,
User
A user is one who uses a computer or network service.Computer Languages
Computer Languages are designed to communicate with a machine(Computer) through the set of instructions.
In general Computer Languages include
- Command Language(through which users communicate with the operating system)
- Construction Language(a general category that includes configuration languages, toolkit languages, and programming languages)
- Configuration Language(a language used to write configuration files)
- Data Serialization(is just a format)
- Markup Language(a grammar for annotating a document in a way that is syntactically distinguishable from the text)
- Machine Language(a set of instructions executed directly by a computer's central processing unit)
- Modeling Language(a formal language used to express information or knowledge, often for use in computer system design)
- Style Sheet Language(is a computer language that expresses the presentation of structured documents)
- Query Language(used to make queries in databases and information systems)
The description of a programming language is usually split into the two components of syntax (form) and semantics(meaning).
Syntax
Programming language syntax is usually defined using a combination of regular expressions (for lexical structure) and Backus– Naur Form (for grammatical structure).
The grammar specifies the following:
- an expression is either an atom or a list;
- an atom is either a number or a symbol;
- a number is an unbroken sequence of one or more decimal digits, optionally preceded by a plus or minus sign;
- a symbol is a letter followed by zero or more of any characters (excluding whitespace); and
- a list is a matched pair of parentheses, with zero or more expressions inside it.
Semantics
The term Semantics refers to the meaning of languages, as opposed to their form (syntax).
The field of formal semantics encompasses all of the following:
- The definition of semantic models
- The relations between different semantic models
- The relations between different approaches to meaning
- The relation between computation and the underlying mathematical structures from fields such as logic, set theory, model theory, category theory, etc.
Denotational semantics(mathematical semantics or Scott–Strachey semantics)
Denotational semantics is concerned with finding mathematical objects(Denotations) called domains that represent what programs do.
Operational semantics
The operational semantics for a programming language describes how a valid program is interpreted as sequences of computational steps. These sequences then are the meaning of the program. In the context of functional programs, the final step in a terminating sequence returns the value of the program.Axiomatic semantics
Axiomatic semantics is an approach based on mathematical logic to proving the correctness of computer programs. Axiomatic semantics define the meaning of a command in a program by describing its effect on assertions about the program state. The assertions are logical statements - predicates with variables, where the variables define the state of the program.
Computer Languages are also known as Programming Languages.
Friday, May 13, 2016
Computing Environment
The process of utilizing computer technology to complete a task. The word compute refers to the process of converting information to data.
In general we have 4 kinds of computing environments.
1. Personal Computing Environment
2. Time Sharing Computing Environment
3. Client/Server Computing Environment
4. Distributed Computing Environment
1. Personal Computing Environment
The Combination of basic elements of central processing unit and microprocessor is Personal Computing Environment or simply Personal Computers.
These kinds of environments are designed to be used by one user at a time.
2. Time Sharing Computing Environment
In this environment all the computing and processing must be done by Central Computer which is a sharing resource by means of time. Such as Multi Tasking and Multi Programming.3. Client/Server Computing Environment
It involves the processing between two machines. A Client Machine is one which requests processing. A Server Machine is one which offers processing.
Examples: WWW, Email, etc.,
The core processing is done by server so that the client is capable enough to do a portion of processing.
4. Distributed Computing Environment
Distributed computing is a de-centrally controlled computing
environment where a large number of heterogeneous
computing resources are interconnected in the geographical
space through high speed network.
A DCE provides an integration of computing functions between different servers and clients. A Client is not just a requester for processing the information from the server. The client has also the capability to process the information. All the machines(client/server) share the processing tasks.
A DCE provides an integration of computing functions between different servers and clients. A Client is not just a requester for processing the information from the server. The client has also the capability to process the information. All the machines(client/server) share the processing tasks.
Computer Systems
Computer Systems
Computer is one that takes inputs, process them and creates outputs. The whole process is done by set of hardware and software.
The processor needs set of instructions called programs in order to process the information with the help of CPU(Central Processing Unit).
Input can be anything such as commands, instructions and data that can be entered to the computer.
Examples of input devices are Keyboard, mouse, etc.,
Outputs are the processed data from the processor displayed with the help of monitor which is an output device and stored in the backing storage from which we can use it for future purposes.
Examples of Output devices are Monitor, printer, etc.,
Thursday, May 12, 2016
PROBLEM SOLVING AND COMPUTER PROGRAMMING
UNIT I
Introduction to Computers:
Computer Systems
Computing Environment
Computer Languages,
Creating and Running Programs,
System Developments.
Introduction to the C Language:
Introduction,
C programs,
Identifiers,
Types,
Variables,
Constants,
Input and Output,
Programming Examples.
Introduction to Computer Problem Solving:
Introduction,
The Problem-Solving Aspect,
Topdown Design,
Bottom-up Approach,
Flowcharts,
Implementation of Algorithms,
Program Verification,
The Efficiency of Algorithms,
The Analysis of Algorithms.
UNIT II
Structure of C program:
Expressions,Precedence and Associativity,
Evaluating Expressions,
Type Conversion,
Statements,
Sample Programs.
Selections and Making Decisions:
Logical Data and Operators,Two-way Selection,
Multiway Selection.
Repetition:
Concept of Loop,Pretest and Post-test Loops,
Initialization and Updation,
Event and Counter Controller Loop,
Loops in C,
Looping Applications.
Fundamental Algorithms:
Exchanging the values between two variables,Counting,
Summation of a set numbers,
Factorial Computation,
Sine Function Computation,
Generation of the Fibonacci Sequence,
Reversing the digits of a integer,
Basic conversions,
Character to Number Conversion
UNIT III
Factoring Methods:
Finding Square root of a Number,The Smallest Deviser of an Integer,
The GCD of two Integers,
Generating Prime Numbers,
Computing Prime Factor of an Integer,
Computing the prime factors of an Integer,
Generation of Pseudo Random Number,
Raising the number to Large Power,
Computing the nth Fibonacci.
Functions:
Introduction,User Defined Functions,
Inter-Function Communication,
Standard Functions,
Scope,
Programming Examples.
Array Techniques:
Array Order Reversal,Array Counting,
Finding the Maximum Number Set,
Removal Duplicates from an Ordered Array,
Partitioning an Array,
Finding kth smallest Element,
Longest Monotone Subsequence.
Arrays:
Introduction,Two Dimensional Arrays,
Multi Dimensional Arrays,
Inter Function Communication,
Array Applications,
Exchange Sort,
Binary Search,
Linear Search.
UNIT IV
Strings:
String Concepts,C Strings,
String Input/Output Functions,
Arrays of Strings,
String Manipulation Functions,
String/Data Conversion.
Enumerated, Structure, and Union Types:
The Type Definition,Enumerated Types,
Structure,
Unions,
Programming Applications.
Bitwise Operators:
Exact Size Integer Types,Logical Bitwise Operators,
Shift Operators,
Mask.
UNIT V
Pointers:
Introduction,Pointers for Inter-Function Communication,
Pointers to Pointers,
Compatibility,
Lvalue and Rvalue.
Pointer Applications:
Array and Pointers,Pointer Arithmetic and Arrays,
Passing an Array to a Function,
Memory Allocation Functions,
Array of Pointers,
Programming Applications.
Binary Input/output:
Text Versus Binary Streams,Standard Library Functions for Files,
Converting File Type.
Linked List:
Single Linked List,Insertion and Deletion
Subscribe to:
Posts (Atom)







