285 research outputs found
1957-2007: 50 Years of Higher Order Programming Languages
Fifty years ago one of the greatest breakthroughs in computer programming and in the history of computers happened – the appearance of FORTRAN, the first higher-order programming language. From that time until now hundreds of programming languages were invented, different programming paradigms were defined, all with the main goal to make computer programming easier and closer to as many people as possible. Many battles were fought among scientists as well as among developers around concepts of programming, programming languages and paradigms. It can be said that programming paradigms and programming languages were very often a trigger for many changes and improvements in computer science as well as in computer industry. Definitely, computer programming is one of the cornerstones of computer science. Today there are many tools that give a help in the process of programming, but there is still a programming tasks that can be solved only manually. Therefore, programming is still one of the most creative parts of interaction with computers. Programmers should chose programming language in accordance to task they have to solve, but very often, they chose it in accordance to their personal preferences, their beliefs and many other subjective reasons. Nevertheless, the market of programming languages can be merciless to languages as history was merciless to some people, even whole nations. Programming languages and developers get born, live and die leaving more or less tracks and successors, and not always the best survives. The history of programming languages is closely connected to the history of computers and computer science itself. Every single thing from one of them has its reflexions onto the other. This paper gives a short overview of last fifty years of computer programming and computer programming languages, but also gives many ideas that influenced other aspects of computer science. Particularly, programming paradigms are described, their intentions and goals, as well as the most of the significant languages of all paradigms
ProverX: rewriting and extending prover9
O propósito principal deste projecto é tornar o demonstrador automático de teoremas Prover9
programável e, por conseguinte, extensível.
Este propósito foi conseguido acrescentando um interpretador de Python, uma linha de comandos e
uma biblioteca de módulos, objectos e funções escritos em Python para interagir com ficheiros de
Prover9 e Mace4. Foi também criada uma “interface” gráfica de utilizador (GUI) sob a forma de uma
aplicação web para trazer aos utilizadores um meio mais eficiente e rápido de trabalhar com
demonstrações automáticas de teoremas.
A nova biblioteca de “scripting” oferece aos utilizadores novas funcionalidades tais como correr
várias sessões simultâneas de Prover9 parando automaticamente quando uma demonstração (ou um
contraexemplo) é encontrada, elaborar estratégias para aumentar a velocidade com que as
demonstrações são encontradas ou diminuir o tamanho das mesmas. Outro módulo permite interagir
com o sistema de álgebra GAP.
Sobre esta biblioteca, muitas outras funcionalidades podem ser facilmente acrescentadas pois o
objectivo principal é dar aos utilizadores a capacidade de acrescentar novas funcionalidades ao
Prover9.
Resumindo, o objectivo deste projecto é oferecer à comunidade matemática um ambiente integrado
para trabalhar com demonstração automática de teoremas.The primary purpose of this project is to extend Prover9 with a scripting language.
This was achieved by adding a Python interpreter, an interactive command line and a special
scripting library to interact with Prover9 and Mace4 files. A user interface in the form of a web
application was also created to help users achieve a more rapid and efficient way of working with
automated theorem proving.
The new scripting library offers utilities that allows a user to run several Prover9 sessions
concurrently and to create strategies for increasing the effectiveness of the proof search or to search
for shorter proofs. Another module allows to interact with the algebra system GAP.
Based on the library, many more functionalities can be easily added, as the main goal is to give users
the ability to extend the functionality of Prover9 the way they see fit.
In conclusion, the aim of this project is to offer to the mathematical community an integrated
environment for working with automated reasonin
Silverlight Game Engine
Bakalářská práce popisuje tvorbu 2.5D herního enginu určeného pro platformu Microsoft Silverlight 3.0 s využitím programovacího jazyka C# pro kód jadra samotního engineu a jazyka XAML pro tvorbu uživatelského rozhraní. V první kapitole je úvod do světa herních enginu, dále jsou vzpomenuty cíle této práce a motivace. V druhé kapitole následuje představení jednotlivých využitých nástrojů a technologií včetně porovnání platformy Microsoft Silverlight s platformou Adobe Flash. Třetí kapitola popisuje řešení které existovaly v čase psaní této práce. Čtvrtá kapitola popisuje popis herního enginu a návrh jednotlivých částí enginu. Samotný postup tvorby enginu je popsán v páte kapitole. Jednotlivé části zahrnují popis herní smyčky a více možností jak ji realizovat, vykreslování mapy, herní objekty, jejich hierarchie a jejich využití, spracovaní uživatelských vstupů z klávesnice a myši, systém řídící pohyb objektů po mapě, jejich animaci, systém událostí, efekty počasí a pixel shader efekty, zvukový systém a nakonec editor map. Šestá kapitola obsahuje výsledky testů a jejich vyhodnocení. V závěru práce jsou zhodnoceny výsledky práce a jsou představeny návrhy pro další rozšiření. Pŕílohy obsahují detailní popis formátu, v kterém se ukládají mapy, obsah přiloženého CD, ukázkový kód v jazyce XAML a v jazyce HLSL.This bachelor's thesis describes the creation of a 2.5D game engine for Microsoft Silverlight 3.0 platform using C# programming language and XAML language to create user interface. Used tools and existing solutions are introduced in the introductory chapters. In following chapters the design and the process of creating the game engine itself is described. In this section multiple design choices for parts of game engine are presented, and the chosen ones are described in more detail together with justification of these choices. In the last part the outcome of the project is evaluated and ideas for further development are presented.
Diseño e implementación de una aplicación móvil para compartir fotos de manera contributiva
Throughout the following document, the concept for a photo-sharing mobile Application will be explained. Within its pages, the document demonstrates the development of an Application to create “social Events”, where users can create digital collaborative spaces to share their pictures, with other people who take part in the same event. The proposal is to be achieved by using the latest available technological tools for iOS development, as well as server Backend development. The fundamental requirements and specifications will be presented, as will all the considerations needed from the final user’s perspective, and all the technical issues regarding the design and development of the software Application. Parting from the initial presentation of the concept, going through the research phase and inspection of the required technologies, getting to the final design and implementation of the App, each stage is approached throughout the document in a way to give the reader a clear idea of the underlying motivation and philosophy adapted in the Project. In this manner, the reader is able to keep in mind this information, and will therefore be able to understand and justify the more practical and concrete sections of the Project. Finally it –the document- will present an overall evaluation including the initial goals set in contrast with the resulting software product. This is one in order to offer a list of possible future improvements that could in turn result in a better user experience, always in accordance to the initially stated philosophy and general purpose for the Application
- …