991 resultados para Software programming
Resumo:
Teaching and learning computer programming is as challenging as difficult. Assessing the work of students and providing individualised feedback to all is time-consuming and error prone for teachers and frequently involves a time delay. The existent tools and specifications prove to be insufficient in complex evaluation domains where there is a greater need to practice. At the same time Massive Open Online Courses (MOOC) are appearing revealing a new way of learning, more dynamic and more accessible. However this new paradigm raises serious questions regarding the monitoring of student progress and its timely feedback. This paper provides a conceptual design model for a computer programming learning environment. This environment uses the portal interface design model gathering information from a network of services such as repositories and program evaluators. The design model includes also the integration with learning management systems, a central piece in the MOOC realm, endowing the model with characteristics such as scalability, collaboration and interoperability. This model is not limited to the domain of computer programming and can be adapted to any complex area that requires systematic evaluation with immediate feedback.
Resumo:
A Smart TV é um equipamento novo e em evolução que incorpora um computador e acesso à Internet em ecrãs de grande qualidade. Permite a implementação de serviços interactivos, acesso à Internet e televisão. À medida que a tecnologia melhora, muitos equipamentos estão a tornar-se tão capazes quanto os computadores normais quando se trata de navegação na web e até mesmo vídeo na Internet (Video-on-Demand e streaming de vídeo). O projecto de estágio “NONIUS.TV na Smart TV LG Pro:Centric” foi desenvolvido na empresa Nonius Software que está inserida no ramo das telecomunicações. Uma das suas áreas de actividade está relacionada com o desenvolvimento de plataformas de entretenimento para o mercado hoteleiro, combinando diversos serviços e funcionalidades a pensar no hóspede. Este projecto teve como finalidade implementar alguns dos serviços e funcionalidades já existentes em plataformas que usam uma Set-Top Box da Nonius Software, numa Smart TV, aproveitando também para inovar e criar novos serviços. Nesse conjunto está incluída a implementação de uma Caixa de Mensagens, Serviço de Quartos, Serviço de Desporto e Lazer, Serviços Informativos, um cliente RTSP, um despertador, um sistema de mudança de idioma e outras pequenas funcionalidades desenvolvidas ao longo de toda a aplicação. Esta dissertação apresenta um estudo sobre as tecnologias Smart TV existentes no mercado, assim como as vantagens e desvantagens da sua utilização para este projecto. Após uma análise de requisitos de forma a estruturar e desenhar os serviços e funcionalidades a serem criados para a aplicação, implementou-se um conjunto de serviços, usando a linguagem de programação ActionScript 2.0, que permitiram à empresa disponibilizar um novo produto baseado na televisão Pro:Centric da LG.
Resumo:
Empreendimentos industriais requerem o acompanhamento completo e preciso de dados de máquinas em tempo real, integrando as atividades do chão de fábrica com a engenharia, suporte e negócios. É reconhecido que sistemas de monitorização são fundamentais para melhorar a qualidade do produto, reduzir os tempos e para a adaptação rápida às mudanças de produção. Os sensores de processos possuem custos altos, não são compactos e são de difícil implementação. Portanto, seria estratégico desenvolver sistemas de monitorização que usufruem ao máximo dos recursos já existentes nas máquinas e ferramentas e que não representem custos adicionais elevados e de difícil implementação. O uso de PLC nas indústrias é crescente. Estes mostram-se como ferramentas potenciais para atender a estas exigências. Os PLC possuem os recursos necessários para a aquisição de informações e controlo das máquinas, facilitando a interação com um sistema SCADA. O objetivo do presente trabalho é pesquisar soluções sobre sistemas de monitorização que possam substituir um sistema instalado antiquado e encontrar uma solução para o controlo de um processo de vazamento. Para tal, foram consideradas duas soluções: uma passaria por desenvolver um sistema de monitorização que controlasse o processo de vazamento, e outra que permitisse ser o PLC a fazer o controlo, adquirindo um HMI apenas para monitorização. Esta última solução revelou-se como a melhor, visto que um PLC tem mais durabilidade em relação a um PC, em termos de atualizações de hardware e software. Assim, foram criadas funções no PLC para fazer o controlo de vazamento e foi adquirido uma consola Beijer, e respetivo software de programação SCADA, para a criação do sistema de monitorização. Os resultados mostram que o PLC é capaz de executar o controlo, não sendo necessário investir em PC que são mais caros, bastando para isso adquirir sistemas SCADA simples e capazes.
Resumo:
Recent embedded processor architectures containing multiple heterogeneous cores and non-coherent caches renewed attention to the use of Software Transactional Memory (STM) as a building block for developing parallel applications. STM promises to ease concurrent and parallel software development, but relies on the possibility of abort conflicting transactions to maintain data consistency, which in turns affects the execution time of tasks carrying transactions. Because of this fact the timing behaviour of the task set may not be predictable, thus it is crucial to limit the execution time overheads resulting from aborts. In this paper we formalise a FIFO-based algorithm to order the sequence of commits of concurrent transactions. Then, we propose and evaluate two non-preemptive and one SRP-based fully-preemptive scheduling strategies, in order to avoid transaction starvation.
Resumo:
The recent technological advancements and market trends are causing an interesting phenomenon towards the convergence of High-Performance Computing (HPC) and Embedded Computing (EC) domains. On one side, new kinds of HPC applications are being required by markets needing huge amounts of information to be processed within a bounded amount of time. On the other side, EC systems are increasingly concerned with providing higher performance in real-time, challenging the performance capabilities of current architectures. The advent of next-generation many-core embedded platforms has the chance of intercepting this converging need for predictable high-performance, allowing HPC and EC applications to be executed on efficient and powerful heterogeneous architectures integrating general-purpose processors with many-core computing fabrics. To this end, it is of paramount importance to develop new techniques for exploiting the massively parallel computation capabilities of such platforms in a predictable way. P-SOCRATES will tackle this important challenge by merging leading research groups from the HPC and EC communities. The time-criticality and parallelisation challenges common to both areas will be addressed by proposing an integrated framework for executing workload-intensive applications with real-time requirements on top of next-generation commercial-off-the-shelf (COTS) platforms based on many-core accelerated architectures. The project will investigate new HPC techniques that fulfil real-time requirements. The main sources of indeterminism will be identified, proposing efficient mapping and scheduling algorithms, along with the associated timing and schedulability analysis, to guarantee the real-time and performance requirements of the applications.
Resumo:
Trabalho de projecto apresentado como requisito parcial para a obtenção do grau de mestre em Ciência e Sistemas de Informação Geográfica
Resumo:
O objetivo deste trabalho é o desenvolvimento de frameworks de testes automáticos de software. Este tipo de testes normalmente está associado ao modelo evolucionário e às metodologias ágeis de desenvolvimento de software, enquanto que os testes manuais estão relacionados com o modelo em cascata e as metodologias tradicionais. Como tal foi efetuado um estudo comparativo sobre os tipos de metodologias e de testes existentes, para decidir quais os que melhor se adequavam ao projeto e dar resposta à questão "Será que realmente compensa realizar testes (automáticos)?". Finalizado o estudo foram desenvolvidas duas frameworks, a primeira para a implementação de testes funcionais e unitários sem dependências a ser utilizada pelos estagiários curriculares da LabOrders, e a segunda para a implementação de testes unitários com dependências externas de base de dados e serviços, a ser utilizada pelos funcionários da empresa. Nas últimas duas décadas as metodologias ágeis de desenvolvimento de software não pararam de evoluir, no entanto as ferramentas de automação não conseguiram acompanhar este progresso. Muitas áreas não são abrangidas pelos testes e por isso alguns têm de ser feitos manualmente. Posto isto foram criadas várias funcionalidades inovadoras para aumentar a cobertura dos testes e tornar as frameworks o mais intuitivas possível, nomeadamente: 1. Download automático de ficheiros através do Internet Explorer 9 (e versões mais recentes). 2. Análise do conteúdo de ficheiros .pdf (através dos testes). 3. Obtenção de elementos web e respetivos atributos através de código jQuery utilizando a API WebDriver com PHP bindings. 4. Exibição de mensagens de erro personalizadas quando não é possível encontrar um determinado elemento. As frameworks implementadas estão também preparadas para a criação de outros testes (de carga, integração, regressão) que possam vir a ser necessários no futuro. Foram testadas em contexto de trabalho pelos colaboradores e clientes da empresa onde foi realizado o projeto de mestrado e os resultados permitiram concluir que a adoção de uma metodologia de desenvolvimento de software com testes automáticos pode aumentar a produtividade, reduzir as falhas e potenciar o cumprimento de orçamentos e prazos dos projetos das organizações.
Resumo:
Atualmente existe uma grande variedade de programas de cálculo automático de estruturas de betão armado disponíveis no mercado, pois estes, cada vez mais, são inerentes ao desenvolvimento de cada projeto de estruturas. O PAC-Pórticos foi um dos primeiros a chegar ao mercado nacional surgindo no início da década de noventa. Foi totalmente desenvolvido em Portugal, tendo tido bastante sucesso nas suas vendas a nível nacional. O PAC-Pórticos não está preparado para operar diretamente nos mais recentes sistemas operativos nem foi programado para dimensionar os diversos elementos de betão armado seguindo os termos das normas mais recentes (Eurocódigos). O tema do presente trabalho vai de encontro aos atuais problemas do programa, assim sendo, definiu-se como primeiro objetivo a adaptação do PAC-Pórticos à regulamentação europeia para o betão armado. Numa 1ª fase, para a adaptação do PAC-Pórticos aos novos códigos, foi necessário estudar o programa em si, perceber o seu funcionamento e posteriormente realizar uma comparação entre a legislação para qual o software está programado, o Regulamento de Estruturas de Betão Armado e Pré-Esforçado (ainda em vigor) e a Norma Europeia correspondente a EN 1992-1-1 (Eurocódigo 2). Seguidamente, procedeu-se ao estudo e adaptação de todas as sub-rotinas de cálculo do PAC-Pórticos para o dimensionamento de vigas e pilares, tendo finalmente sido testado o novo código e comprovados os resultados obtidos com o mesmo. Na realização do presente trabalho, não foi ignorada a importância crescente da metodologia BIM que, nos dias de hoje, tende a ser implementada nos programas de cálculo de engenharia civil. Neste âmbito, o segundo objetivo é o de conseguir visualizar uma solução obtida do PAC-Pórticos numa qualquer ferramenta tridimensional BIM. Para tal, foram ponderadas várias hipóteses, mas optou-se por criar dois plug-in para o programa AutoCAD da Autodesk. O primeiro destes plug-in contempla o desenho das vigas e o segundo para os pilares, ambos em 3D e elaborados de forma automática.
Resumo:
Este working paper centra-se no desenvolvimento das técnicas de edição de documentos ou publicações, que têm conhecido um incremento espectacular na última década. Os avanços e descobertas mais significativas entre 1450 e 1986, eclipsam-se praticamente, quando comparados com as grandes modificações dos últimos sete anos (isto é a História da auto-edição e si). Desde o aparecimento do primeiro programa de auto-edição e da primeira impressora laser, dotada de um intérprete postscript, até hoje, a evolução e aperfeiçoamento tanto do software como do hardware tem sido tanta, continuando a fazer-se a um tal ritmo, que se tornou irreversível.
Resumo:
Atualmente, as empresas distinguem-se das demais pelos produtos e serviços fornecidos com qualidade e dentro dos prazos estabelecidos. Uma empresa de desenvolvimento de software não foge a essa regra e para isso os processos envolvidos nas diversas fases de levantamento, desenvolvimento, implementação e suporte devem estar documentados, ser do conhecimento geral da Organização e colocados em prática diariamente nas diversas atividades dos colaboradores. Para isso deve contribuir uma melhoria contínua desses mesmos processos. O CMMI-DEV, Capability Maturity Model Integration for Development, possibilita a introdução de boas práticas nas diversas áreas do processo de desenvolvimento de software, mas também a avaliação dessas áreas e respetiva identificação de aspetos a necessitarem de ser melhorados ou até disseminados por toda a organização. Este trabalho envolveu efetuar uma análise teórica do CMMI-DEV e sua posterior utilização prática num ambiente de trabalho empresarial para avaliação dos processos dessa empresa. Para a concretização deste segundo aspeto, foi elaborado um questionário para avaliar os processos de uma organização, segundo o modelo CMMI-DEV 1.3, avaliada a facilidade de utilização do questionário de avaliação dos processos por parte dos inquiridos. Foi realizada ainda uma análise aos resultados obtidos nos referidos questionários.
Resumo:
The purpose of this work is to present an algorithm to solve nonlinear constrained optimization problems, using the filter method with the inexact restoration (IR) approach. In the IR approach two independent phases are performed in each iteration—the feasibility and the optimality phases. The first one directs the iterative process into the feasible region, i.e. finds one point with less constraints violation. The optimality phase starts from this point and its goal is to optimize the objective function into the satisfied constraints space. To evaluate the solution approximations in each iteration a scheme based on the filter method is used in both phases of the algorithm. This method replaces the merit functions that are based on penalty schemes, avoiding the related difficulties such as the penalty parameter estimation and the non-differentiability of some of them. The filter method is implemented in the context of the line search globalization technique. A set of more than two hundred AMPL test problems is solved. The algorithm developed is compared with LOQO and NPSOL software packages.
Resumo:
A new iterative algorithm based on the inexact-restoration (IR) approach combined with the filter strategy to solve nonlinear constrained optimization problems is presented. The high level algorithm is suggested by Gonzaga et al. (SIAM J. Optim. 14:646–669, 2003) but not yet implement—the internal algorithms are not proposed. The filter, a new concept introduced by Fletcher and Leyffer (Math. Program. Ser. A 91:239–269, 2002), replaces the merit function avoiding the penalty parameter estimation and the difficulties related to the nondifferentiability. In the IR approach two independent phases are performed in each iteration, the feasibility and the optimality phases. The line search filter is combined with the first one phase to generate a “more feasible” point, and then it is used in the optimality phase to reach an “optimal” point. Numerical experiences with a collection of AMPL problems and a performance comparison with IPOPT are provided.
Resumo:
Dissertação para obtenção do Grau de Mestre em Engenharia Mecânica
Resumo:
Este estudo procura a valorização do ensino dirigido a alunos com Incapacidade Intelectual. Tem como objetivos conceber um recurso didático, integrando as ferramentas do Scratch, para alunos com Incapacidade Intelectual; averiguar a exequibilidade do uso desse recurso em ambiente natural de ensino e promover o envolvimento de alunos com Incapacidade Intelectual na realização de tarefas propostas na disciplina de Ciências da Natureza. Pretendemos dar resposta às seguintes questões de investigação: (1) A utilização do Scratch é adequada e exequível no trabalho quotidiano de alunos com Incapacidade Intelectual? (2) Em que medida o Scratch pode contribuir para um melhor envolvimento dos alunos com Incapacidade Intelectual na realização das tarefas propostas? Para este efeito, planificamos duas aulas. Na primeira, abordou-se o conteúdo a tratar – Poluição – e na segunda aula utilizou-se o Scratch, desafiando os alunos a desenvolverem diversas tarefas de forma mais ativa. O presente estudo segue uma abordagem metodológica de natureza qualitativa, centrando-se num estudo de caso, onde se aborda a importância do uso das Tecnologias de Informação e Comunicação, mais concretamente o software educativo Scratch, como sendo uma ferramenta potenciadora do envolvimento dos alunos. Este estudo foi aplicado a três alunos com Incapacidade Intelectual que tinham sido atribuídos à docente investigadora no presente ano letivo. Os dados foram recolhidos através da análise dos Programas Educativos Individuais dos alunos participantes; da entrevista realizada à docente de Educação Especial; de gravações áudio, de fotografias, de trabalhos realizados pelos alunos participantes e de notas de campo da investigadora. Foi centralidade do estudo a conceção de uma proposta didática e o desenvolvimento dos respetivos recursos, utilizando o software educativo Scratch. Quer a proposta didática quer os recursos a ela associados constituem em si mesmo parte dos resultados do trabalho desenvolvido. Os dados obtidos neste estudo permitem sustentar a ideia de que é possível trabalhar com alunos com Necessidades Educativas Especiais, nomeadamente Incapacidade Intelectual, recorrendo ao software educativo Scratch e que o uso desta ferramenta proporcionou um maior envolvimento e autonomia dos alunos nas tarefas propostas.
Resumo:
O estudo que apresentamos tem como objetivos de investigação contribuir para o desenvolvimento global das crianças com Necessidades Educativas Especiais, nomeadamente, portadoras de Dislexia, designadamente em aulas onde são lecionados conteúdos de Ciências da Natureza e de Matemática, e conceber um recurso didático apoiado nas TIC que seja adequado à utilização em sala de aula por alunos com dislexia. Neste sentido, o estudo foi orientado pelas seguintes questões de investigação: A utilização do Scratch é adequada e exequível no trabalho quotidiano de alunos portadores de Dislexia? e Em que medida o Scratch pode contribuir para um melhor envolvimento dos alunos portadores de Dislexia na realização das tarefas propostas? O presente trabalho segue uma metodologia de carácter qualitativo, centrando-se no estudo de caso. Tentou-se dar uma resposta à reduzida utilização do software Scratch no ensino das Ciências da Natureza e Matemática como instrumentos viáveis para uma aprendizagem de sucesso em alunos portadores de Dislexia. Este estudo foi aplicado a três alunos do 4º ano, com este diagnóstico, de um agrupamento de escolas do concelho de Viseu. Para dar resposta às questões de investigação supracitadas foram implementadas e projetadas duas atividades no software Scratch para serem desenvolvidas em duas situações formativas contextualizadas. O subdomínio que se pretendeu trabalhar foi “A importância da água para os seres vivos” articulando com o conteúdo dos volumes. Os dados foram recolhidos através da análise dos Programas Educativos Individuais de cada um dos alunos participantes, das entrevistas às docentes de Educação Especial, de gravações áudio, fotografias, trabalhos dos alunos e os registos da professora investigadora. Os resultados obtidos permitiram caracterizar o modo como os alunos, portadores de dislexia, se envolveram com o Scratch na aquisição de conhecimento. Permitiram ainda demonstrar aos professores que é possível construir atividades nesta ferramenta envolvendo conteúdos curriculares interdisciplinares.