1 |
[en] INVESTIGATING THE CASE-BASED REASONING PROCESS DURING EARLY HCI DESIGN / [pt] INVESTIGANDO O PROCESSO DE RACIOCÍNIO BASEADO EM CASOS DURANTE O INÍCIO DO DESIGN DE IHCJOSE ANTONIO GONCALVES MOTTA 05 November 2014 (has links)
[pt] Durante as etapas iniciais de design, o designer forma um entendimento inicial sobre o problema que ele deve resolver e desenvolve suas primeiras ideias, geralmente influenciadas por conhecimentos de design passados. Com o objetivo de auxiliar o design de IHC (interação humano-computador) neste contexto, nós investigamos como podemos usar o raciocínio baseado em casos (CBR) para ajudar designers a acessar e reutilizar conhecimentos de design para resolver novos problemas de IHC. Nós conduzimos entrevistas com designers de IHC profissionais para coletar dados sobre como eles lidam com problemas de design e suas motivações e expectativas sobre o uso de conhecimentos de design auxiliado por uma ferramenta de CBR. Usando estes dados, construímos uma ferramenta, chamada CHIDeK, que contém uma biblioteca contendo casos de design de IHC e fornece acesso aos casos através de navegação facetada, links diretos entre casos e busca. Para investigar como o CHIDeK influencia a atividade de design, conduzimos um estudo que simulava a etapa inicial de design de IHC de um sistema online de reserva de bicicletas. Alguns participantes podiam resolver o problema enquanto tinham acesso ao CHIDeK e outros deviam resolver sem o CHIDeK. Descobrimos que os casos no CHIDeK ajudaram o design motivando o processo de reflexão dos designers, ativando memórias de experiências com sistemas similares aos descritos nos casos e ajudando a gerar novas ideias. Também identificamos algumas limitações na representação dos casos, o que oferece oportunidade para novas pesquisas. Comparando ambos os tipos de atividade de design, percebemos que os designers sem a biblioteca de casos usaram a mesma solução para um dos itens descrito no cenário do estudo, enquanto os designers com os casos variaram entre duas soluções. Concluímos dizendo que uma ferramenta de CBR tem muito potencial para ajudar na atividade de design, porém existem problemas que devem ser endereçados por pesquisas futuras. / [en] During the early stages of design, the designer forms an initial understanding about the problem and some ideas on how to solve it, often influenced by previous design knowledge. In order to support HCI design in this context, we investigated ways to use case-based reasoning (CBR) to help designers access and reuse design knowledge to solve new HCI design problems. We conducted interviews with professional HCI designers to collect data about how they deal with design problems, and their motivations and expectations regarding the use of design knowledge aided by a CBR tool. Using this data, we designed and developed a tool called CHIDeK, which has a library containing HCI design cases and provides access to them through faceted navigation, direct links between cases, and search. To investigate the way CHIDeK influences the design activity, we conducted a study that simulated the early stage of HCI design of an online bike reservation system. Some participants could solve the problem while having access to CHIDeK and others had to solve it without CHIDeK. We discovered that the cases from CHIDeK supported the design by motivating the designers reflective process, triggering their memories of experiences with systems similar to the ones in cases, and helping generate new ideas. We also identified some limitations in the case representation, which offers an opportunity for further research. When comparing both kinds of design activities, we noticed that designers without the case library used the same solution for one of the issues described in the study scenario, while the designers with the cases varied between two solutions. We concluded that a CBR tool has much potential to aid the design activity, but there are still issues that need to be addressed by further research.
|
2 |
[en] A SURVEY OF FUNCTION VALUES IN IMPERATIVE PROGRAMMING LANGUAGES / [pt] UM LEVANTAMENTO SOBRE O SUPORTE A FUNÇÕES COMO VALORES EM LINGUAGENS IMPERATIVASLUIZ ROMARIO SANTANA RIOS 30 March 2020 (has links)
[pt] Se diz que uma linguagem de programação tem funções de primeira classe quando ela fornece a capacidade de manipular funções da mesma maneira que outros valores, isto é, guardar em variáveis, passar como parâmetros, etc.. Programar com funções de primeira classe abre o programadora novas formas de abstração e é o padrão em linguagens de programação funcionais. Porém, se tratando de linguagens imperativas (incluindo linguagens orientadas a objeto), cada linguagem tem semântica, propriedades e terminologia diferentes para funções—em grande parte graças a seu foco em mutabilidade, que as linguagens funcionais não têm. Para esclarecer essas diferenças, nós fizemos um levantamento sobre a especificação de funções como valores em linguagens de programação imperativas de várias disciplinas diferentes. Para cada linguagem, nós ilustramos, nos baseando em exemplos, as propriedades dos valores de funções nela,destacando onde ela difere de outras linguagens—tudo isso usando uma terminologia consistente em todas as linguagens. Nós esperamos oferecer uma referência para desenvolvedores compararem e contrastarem as diferentes versões de funções num só lugar. / [en] A programming language is said to have first-class functions when it provides the capability of manipulating functions in the same way as other values, i.e., storing in variables, passing as parameters, etc.. Programming with first-class functions opens the programmer to new forms of abstractions and it s the default in functional programming languages. However, in the realm of imperative languages (including object-oriented languages), each language has different semantics, properties, and terminology for functions—in great part, thanks to their focus on mutability, which isn t present in functional languages. To help shed light on these differences, we made a survey of the specifi-cation of function values in imperative programming languages from many different disciplines. For each language, we illustrate, based on examples,the properties of function values in it, highlighting where it differs from other languages—all this with a consistent terminology in all languages. We provide a reference that compares and contrasts different renditions offunctions in one single place and conclude that the design of functions in a language depends on the interaction of its features and constraints with its functions.
|
Page generated in 0.0289 seconds