1 |
Building Web Based Programming Environments for Functional ProgrammingYoo, Daniel 26 April 2012 (has links)
Functional programming offers an accessible and powerful algebraic model for computing. JavaScript is the language of the ubiquitous Web, but it does not support functional programs well due to its single-threaded, asynchronous nature and lack of rich control flow operators. The purpose of this work is to extend JavaScript to a language environment that satisfies the needs of functional programs on the Web. This extended language environment uses sophisticated control operators to provide an event-driven functional programming model that cooperates with the browser's DOM, along with synchronous access to JavaScript's asynchronous APIs. The results of this work are used toward two projects: (1) a programming environment called WeScheme that runs in the web browser and supports a functional programming curriculum, and (2) a tool-chain called Moby that compiles event-driven functional programs to smartphones, with access to phone-specific features.
|
2 |
Implications on the Learning of Programming Through the Implementation of Subsets in Program Development EnvironmentsDePasquale, Peter Joseph III 05 August 2003 (has links)
The undergraduate Computer Science program at Virginia Tech is the largest in the Commonwealth of Virginia, of which a key component is ``CS 1044: Introduction to Programming'', and is typical of a first course in computer programming throughout the USA. While the student access to learning resources has improved considerably with the development of web-based assets, students are still expected to use the same sophisticated program development tools as are used in industry. The perceived complexity of the learning environment currently in use drives many women and minority students from the Computer Science program. A great deal of attention has been paid to the need to administer the student assignments and the grading system for this course, so as to minimize the teaching/grading load, but little attention has been paid to the methodologies of learning the material through practice. The work reported herein is intended to improve the pedagogy of this course by creating and integrating teaching/learning tools that better manage the student's engagement in the use of program development activities. Following the implementation of a three-element software system involving an interpreter for the C-language, a program development environment, and a data-monitoring/collectiondevice, the system was deployed in support of the freshman course in parallel to the commercial system commonly used. The experiment concentrated on examining the impact of the simplified development environment and the effort required for students to complete assigned programming projects. / Ph. D.
|
3 |
Environments for programming in primary educationGujberová, Monika, Tomcsányi, Peter January 2013 (has links)
The aim of our article is to collect and present information about contemporary programming environments that are suitable for primary education. We studied the ways they implement (or do not implement) some programming concepts, the ways programs are represented and built in order to support young and novice programmers, as well as their suitability to allow different forms of sharing the results of pupils’ work. We present not only a short description of each considered environment and the taxonomy in the form of a table, but also our understanding and opinions on how and why the environments implement the same concepts and ideas in different ways and which concepts and ideas seem to be important to the creators of such environments.
|
4 |
Integrace procedurálního kódu do proudových paralelních systémů / Procedural code integration in streaming environmentsBrabec, Michal January 2018 (has links)
Title: Procedural code integration in streaming environments Author: Mgr. Michal Brabec Department: Department of Software Engineering Supervisor: David Bednárek, Ph.D. Abstract: Streaming environments and similar parallel platforms are widely used in image, signal, or general data processing as means of achieving high perfor- mance. Unfortunately, they are often associated with domain specific program- ming languages, and thus hardly accessible for non-experts. In this work, we present a framework for transformation of a procedural code to a streaming ap- plication. We selected a restricted version of the C# language as the interface for our system, because it is widely taught and many programmers are familiar with it. This approach will allow creating streaming applications or their parts using a widely known imperative language instead of the intricate languages specific to streaming. The transformation process is based on the Hybrid Flow Graph - a novel inter- mediate code which employs the streaming paradigm and can be further convert- ed into streaming applications. The intermediate code shares the features and limitations of the streaming environments, while representing the applications without platform specific technical details, which allows us to use well known graph algorithms to work with the...
|
5 |
Escalonamento Work-Stealing de programas Divisão-e-Conquista com MPI-2 / Scheduling Divide-and-Conquer programs by Work-Stealing with MPI-2Pezzi, Guilherme Peretti January 2006 (has links)
Com o objetivo de ser portável e eficiente em arquiteturas HPC atuais, a execução de um programa paralelo deve ser adaptável. Este trabalho mostra como isso pode ser atingido utilizando MPI, através de criação dinâmica de processos, integrada com programação Divisão-e-Conquista e uma estratégia Work-Stealing para balancear os processos MPI, em ambientes heterogêneos e/ou dinâmicos, em tempo de execução. Este trabalho explica como implementar uma aplicação segundo o modelo de Divisão-e-Conquista com MPI, bem como a implementação de uma estratégia Work-Stealing. São apresentados resultados experimentais baseados em uma aplicação sintética, o problema das N-Rainhas (N-Queens). Valida-se tanto a adaptabilidade e a eficiência do código. Os resultados mostram que é possível utilizar um padrão amplamente difundido como o MPI, mesmo em plataformas de HPC não tão homogêneas como um cluster. / In order to be portable and efficient on modern HPC architectures, the execution of a parallel program must be adaptable. This work shows how to achieve this in MPI, by the dynamic creation of processes, coupled with Divide-and-Conquer programming and a Work-Stealing strategy to balance the MPI processes, in a heterogeneous and/or dynamic environment, at runtime. The application of Divide and Conquer with MPI is explained, as well as the implementation of a Work-Stealing strategy. Experimental results are provided, based on a synthetic application, the N-Queens computation. Both the adaptability of the code and its efficiency are validated. The results show that it is possible to use widely spread standards such as MPI, even in parallel HPC platforms that are not as homogeneous as a Cluster.
|
6 |
Escalonamento Work-Stealing de programas Divisão-e-Conquista com MPI-2 / Scheduling Divide-and-Conquer programs by Work-Stealing with MPI-2Pezzi, Guilherme Peretti January 2006 (has links)
Com o objetivo de ser portável e eficiente em arquiteturas HPC atuais, a execução de um programa paralelo deve ser adaptável. Este trabalho mostra como isso pode ser atingido utilizando MPI, através de criação dinâmica de processos, integrada com programação Divisão-e-Conquista e uma estratégia Work-Stealing para balancear os processos MPI, em ambientes heterogêneos e/ou dinâmicos, em tempo de execução. Este trabalho explica como implementar uma aplicação segundo o modelo de Divisão-e-Conquista com MPI, bem como a implementação de uma estratégia Work-Stealing. São apresentados resultados experimentais baseados em uma aplicação sintética, o problema das N-Rainhas (N-Queens). Valida-se tanto a adaptabilidade e a eficiência do código. Os resultados mostram que é possível utilizar um padrão amplamente difundido como o MPI, mesmo em plataformas de HPC não tão homogêneas como um cluster. / In order to be portable and efficient on modern HPC architectures, the execution of a parallel program must be adaptable. This work shows how to achieve this in MPI, by the dynamic creation of processes, coupled with Divide-and-Conquer programming and a Work-Stealing strategy to balance the MPI processes, in a heterogeneous and/or dynamic environment, at runtime. The application of Divide and Conquer with MPI is explained, as well as the implementation of a Work-Stealing strategy. Experimental results are provided, based on a synthetic application, the N-Queens computation. Both the adaptability of the code and its efficiency are validated. The results show that it is possible to use widely spread standards such as MPI, even in parallel HPC platforms that are not as homogeneous as a Cluster.
|
7 |
Escalonamento Work-Stealing de programas Divisão-e-Conquista com MPI-2 / Scheduling Divide-and-Conquer programs by Work-Stealing with MPI-2Pezzi, Guilherme Peretti January 2006 (has links)
Com o objetivo de ser portável e eficiente em arquiteturas HPC atuais, a execução de um programa paralelo deve ser adaptável. Este trabalho mostra como isso pode ser atingido utilizando MPI, através de criação dinâmica de processos, integrada com programação Divisão-e-Conquista e uma estratégia Work-Stealing para balancear os processos MPI, em ambientes heterogêneos e/ou dinâmicos, em tempo de execução. Este trabalho explica como implementar uma aplicação segundo o modelo de Divisão-e-Conquista com MPI, bem como a implementação de uma estratégia Work-Stealing. São apresentados resultados experimentais baseados em uma aplicação sintética, o problema das N-Rainhas (N-Queens). Valida-se tanto a adaptabilidade e a eficiência do código. Os resultados mostram que é possível utilizar um padrão amplamente difundido como o MPI, mesmo em plataformas de HPC não tão homogêneas como um cluster. / In order to be portable and efficient on modern HPC architectures, the execution of a parallel program must be adaptable. This work shows how to achieve this in MPI, by the dynamic creation of processes, coupled with Divide-and-Conquer programming and a Work-Stealing strategy to balance the MPI processes, in a heterogeneous and/or dynamic environment, at runtime. The application of Divide and Conquer with MPI is explained, as well as the implementation of a Work-Stealing strategy. Experimental results are provided, based on a synthetic application, the N-Queens computation. Both the adaptability of the code and its efficiency are validated. The results show that it is possible to use widely spread standards such as MPI, even in parallel HPC platforms that are not as homogeneous as a Cluster.
|
8 |
Evaluation of development platforms : building financial online applicationsSvensson, Daniel January 2011 (has links)
CRM Treasury Systems AB is one of the Nordic Countries’ leading companies within treasury management. Their main product CRM Finance is a software program for financial administrators with roots back to the early 90s. Computer usage and software has changed considerably since then and the company is currently considering choosing a new technology to base future products upon. In this thesis Oracle ADF, Microsoft Lightswitch beta 1 and Silverlight with WCF RIA Services, are compared in order to select a suitable technology to base future applications on. The frameworks are used to implement a simple application with a small number of screens displaying database data in order to get to know the frameworks and capture the time required to get started. After the basic applications have been implemented in all the three frameworks and evaluated it is decided to continue by implementing a number of more advanced authorization and internationalization scenarios. It is decided to continue with only two of the selected frameworks due to lack of time once the simple application has been implemented successfully. Lightswitch beta 1 is chosen for discontinuation due to an uncertain future for the application as it is the first public available beta of the product. Based on the experience from the implementations performed, the time required for them as well as how the platforms fit the company’s requirements the .NET platform with Silverlight + WCF RIA Services is recommended as the base for future applications.
|
9 |
The use of ALICE, a visual environment for teaching and learning object-oriented programmingDwarika, Jeraline 23 April 2014 (has links)
University students learning object-oriented programming (OOP) encounter many complexities. This study undertook empirical research aimed at analysing learners’ interactions with the Alice visual programming environment, which seeks to engage and motivate learners to grasp concepts of OOP, whilst creating animated movies and video games.
A mixed-methods approach was employed, using questionnaire surveys and interviews to investigate learners’ experiences with Alice and their understanding of OOP. Findings indicated that learners lacked problem-solving abilities; were unable to grasp programming concepts on an abstract level and spent insufficient time practicing programming exercises. Alice proved to be an effective tool in helping to address these challenges and in improving learners’ grasp of OOP. Learners found Alice to have good usability.
Furthermore, test and exam results revealed a statistically significant difference between performances of learners who had been taught Alice in comparison to similar learners who were not exposed to the Alice intervention. / Computing / Information Systems / M. Sc. (Information systems)
|
10 |
The use of ALICE, a visual environment for teaching and learning object-oriented programmingDwarika, Jeraline 23 April 2014 (has links)
University students learning object-oriented programming (OOP) encounter many complexities. This study undertook empirical research aimed at analysing learners’ interactions with the Alice visual programming environment, which seeks to engage and motivate learners to grasp concepts of OOP, whilst creating animated movies and video games.
A mixed-methods approach was employed, using questionnaire surveys and interviews to investigate learners’ experiences with Alice and their understanding of OOP. Findings indicated that learners lacked problem-solving abilities; were unable to grasp programming concepts on an abstract level and spent insufficient time practicing programming exercises. Alice proved to be an effective tool in helping to address these challenges and in improving learners’ grasp of OOP. Learners found Alice to have good usability.
Furthermore, test and exam results revealed a statistically significant difference between performances of learners who had been taught Alice in comparison to similar learners who were not exposed to the Alice intervention. / Computing / Information Systems / M. Sc. (Information systems)
|
Page generated in 0.1008 seconds