Posts by Collection

courses

Introdução a Haskell

Published:

Exercício 01: Execute as seguintes operações utilizando o menor número de parênteses:

Introdução a Haskell

Published:

Exercício 01: Crie uma função ehTriangulo que determina se três lados x, y, z podem formar um triângulo.

Introdução a Haskell

Published:

Exercício 01: Crie uma função divisivel20 x que retorna verdadeiro se x for divisível por todos os números de 1 a 20.

Introdução a Haskell

Published:

Exercício 01: Faça uma função que gere uma matriz identidade de tamanho n.

Introdução a Haskell

Published:

Exercício 01: Resolva o problema da Zebra utilizando ADTs para representar as soluções. Para encontrar a resposta você deve enumerar todas as combinações até que encontre uma que atenda todas as restrições.

Paradigmas de Programação

Published:

```haskell {- Código-fonte para resolver o quebra-cabeça lógico: http://logicgridpuzzles.com/puzzles/show_logic.php?ID=55

Tipos

Published:

portfolio

Scientific Machine Learning with Symbolic Regression

Published:

In this project, our objective is to develop a Symbolic Regression algorithm capable of identifying symbolic expressions while adhering to predefined functional forms and shape constraints. These constraints are carefully chosen to align with the specific needs and expectations of the collected data. The endeavor necessitates an interdisciplinary approach, drawing from various scientific disciplines to comprehend the diverse desiderata and constraints at play. We will apply advanced regression analysis concepts to achieve this goal.

Functional Program Synthesis

Published:

In this project we aim at creating an algorithm that generates programs in Haskell, a pure functional programming language, exploiting many useful programming patterns and the type leve information extracted from the program specification.

Scientific Computing in Haskell

Published:

In this project, we will build a pure Haskell library using the array library called Massiv that implements the main scientific computing algorithms with a comparable performance to these well known libraries (a SciHask).

Automatic Parallelism for Stencils using Comonads

Published:

Neste projeto de pesquisa será feita a integração de técnicas de paralelismo para stencils com o conceito de comônadas, típico de linguagens funcionais. O objetivo é permitir que um programador de uma linguagem funcional possa (de uma maneira simples, eficiente e paralela) definir, executar e obter o resultado da execução de um stencil.

Statistical Tools for Symbolic Regression

Published:

In the scope of this project, our aim is to implement and adapt such statistical tools, with a specific focus on extending the capabilities of the srtree-opt program. This program is capable of parsing and processing a multitude of symbolic regression models. Through these adaptations and enhancements, we intend to bridge the gap between Symbolic Regression and the extensive statistical toolkit available for traditional regression analysis, ultimately elevating the analytical capabilities in this domain.

Type-Safe Metaheuristics

Published:

The primary goal of this project is to develop a type-safe domain-specific language (DSL) in Haskell. This DSL will facilitate the description of key metaheuristic algorithms, enabling end users to effortlessly experiment with various combinations of available search operators. It goes beyond merely implementing vanilla versions of these algorithms; it empowers users to explore hybrid approaches as well. Furthermore, this tool will incorporate a native concurrency module, allowing users to harness the full potential of multicore machines for enhanced efficiency and performance.

publications

talks

teaching

Programação Estruturada (Structured Programming)

Undergraduate course, Universidade Federal do ABC, Bachelor of Computer Science, 2016

Apresentar noções básicas e intermediárias sobre algoritmos, programação em linguagens compiladas, compilação, programas em execução (processos), ponteiros, alocação estática e dinâmica de memória, vetores e matrizes, funções e passagem de parâmetros, registros, arquivos e recursividade. Aplicar todos os conceitos apresentados no contexto da resolução de problemas clássicos e novos da computação.

Processamento da Informação (Intro to Computer Programming)

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2017

Noções de organização de computadores. Lógica de programação, algoritmos e programação (teoria e prática): sequenciamento de operações, decisões e repetições, modularização e abstração de dados. Processamento de vetores e matrizes.

Comunicação e Redes (Intro to Network Science)

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2017

Apresentar os fundamentos dos processos de transmissão e distribuição da Informação e o seu impacto na sociedade.

Programação Estruturada (Structured Programming)

Undergraduate course, Universidade Federal do ABC, Bachelor of Computer Science, 2017

Apresentar noções básicas e intermediárias sobre algoritmos, programação em linguagens compiladas, compilação, programas em execução (processos), ponteiros, alocação estática e dinâmica de memória, vetores e matrizes, funções e passagem de parâmetros, registros, arquivos e recursividade. Aplicar todos os conceitos apresentados no contexto da resolução de problemas clássicos e novos da computação.

Haskell

Short tutorial, Universidade Federal do ABC, Bachelor of Computer Science, 2017

Introduction to Haskell

Inteligência na Web e Big Data

Graduate course, Universidade Federal do ABC, Graduate in Computer Science, 2017

Entender como remodelar algoritmos típicos de Mineração de Dados para a aplicação em ambientes distribuídos. Aprender conceitos de paradigma funcional, paralelismo usando multithread, distribuição de dados, algoritmos online e Apache Spark.

Aprendizado de Máquina

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2018

Introdução. Tipos de aprendizado. Paradigmas de aprendizado. Avaliação experimental de algoritmos de Aprendizado de Máquina. Alguns algoritmos de Aprendizado de Máquina.

Processamento da Informação

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2018

Noções de organização de computadores. Lógica de programação, algoritmos e programação (teoria e prática): sequenciamento de operações, decisões e repetições, modularização e abstração de dados. Processamento de vetores e matrizes.

Inteligência na Web e Big Data

Graduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2018

Entender como remodelar algoritmos típicos de Mineração de Dados para a aplicação em ambientes distribuídos. Aprender conceitos de paradigma funcional, paralelismo usando multithread, distribuição de dados, algoritmos online e Apache Spark.

Paradigmas de Programação

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2018

Visão comparativa entre os paradigmas de programação. Paradigma funcional. Paradigma concorrente.

Inteligência Artificial

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2018

Inteligência Artificial.

Inteligência Artificial

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2019

Inteligência Artificial.

Processamento da Informação

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2020

Noções de organização de computadores. Lógica de programação, algoritmos e programação (teoria e prática): sequenciamento de operações, decisões e repetições, modularização e abstração de dados. Processamento de vetores e matrizes.

Processamento da Informação

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2020

Noções de organização de computadores. Lógica de programação, algoritmos e programação (teoria e prática): sequenciamento de operações, decisões e repetições, modularização e abstração de dados. Processamento de vetores e matrizes.

Comunicação e Redes (QS.2020)

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2020

Apresentar os fundamentos dos processos de transmissão e distribuição da Informação e o seu impacto na sociedade.

Comunicação e Redes (Q3.2021)

Undergraduate course, Universidade Federal do ABC, Bachelor of Science & Technology, 2021

Apresentar os fundamentos dos processos de transmissão e distribuição da Informação e o seu impacto na sociedade.