Featured Posts

Data Engineer @National Geospatial-Intelligence Agency, St. Louis, USA Full Time

Title, PP, Series, Band
Data Engineer

Pay Band, Salary Range - Ext
Band 03   $60,613 - $123,234
Band 04   $86,391 - $145,629
Band 05   $120,083 - $161,900

Permanent Change in Station
PERMANENT CHANGE IN STATION: PCS expenses are authorized.

Additional Information
Data Engineers develop, construct, test, and maintain architectures such as databases and large-scale data processing systems. They clean, prepare, and optimize data for consumption through the design and construction of massive reservoirs for big data. They solve problems associated with database access and integration and unstructured data sets to provide clean, usable data for customers and IT counterparts. These engineers serve as integrators between data architects, data scientists, and other data consumers. They apply knowledge of scripting tools, programming languages, standards, and software packages to build the data pipelines that enable faster, better, data-informed decision-making within the Agency.
Duties include, but are not limited to, the following:
Band 3:
* Utilize a variety of languages and tools (e.g., scripting languages) to build data pipelines to pull together information from different source systems
* Collaborate with data architects, modelers, and IT team members on project goals; ensure systems meet Agency requirements and industry practices
* Design, construct, install, test, and maintain highly scalable data management systems
* Develop data set processes for data discovery, modeling, mining, and production
Band 4:
* Utilize a variety of languages and tools (e.g., scripting languages) and create custom software components and analytics applications to build data pipelines to pull together information from different source systems
* Collaborate with data architects, modelers, and IT team members on project goals; research emerging systems, opportunities for data acquisition, and new uses for existing data
* Integrate data management technologies and software engineering tools into data management systems
* Design, build, and test algorithms, prototypes, predictive models, and proof of concepts
Band 5:
* Oversee the development of data pipelines used to pull together information from different source systems
* Maintain robust internal network and facilitate collaboration with data architects, modelers, and IT team members on project goals
* Identify and recommend ways to improve data reliability, efficiency, and quality in existing data management systems; advise regarding feasibility of integrating emerging data management systems
* Serve as advisor regarding data management technologies, software engineering tools, and facilitate the innovation of systems and tools
Competencies (across all Pay Bands):
* Advising -- provides guidance and expertise to internal and external customers on policies, procedures, technologies, issues, and other organizational requirements.
* Customer Requirements Generation/Management -- demonstrates knowledge of how to build, prioritize, levy, track, review, and validate customer requirements and ensure they are documented and measurable.  Includes actions to resolve conflicts between customers and the acquisition community.

* Data Information/Management -- formats, catalogs, and/or filters data and information to facilitate data access, integration, and interpretation.
* Data Modeling -- develops, modifies, and evaluates formal descriptions of data and data structures as defined by a standard (e.g., respective definitions, data semantics, data syntax, associated metadata).
* Data Preparation -- accesses, converts, formats, cleans, merges, and normalizes data in advance of scientific and quantitative analysis.
* Data Standards -- knowledge of agency, industry, and other relevant data standards.
* Database Development -- applies database design principles to develop database and file structures.
* Scripting and Coding -- develops scripts, queries, or software code to accomplish a specific requirement or task.
* Technology Evaluation -- evaluates software, tools, and technologies for future use, and analyzes the potential impacts of new technologies. Identifies technology trends and opportunities.
* Testing & Evaluation -- develops test and evaluation plans, designs and conducts appropriate systems/software tests/evaluations, and documents and distributes results.
Qualifications Desirable
A. Bachelor's degree in Computer Science, Applied Mathematics, Management Information Systems, Engineering, Physical Sciences, or any other technology related field. -OR- B. Combination of Education and Experience: A combination of education and experience that demonstrates the ability to successfully perform the tasks associated with this work. As a rule, every 30 semester (45 quarter) hours of college work is equivalent to one year of experience. Candidates should show that their combination of education and experience totals to 4 years. -OR- C. Three years of experience or training in data engineering and related technologies.
DCIPS Statement
This position is a DCIPS position in the Excepted Service under 10 U.S.C. 1601.  DoD Components with DCIPS positions apply Veterans' Preference to preference eligible candidates as defined by Section 2108 of Title 5 USC, in accordance with the procedures provided in DoD Instruction 1400.25, Volume 2005, DCIPS Employment and Placement. If you are an external applicant claiming veterans' preference, as defined by Section 2108 of Title 5 U.S.C., you must self-identify your eligibility in our ERecruit application.
For more information on the array of benefits programs, please visit https://www.nga.mil/Careers/Benefits/Pages/default.aspx.
How To Apply
NGA is an equal opportunity employer. All candidates will be considered without regard to race, color, religion, sex, national origin, age, marital status, disability, or sexual orientation. NGA provides reasonable accommodations to applicants with disabilities.
To apply for this position, application instructions can be found by visiting https://www.nga.mil/Careers/Ap... and reading the FAQs. All announcements close at 7:59PM EST on the closing date listed. Be sure to complete and submit your application by that time in order to be considered. An incomplete application will be ineligible for consideration. ONLY ELECTRONIC SUBMISSIONS WILL BE ACCEPTED.
Special Requirements
As a condition of employment at NGA, persons being considered for employment must meet NGA fitness for employment standards.
* US Citizenship
* Security Clearance (Top Secret/Sensitive Comparted Information)
* Polygraph
* Direct Deposit
* Two-year trial period
* Position is subject to Drug Testing


Q.2.(b) solution of microprocessor and interfacing sample paper

In this solution of the problem based on operations on memory locations in the microprocessor, we try to make you understand that how memory operations are performed in the machine languages. With the help of flow chart its easy to understand the operations performed with the memory locations.

Q.2.(b) Subtract the 16 bit number in memory location 2002H and 2003H from the 16 bit number in memory locations 2000H and 2001H.  The most significant eight bits of the two numbers are in memory locations 2001H and 2003H.  Store the result in memory location 2004H and 2005H with the most significant byte in memory location 2005H.

Ans.  Statement of the problem
(2000H) = 19H
(2001H) = 6AH
(2002H) = 15H
(2003H) = 5cm
Result = 6A 19H - 5C 15H = OE04H
(2004H) = 04H
(2005H) = OEH

Program :

LHLD 2000H -> Get first 16 bit number in HL.
XCHG -> Save first 16 bit number in DE.
LHLD 2002H -> Get second 16 bit number.
MOV A, E -> Get lower byte of the first number.
SUB L -> Subtract lower byte of the second number.
MOV L,A -> Store result in L register.
MOV A, D -> Get higher byte of the first number.
SUB H -> Subtract higher byte of second number with borrow.
MOV H, A -> Store 16 bit result in memory locations 2004H and 2005H.
Shld 2004 -> Store 16 bit result in memory locations 2004H and 2005H.
HLT -> Terminate program execution.

Some Instructions in 8085

(i) RIM : Read interrupt mask :->  This is multipurpose instruction to read the status of interrupts RST 7.5, RST 6.5, RST 5.5 and read serial input pin.  The instruction loads 8 bits in the accumulator in the following format.
RIM Instruction format
 (ii) SIM : Set interrupt mask :->  This is a multipurpose instruction used to control interrupts and serial data output pin.  The instruction interprets the accumulator contents as follows :-
SIM Instruction format

(iii) RRC : Rotate accumulator right ->  This instruction rotates the contents of accumulator right by 1 bit.  D7 will be transferred to D6, D6 to D5 and so on D1 to D0, D0 to D7 as well as to the carry flag.
RRC Instruction format
Operation : Accumulator : Dn+1 -> Dn(n = 0 to 6)
                                         D0 -> D7, D0 -> Cy
 (iV) XCHG : Exchange the contents of HL, with DE pair.
                     This instruction exchanges contents of H register with D register and L register with E register.
Operation : H <-> D, L <-> E.

(v) DADRp : Add the specified register pair to HL pair.
                    This instruction adds the contents of specified register pair to HL pair and stores the result in HL pair.  The example of Rp are SP,BC,DE and HL.  Only carry flag is modified to reflect the result of operation.
     Operation :  Rp + HL -> HL

What is programmable interval timer ?

      There are two types of programmable interval timer are generally used.  Intel 8253 is a programmable interval Timer/Counter which can generate accurate time delays and wave forms ranging from 0 Hz using software control.  8523 is its upgraded version which can operate with higher clock frequency range (DC - 8 MHz) and it is pin to pin compatible with 8253.

Explain Register addressing mode in 8086

     Register addressing mode :  In this mode of addressing, data is in the register and instruction specifies the particular register as shown in the figure below.

This  addressing mode is normally preferred because the instructions are compact and fastest executing of all instruction forms.  The reason why it is fastest executing is just because, all the register reside on chip, therefore data transfer is within the chip and external bus is not at all required.

Register may be used as source operands, destination operands or both.
The register may be 8/16 bit.
     e.g. MOV   BX, AX
The instruction copies the contents of BX register to AX register.

Describe the purpose of Trap flag in 8086

     The trap flag (TF) :  Setting TF puts the processor into single step mode for debugging.  In single stepping, microprocessor executes a instruction and enters into single step ISR.

      After that user can check register or memory contents, if found ok, user can proceed further, else necessary action will be taken.  This utility is, to debug the program.  If TF = 1, the CPU automatically generates an internal executes instruction by instruction, allowing a program to be inspected as it executes instruction by instruction.

      Used by debuggers for single step operation.
      Tf = '1' - Trop on, TF = '0' - Trap off.

Describe the purpose of program Counter in 8085

      Program counter is a 16 bit register.  This register is a memory pointer.  The function of program counter is to point to the memory location from which the next instruction is to be executed.  When a program is to be executed, it is first entered into the memory locations.  Now the program counter is loaded by the address of the first instruction to be executed. Once the first instruction is executed, the program counter is automatically incremented to point to the address of next instruction.  The process is repeated till the end of the program.

       This register is basically deals with the execution of instructions in sequence. Memory locations have 16-bit addresses, and that is why this is a 16-bit register. The microprocessor uses this register to sequence the execution of the instructions.  The main function of the program counter is to point to the memory address from which the next byte is to be fetched.  When a byte is being fetched the program counter is incremented by one point to the next memory location.

Define Memory Segmentation

=>  Memory segmentation is the division of a computer's primary memory into segments or sections.  In a computer system using segmentation, a reference to a memory location includes a value that identifies a segment and an offset within that segment.  Segments or sections are also used in object files of compiled programs when they are linked together into a program image and when the image is loaded into memory.

Some of the advantages of memory segmentation in the 8086 are as follows :

  1. With the help of memory segmentation a user is able to work with registers having only 16 bits.
  2. By memory segmentation the various portions of a program can be of more than 68kb.
  3. The data and the users code can be stored separately allowing for more flexibility.
  4. Also due to segmentation the logical address range is from 0000H to FFFFH the code can be loaded at any location in the memory.

Microprocessor and Interfacing previous solved sample papers

Sample papers, MDU B.Tech sample papers of microprocessor and interfacing, 5th semester sample papers, MDU B.Tech sample papers of 5th semester, microprocessor and interfacing 5th semester solved sample papers, Microprocessor and Interfacing MDU B.tech Solved question papers

Sample paper of Microprocessor and Interfacing Paper code EE-309-F Dec-2015

Sample paper of Microprocessor and Interfacing Paper code EE-309-F Dec-2015 
solved sample papers, MDU B.Tech sample papers, microprocessors and interfacing sample paper Dec-2015, sample paper of microprocessors and interfacing,

Q.1. Answer the following :-
(a). Define Memory Segmentation.                                    View solution 
(b). Describe the purpose of program Counter in 8085.    View solution
(c). Describe the purpose of trap flag in 8086.                  View solution
(d). Explain Register addressing mode in 8086.                View solution
(e). What is programmable interval timer ?                        View solution

Unit - I

Q.2.(a) Explain the purpose of following instructions in 8085.
(i) RIM
(ii) SIM
(iii) RRC
(iv) XCHG
(v) DADRp

Q.2.(b) Subtract the 16 bit number in memory location 2002H and 2003H from the 16 bit number in memory locations 2000H and 2001H.  The most significant eight bits of the two numbers are in memory locations 2001H and 2003H.  Store the result in memory location 2004H and 2005H with the most significant byte in memory location 2005H.

View the solution of the Q.2.(b) here.

Q.3.(a) Explain pin diagram of 8085 and describe various signals.
(b) Discuss in detail 8085 interrupts.

View the solution of the Q.3. here.

Q.4.(a) Explain flag manipulation instruction of 8086 in detail.
(b) Describe 8086 Microprocessor architecture with its block digram. (10 marks)

View the solution of the Q.4 here.

Q.5.(a) Explain instructions format of 8086 microprocessor in detail. (10 marks)
(b) Explain the purpose of EU and BU in 8086.

View the solution of the Q.5 here.

Q.6.(a) Write the purpose of following instruction in 8086 with example. (10 marks).
(i) LOOP
(ii) RET
(iii) AAM
(iv) MOVSB

(b) Explain directives used in assembly language program ?

View the solution of the Q.6 here.

Q.7. Write an ALP of 8086 to add series of N 16 bit numbers.  (20 marks)

View the solution of the Q.3 here.

Q.8. Explain the working of 8255 in mode 2 and BSR Mode.  Also explain how the contents of control registers are interpreted in BSR and I/O mode.  (20 marks)

View the solution of the Q.8 here.

Representing curves and spheres

Introduction :-
                         Smooth curves and surfaces must be generated in many computer graphics applications.  Many real world objects are inherently smooth, and much of the computer graphics involves modelling in real world.

The need to represent curves and surfaces :->

The need to represent curves and surfaces arises in 2 cases :

  1. In modelling existing objects example a mountain, a car.
  2. In modelling from scratch where no preexisting physical object is represented.
    In the first case, pertaining to represent existing objects, a mathematical description of the object may be unavailable.  The representation is oftenlly carried by mere approximation of the object with pieces of planes, spheres or other shapes that are easy to describe mathematically and requires that points on our model to be close to the corresponding points on the object.

    In the second case, the user need to create the object in the modeling process, hence the object matches its representation exactly.

    The above two cases exhibit the behavior of surface modelling.  The 3 most common representation for 3D surfaces are :-
  • Polygon mesh surfaces.
  • Parametric surfaces.
  • Quadratic surfaces.
    Polygon and quadric surface provide precise descriptions for simple hidden objects, objects such as polyhedrons and ellipsoids; spline surfaces and construction techniques are useful for designing.  Procedural methods, such as fractal construction and particle systems allow us to give accurate representation of clouds, clumps of grass and other natural, physically based modeling methods using systems of interacting forces can be used to describe the non rigid behavior objects.

Curved lines and Surfaces :-

Displays of 3D curved lines and surfaces can be generated from an input set of mathematical functions, defining the objects of from a set of user specified data points when functions are specified.  A package can project the defining equations of a curve to the display plane and plot pixel positions along the path of the projected function.  For surfaces, a functional description of the object is often tessellated to produce a polygon mesh approximations to the surface.
     When a set of discrete coordinates points is used to specify an object shape, a functional description is obtained that best fits the designated points according to the constraints of the application.

Spline Representation :- 

           These are examples of this class of curves and surfaces.  These methods are commonly used to design new object shapes, to digitize drawings, and to describe animation paths.  Curve and surface equations can be expressed in either parametric and non-parametric form.  However, for computer graphics the parametric forms are more convenient.

Parametric Cubic Curves

       Poly-lines and polygons are first degree, piece wise linear approximations to curves and surfaces respectively unless the curves or surfaces coordinates must be created and stored to achieve reasonable accuracy.  A more compact and more manipulative representation of piece wise smooth curves is developed.  The mathematical development is generalized to surface.

       The general approach is to use functions that are of higher degree than the linear functions.

       The higher degree approximations can be based on any one of the 3 methods :-
  1. Express y and z as explicit functions of x i.e y = F1(x) & z = F2(x).
  2. Model curves as solutions to implicit equations of the form F(x,y,z) = 0.
     The above two mathematical form do permit rapid determination of whether a point lies on the curve or on which side of the curve does the point lie.  However, they are confronted with their own set of problems.  The third method overcomes the problems associated with them.

Geometric Continuity Conditions

  • G0 geometric continuity (Zero order) :-  If two curve segment join together i.e have same co-ordinate positions at the join point.
  • G1 geometric continuity (first order) :-  If the directions but not necessarily the magnitudes of the tangent vectors of the curve are equal at he join point the curve has G1 continuity.
  • G2 geometric continuity ( second order ) :-  If the first order and the second order parametric, parametric derivations of the order 2 curve sections are proportional at their join point.
Note :-  To have G1 and G2 continuities mean that geometric slopes of the segments are equal at join point.  For 2 tangent vectors TV1 & TV2 to have same directions, it is essential to be a scalar multiple of other.
Tv1 = k.Tv2,  k>0

Area Subdivision Method

Area subdivision method :

         It is an example of image space method.  The basic principle of this algorithm is to divide are of projection plane into smaller and smaller areas in such a way that each small area belongs to a single surface or no surface at all.

       Following are the possible relations of viewing area with surfaces of the scene :-

  1. Surrounding surface :-> This is the case when surface completely encloses the viewing area.
    Surrounding surface
  2. Overlapping surface :->  This is the case when overlapping surface is partly inside and partly outside.
    overlapping surface
  3. Inside surface :->  The surface is completely inside the area.
    Inside surface
  4. Outside surface :->  Surface is completely outside the area.
    Outside surface
Normally, we divide the viewing plane into four subareas whenever division of area is required as shown in figure.
Area subdivision

Subdivision of a specified area is not needed if any of following tests is true.
Test 1 :-> All surfaces are outside surface with respect to area.  This test can be done by checking the bounding rectangles of all surfaces against area boundaries.  This is shown below in figure.

Test 1

Test 2 :-> Only one inside, overlapping or surrounding surface is in the area.  This test can also be done by using bounding rectangles in xy plane to identify an inside surface these cases are shown in figure.
Test 2

          If a single inside, overlapping or surrounding surface has been identified, its pixel intensities are transferred to frame buffer.  If a single bounding rectangle intersects the area in some way, additional checks are used to determine.

Test 3 :->  A surrounding surface obscures all other surfaces within the area boundaries.  This test can be done by two ways :

  • Calculate the depth (Z-min, Z-max) for each surface.  If for any surface Z-max is greater than Z-min of all other surfaces, then this test is satisfied.
  • Find the minimum depth among all the surfaces using plane equations. Surface with minimum depth is the surface when obscures other surfaces.
     If neither above mentioned test is true, then we subdivide the area into four parts and perform the tests ( test 1 to test 3) again and so on.

Depth Sorting Algorithm

Depth Sorting Algorithm :

          This algorithm is also called Painters algorithms.  This  algorithm is a combination of both image space algorithm and object space approach.

       In this algorithm we perform following two basic functions :

(a). Surface are sorted in order of decreasing depth.  Sorting can be done either in image space or in object space.  By sorting, we assign priorities to various surfaces which determines the order of scan conversion of polygon.  Due to this reason it is called priority algorithm.

(b). Scan convert the surface order, starting with surface of greatest depth. This function is always performed in image space.

       In this algorithm we use the concept of extent of polygons.  The x-extent of polygon is difference between maximum value of x-coordinate and minimum value of x-coordinate of polygon.  Similarly we can define y and z extent.

For example :  Consider the polygon shown in 

Minimum value of x-coordinate among A,B,C,D vertices in 2 (of A).

Maximum value of X-coordinate among vertices A,B,C & D is 10 (off B).

Hence x-extent = 10 - 2 = 8.
similarly, y-extent = 5 - 1 = 4.
and  z-extent = 8 - 1 = 7.
In painters algorithm, we perform following test to check whether one polygon overlaps other polygon or not.  If any of following test is true then one polygon do not overlap other polygon.

Test :

  1. z-extent of polygon P and Q do not overlap.
  2. x-extent of P and Q do not overlap.
  3. y-extent of P and Q do not overlap.
  4. All vertices of P lie on same side of plane containing.
  5. Projection of polygon P and Q on view plane do not overlap.
     If polygon do not overlap other polygon, then we set the intensity of farthest polygon in frame buffer.  If two polygons overlap than we swap the polygons and perform the tests again.

Scan Line Algorithm

Scan Line Algorithm

          Scan line algorithm is an example of image space algorithm.  Rather than looking for one polygon surface we deal with multiple surfaces.  As each scan line is processed, all polygon surfaces intersecting that line are examined to determine which are visible.

      We set two tables in this algorithm, one is edge table which contains coordinate end points for line in scene, inverse slope of each line (i.e 1/m) and pointers into polygon table to identify the polygon for each edge.

      The other table polygon table contains coefficients of plane equation for each surface, intensity information for each surface and pointers into edges.

     The edges which intersect the given scan line are made as active edge and sorted in an active edge list.  The active edge list contains edges that cross current scan line and sort them in increasing order of x.

     A flag is also used for each surface.  Flag is set to on if position along scan line is inside the surface and set to off if it is outside.  Scan lines are processed from left to right.  At the leftmost boundary of surface, flag is turned on and at the rightmost boundary it is turned off.
     Across each scan line, depth calculations are made for each overlapping surface to determine which is nearest to the view plane.  When visible surface is determined, intensity value for that position is stored in refresh buffer consider the following figure :->

     Scan line 1 intersects edges AB, BC, EH and FG.  Scan line for positions between edge AB and BC flag for surface S1 is on therefore no depth calculations are necessary and intensity information for S1 is stored in refresh buffer.  Similarly between edges EH and FG, only flag for surface S2 is on.  In the remaining  areas for scan line 1 intensity value is set to background intensity.

     Along scan line 2 from edge AD to EH, only flag for S2 is on.  But between edges EH and BC, flags for both surfaces are off.  Hence in this interval, depth calculations must be made using plane coefficients for two surfaces.  If the depth of S1 is lies above the S then intensities for S1 are loaded in refresh buffer.

    For S2 between edges BC and FG for scan line 2, flag for S2 is set to off and intensities for S2 are stored until edge FG is passed through scan line 3, there is no need to calculate depth between edges FG and BC.

Depth Buffer or Z-buffer Algorithm

Depth Buffer or Z-buffer Algorithm :

                 It is an example of image space algorithm.  In this algorithm we compare depth of surface at each pixel position on the projection plane.  Each surface of scene is processed separately, taking one point at a time across surface.  This method is normally used on polygonal surfaces.

                In this algorithm, we kept record of depth of object within pixel that lies closest to observer.  This algorithm requires two buffers.  A depth buffer is used to store depth for each (x,y) position as surfaces are processed.  The other buffer refresh buffer stores the intensity value of each position.  Initially all positions in depth buffer are set to 0 and refresh is set to background intensity.

                Each polygon surface is processed, one scan line at calculating the depth (Z value) at each pixel (x,y) position.  If calculated depth is more than depth value stored in depth buffer, new depth value will be stored.

                Depth values for a surface position (x,y) are calculated from plane equation for each surface
Z = - Ax - By - D  
Next pixel position on same scan line is (x + 1, y) and its Z value is calculated as

Z' = - A(x+1) - By - D
If we compare these two equation then we get

Z' = Z - A/C

Hence depth value for next pixel position is calculated from previous depth value by subtracting ratio A/C.  Ratio A/C is constant for each surface.
The Z- buffer algorithm is summarized as below :

1. Initialize the depth buffer and refresh buffer so that for all buffer positions (x,y)
depth (x,y) = 0,
refresh (x,y) = Ib

Where Ib represents background intensity.

2. For each position on each polygon surface, compare depth value to previously stored value in depth buffer.

=>  Calculate depth Z for each (x,y) position on polygon
=>  If Z> depth (x,y) then
      depth (x,y) = Z and 
      refresh (x,y) = I-surface(x,y)

Advantage : It is the simplest of all image space algorithm.

Disadvantage : High amount of storage space is required for two buffers.


www.posthatke.com. Powered by Blogger.

Google+ Followers

Copyright © www.posthatke.com | Blogger Templates | Designed By posthatke.com