There are hundreds of open source projects ranging from simple email software to publicly dedicated WWW servers and full operating systems. This article describes an online platform for educators with free open source educational systems including wikis, blogs, bulletin boards, Content/Course Management Systems, and MOOs, all open systems which are easily installed and managed. By setting up a content-based server, educators can save and archive their files online easily, and integrate their online resources without needing web design skill. With full control of these different educational tools, educators can form a collaborative learning community based on their teaching goals. Thus teachers and students can build an online community as partners. They can learn from and with others, share and try out web learning tools, distribute leadership and inspiration, and support and interact with others from all over the world.
Read the rest of this entry »
Although Python is a high-level language, it is not English or some other natural human language. The Python translator does not understand “add the numbers two and three”. Python is a formal language with its own specific rules and formats, which these tutorials will introduce gradually, at a pace intended for a beginner. These tutorials are also appropriate for beginners because they gradually introduce fundamental logical programming skills. Learning these skills will allow you to much more easily program in other languages besides Python. Some of the skills you will learn are
Read the rest of this entry »
ChucK re-factors the idea of a computer music language into three orthogonal basis components: unit generator connections that are data-flow only, globally consistent ”first-class” time control, and sample-synchronous concurrency. The syntax, semantic, and usage have been discussed in previous works. The focus and contributions of this paper are (1) to examine the philosophies and decisions in the language design (2) to describe ChucK’s implementation and runtime model, and (3) to outline potential applications enabled by this framework. We present an experiment in designing a computer music language ”from scratch” and show how things work. We hope these ideas may provides an interesting reference for future computer music systems.
Read the rest of this entry »
It began life under the name ARPANet in 1969. It was born in the U.S.A., created in the midst of the Cold War by the government as a strategic mechanism that would provide for the emission and reception of electronic communication signals in the event of a world catastrophe. Commissioned by the Department of Defense, four computers called nodes were connected using modems, telephone wires and satellites, one each at UCLA, UCSB, Stanford and University of Utah. ARPANet stands for Advanced Research Projects Agency Network. Its purpose was to share information and results of research among the various scientists involved in Department of Defense projects. Each node was specifically designed io be independent of the others in case of that aforementioned world catastrophe.
Read the rest of this entry »
The history of computers starts out about 2000 years ago, at the birth of the abacus, a wooden rack holding two horizontal wires with beads strung on them. When these beads are moved around, according to programming rules memorized by the user, all regular arithmetic problems can be done. Another important invention around the same time was the Astrolabe, used for navigation. Blaise Pascal is usually credited for building the first digital computer in 1642. It added numbers entered with dials and was made to help his father, a tax collector. In 1671, Gottfried Wilhelm von Leibniz invented a computer that was built in 1694. It could add, and, after changing some things around, multiply. Leibniz invented a special stepped gear mechanism for introducing the addend digits, and this is still being used.
Read the rest of this entry »
Niklaus Wirth of the Swiss Federal Institute of Technology {ETH] waspresented the 1984 ACM A. M. Ihring Award at the Association’s Annual Conference in San Francisco in October in recognition of his outstanding work in developing a sequence of innovative computer languages: Euler’ ALGOL-W, Modula, and Pascal. Pascal, in particular, has become significant pedagogically and has established a foundation for future research in the areas of computer language, systems, and architecture. The hallmarks of a Wirth language are its simplicity, economy of design, and high-quality engineering, which result in a language whose notation appears to be a natural extension of algorithmic thinking rather than an extraneous formalism.
Read the rest of this entry »
17 Sep
Posted by jj as Development
There is an ongoing information war raging in the software world. Despite free software developers’ best efforts, new proprietary software continues to proliferate. Improved techniques must be developed to reverse engineer efficiently closed data formats so that free, interoperable solutions can be deployed under Linux.
Software reverse engineering occurs on various levels. It may be necessary to study a piece of poorly written, poorly commented code developed in a high-level language such as C++ and understand what the original program was supposed to accomplish. It may also be necessary to disassemble a program that has been compiled into machine language and express it as a higher-level language. In doing this, the underlying algorithms can eventually be expressed as higher-level concepts in a human language. After obtaining an algorithmic description via reverse engineering, the algorithm can be reimplemented for any language on any computing platform.
Read the rest of this entry »
Information and communication technologies continue to pervade our lives in various aspects which include health, education, entertainment and ecommerce. People need to be able to trust computer systems as the dependence on them increases. The Trustworthy Computing vision (CRA, 2003) refers to computer systems that are intuitive, controllable, reliable and predictable and that ensure availability and security. Secure cod- ing is not trivial and poor code security management may leave the developed web application vulnerable to attack or turn the application into a launch pad for serious attacks.
Read the rest of this entry »