An important aspect of teaching a course in compiler writing is to illustrate
the key theoretical concepts normally taught in such a course. A frequently used
strategy for achieving this goal is to have a student design a simple programming
language and implement a compiler for this language. Many texts in compiler
writing do not,...
The ubiquitous nature of the Internet is dramatically revolutionizing the manner in which
organizations and individuals share information. Developed out of necessity during the cold
war, the Internet was created as a means to help governmental institutions and collegiate
institutions send documents and research materials electronically...
OpenGL, which has been bound in C, is a seasoned graphics library for scientists and
engineers. As we know, Java is a rapidly growing language becoming the de facto
standard of Computer Science learning and application development platform as
many undergraduate computer science programs are adopting Java in place of C/C++.
Released by...
Launched on October 23, 2001, the iPod has become the icon of the decade.
You don’t need much imagination to see why. Imagine no longer needing
to take CDs or DVDs with you when you travel — your favorite music and
videos fit right in your pocket and you can leave your precious content library
at home. With the iPhone and...
When I decided to do a sabbatical with Symantec Research Labs Europe in the
beautiful French Riviera, I was asked to work on a project about Voice over IP
(VoIP) security. The goal of the VAMPIRE Project1 was to understand the threats
and vulnerabilities of VoIP systems, and to inform the direction of further research
efforts....
Welcome to the latest volume of AI Game Programming Wisdom! AI Game Programming Wisdom 4 includes a collection of more than 50 new articles featuring cutting-edge techniques, algorithms, and architectures written by industry professionals for use in commercial game development. Organized into 7 sections, this comprehensive volume explores...
Hundreds of millions of people across the world use the Internet every day. Its functions vary, from shopping and banking to chatting and dating. From a psychological perspective, the Internet has become a major vehicle for interpersonal communication that can significantly affect people's decisions, behaviors, attitudes and emotions....
The LEGO® MINDSTORMS® EV3 set offers so many new and exciting features that it can be hard to know where to begin. Without the help of an expert, it could take months of experimentation to learn how to use the advanced mechanisms and numerous programming features.
The topics of control engineering and signal processing continue to flourish and develop. In common with general scientific investigation, new ideas, concepts and interpretations emerge quite spontaneously and these are then discussed, used, discarded or subsumed into the prevailing subject paradigm. Sometimes these innovative concepts...
You’ve mastered the basics, conquered the soldering iron, and programmed a robot or two; now you’ve got a set of skills and tools to take your Arduino exploits further. But what do you do once you’ve exhausted your to-build list?
Arduino Playground will show you how to keep your hardware hands busy...
Eigenstructure control involves modification of both the eigenvalues and eigenvectors of a system using feedback. Based on this key concept, algorithms are derived for the design of control systems using controller structures such as state feedback, output feedback, observer-based dynamic feedback, implicit and explicit...