Showing posts with label Computer Engineering. Show all posts
Showing posts with label Computer Engineering. Show all posts

13 June 2015

Now Computation can be done using water droplets

On 6/13/2015
Computers and water typically don't mix,  but in Manu Prakash's lab at Stanford, engineers have developed a computer that operates using the unique physics of moving water droplets. 

The computer was made from an idea which struck Prakash when he was just a student. The work combines his expertise in manipulating droplet fluid dynamics with a fundamental element of computer science  an operating clock. "In this work, we finally demonstrate a synchronous, universal droplet logic and control," Prakash said. The droplet computer can theoretically perform any operation that a conventional electronic computer can  and that is because of the universal the nature of water.


Prakash also said " We already have digital computers to process information. Our goal is not to compete with electronic computers or to operate word processors on this".  "Our goal is to build a completely new class of computers that can precisely control and manipulate physical matter. Imagine if when you run a set of computations that not only data is processed but physical matter is algorithmically manipulated as well. We have just made this possible at the mesoscale" he added.

Ever since Prakash was in graduate school this idea was nagging him, Eventually, Prakash decided to build a rotating magnetic field that could act as clock to synchronise all the droplets. The idea showed promise, and in the early stages of the project, Prakash recruited Georgios Katsikis, the first author on the paper. 

Computer clocks are responsible for nearly every modern convenience. Smartphones, DVRs, airplanes, the Internet - without a clock, none of these could operate without frequent and serious complications. Nearly every computer program requires several simultaneous operations, each conducted in a perfect step-by step manner. A clock makes sure that these operations start and stop at the same times, thus ensuring that the information synchronises. 

Clock for a fluid-based computer needs to be easy to manipulate, and also able to influence multiple droplets at a time. A large number of droplets could communicate amongst each other without skipping a beat.Katsikis and Prakash built arrays of tiny iron bars on glass slides that look something like a Pac-Man maze. They laid a blank glass slide on top and sandwiched a layer of oil in between. Then they carefully injected into the mix individual water droplets that had been infused with tiny magnetic nanoparticles. 

Next, they turned on the magnetic field. Every time the field flips, the polarity of the bars reverses, drawing the magnetized droplets in a new, predetermined direction, like slot cars on a track. Every rotation of the field counts as one clock cycle, like a second hand making a full circle on a clock face, and every drop marches exactly one step forward with each cycle. 

A camera records the interactions between individual droplets, allowing observation of computation as it occurs in real time. The presence or absence of a droplet represents the 1's and 0's of binary code, and the clock ensures that all the droplets move in perfect synchrony, and thus the system can run virtually forever without any errors. 

Katsikis said "Following these rules, we've demonstrated that we can make all the universal logic gates used in electronics, simply by changing the layout of the bars on the chip,". "The actual design space in our platform is incredibly rich. Give us any Boolean logic circuit in the world, and we can build it with these little magnetic droplets moving around" he added.

The current chips are about half the size of a postage stamp, and the droplets are smaller than poppy seeds, but Katsikis said that the physics of the system suggests it can be made even smaller. Combined with the fact that the magnetic field can control millions of droplets simultaneously, this makes the system exceptionally scalable. 

 Jim Cybulski graduate student and co-author said "We can keep making it smaller and smaller so that it can do more operations per time, so that it can work with smaller droplet sizes and do more number of operations on a chip,". "That lends itself very well to a variety of applications." he added.

Prakash said the most immediate application might involve turning the computer into a high-throughput chemistry and biology laboratory. Instead of running reactions in bulk test tubes, each droplet can carry some chemicals and become its own test tube, and the droplet computer offers unprecedented control over these interactions.

Source: Mumbai Mirror

► Continue Reading…

18 February 2015

GATE Syllabus For Computer Engineering (Computer Science)

On 2/18/2015

ENGINEERING MATHEMATICS

Mathematical Logic: Propositional Logic; First Order Logic.

Probability: Conditional Probability; Mean, Median, Mode and Standard Deviation; Random

Variables; Distributions; uniform, normal, exponential, Poisson, Binomial.

Set Theory & Algebra: Sets; Relations; Functions; Groups; Partial Orders; Lattice; Boolean
Algebra.

Combinatory: Permutations; Combinations; Counting; Summation; generating functions;
recurrence relations; asymptotics.

Graph Theory: Connectivity; spanning trees; Cut vertices & edges; covering; matching;
independent sets; Colouring; Planarity; Isomorphism.

Linear Algebra: Algebra of matrices, determinants, systems of linear equations, Eigen values
and Eigen vectors.

Numerical Methods: LU decomposition for systems of linear equations; numerical solutions of
non-linear algebraic equations by Secant, Bisection and Newton-Raphson Methods; Numerical
integration by trapezoidal and Simpson’s rules.

Calculus: Limit, Continuity & differentiability, Mean value Theorems, Theorems of integral
calculus, evaluation of definite & improper integrals, Partial derivatives, Total derivatives,
maxima & minima.

COMPUTER SCIENCE AND INFORMATION TECHNOLOGY

Digital Logic: Logic functions, Minimization, Design and synthesis of combinational and
sequential circuits; Number representation and computer arithmetic (fixed and floating point).

Computer Organization and Architecture: Machine instructions and addressing modes, ALU
and data-path, CPU control design, Memory interface, I/O interface (Interrupt and DMA mode),
Instruction pipelining, Cache and main memory, Secondary storage.

Programming and Data Structures: Programming in C; Functions, Recursion, Parameter
passing, Scope, Binding; Abstract data types, Arrays, Stacks, Queues, Linked Lists, Trees,
Binary search trees, Binary heaps.

Algorithms: Analysis, Asymptotic notation, Notions of space and time complexity, Worst and
average case analysis; Design: Greedy approach, Dynamic programming, Divide-and-conquer;
Tree and graph traversals, Connected components, Spanning trees, Shortest paths; Hashing,
Sorting, Searching. Asymptotic analysis (best, worst, average cases) of time and space, upper
and lower bounds, Basic concepts of complexity classes – P, NP, NP-hard, NP-complete.

Theory of Computation: Regular languages and finite automata, Context free languages and
Push-down automata, Recursively enumerable sets and Turing machines, Undecidability.

Compiler Design: Lexical analysis, Parsing, Syntax directed translation, Runtime environments,
Intermediate and target code generation, Basics of code optimization.

Operating System: Processes, Threads, Inter-process communication, Concurrency,
Synchronization, Deadlock, CPU scheduling, Memory management and virtual memory, File
systems, I/O systems, Protection and security.

Databases: ER-model, Relational model (relational algebra, tuple calculus), Database design
(integrity constraints, normal forms), Query languages (SQL), File structures (sequential files,
indexing, B and B+ trees), Transactions and concurrency control.
Information Systems and Software Engineering: information gathering, requirement and
feasibility analysis, data flow diagrams, process specifications, input/output design, process life
cycle, planning and managing the project, design, coding, testing, implementation, maintenance.

Computer Networks: ISO/OSI stack, LAN technologies (Ethernet, Token ring), Flow and error
control techniques, Routing algorithms, Congestion control, TCP/UDP and sockets, IP(v4),

Application layer protocols (icmp, dns, smtp, pop, ftp, http); Basic concepts of hubs, switches,
gateways, and routers. Network security – basic concepts of public key and private key
cryptography, digital signature, firewalls.

Web technologies: HTML, XML, basic concepts of client-server computing.

Related posts:ECE GATE syllabus , GATE syllabus for ME , GATE syllabus for CH , GATE syllabus for Civil
► Continue Reading…

4 January 2015

Computer engineering opportunities

On 1/04/2015

COMPUTER ENGINEERING


Careers are possible in various computer-related fields, including computer science, computer engineering and information technology. Job positions range from computer programmer to computer systems analyst and computer hardware engineer, among many others.

A degree in computer science affords numerous career options. Those who have obtained a bachelor's or master's degree may go on to work as systems analysts, database administrators, computer programmers and testers while those with master's or doctoral degrees may go into post secondary education or computer research and development. 

Computer engineers design, develop, research and test software and digital hardware, digital devices and interfaces. This includes computer systems, circuit boards, computer chips and computer equipment, such as modems, keyboards and printers. Undergraduate coursework includes the study of electric and electronic circuits, analog circuits and systems, digital communications and audio engineering. Graduate programs include coursework in logic design, discrete maths probability, data structure, computer architecture and operating systems.

Computer engineers are divided into two categories:
  1. SOFTWARE ENGINEERS: they develop software programs and computer                                                                applications.
  2. HARDWARE ENGINEERS: they develop hardware such as keyboards, printers,                                                        computer chips and modems.
According to a survey, careers in computer software development are projected to grow by 30% from 2014-2025, while jobs in computer hardware engineering are expected to grow by nine percent. In 2014, the median salary for computer software developers was $87,790 annually, while the median salary for computer hardware engineers was $98,810.

Related posts:Mechanical engineeringElectronics and communicationChemical engineering
► Continue Reading…