<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aim Hemã de Assis Silva</title>
    <description>The latest articles on DEV Community by Aim Hemã de Assis Silva (@hemaaim).</description>
    <link>https://dev.to/hemaaim</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1056833%2Fc6d1813d-dfc9-4f98-a71f-5145c74750cd.jpg</url>
      <title>DEV Community: Aim Hemã de Assis Silva</title>
      <link>https://dev.to/hemaaim</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hemaaim"/>
    <language>en</language>
    <item>
      <title>Modulação Estruturada de Aprendizagem</title>
      <dc:creator>Aim Hemã de Assis Silva</dc:creator>
      <pubDate>Thu, 30 Jan 2025 23:22:25 +0000</pubDate>
      <link>https://dev.to/hemaaim/modulacao-estruturada-de-aprendizagem-17e5</link>
      <guid>https://dev.to/hemaaim/modulacao-estruturada-de-aprendizagem-17e5</guid>
      <description>&lt;p&gt;A educação está em constante evolução, e um dos desafios contemporâneos é estruturar o ensino de forma que faça sentido para os alunos, preparando-os para um mundo cada vez mais dinâmico e tecnologicamente integrado. &lt;/p&gt;

&lt;p&gt;Uma maneira eficaz de organizar esse processo é através da Modulação Estruturada de Aprendizagem (um sistema baseado no clean arch), que segmenta a educação em quatro camadas interdependentes. &lt;/p&gt;

&lt;h3&gt;
  
  
  Núcleo de Competências e Habilidades
&lt;/h3&gt;

&lt;p&gt;Essa é a base de tudo. Antes de pensar em estratégias, metodologias ou infraestrutura, é essencial definir o que o aluno precisa aprender. Com base na BNCC (Base Nacional Comum Curricular) e nas diretrizes do CIEB (Centro de Inovação para a Educação Brasileira), essa camada foca em três pilares:&lt;/p&gt;

&lt;p&gt;Habilidades cognitivas: desenvolvimento do pensamento crítico e reflexivo.&lt;br&gt;
Resolução de problemas: incentivar estratégias criativas para lidar com desafios reais.&lt;br&gt;
Conhecimentos tecnológicos: entendimento e aplicação de ferramentas digitais no aprendizado.&lt;/p&gt;

&lt;p&gt;Aqui, Piaget contribui com sua teoria do Construtivismo, que sugere que o aluno deve construir seu próprio conhecimento de forma ativa.&lt;/p&gt;

&lt;h3&gt;
  
  
  Camada De Estratégias Ativas
&lt;/h3&gt;

&lt;p&gt;Com as habilidades definidas, é hora de escolher como ensiná-las. Aqui entram as Metodologias Ativas, que colocam o aluno no centro do aprendizado. Alguns exemplos são:&lt;/p&gt;

&lt;p&gt;Gamificação: transformação do ensino em um sistema baseado em desafios, recompensas e competição saudável.&lt;br&gt;
Aprendizagem Baseada em Problemas (PBL): os alunos aprendem resolvendo problemas práticos e contextualizados.&lt;br&gt;
Aprendizagem por Projetos: os estudantes desenvolvem soluções criativas para desafios reais&lt;br&gt;
.&lt;br&gt;
Piaget defendia que a aprendizagem acontece por meio da descoberta&lt;/p&gt;

&lt;h3&gt;
  
  
  Camada de Interação
&lt;/h3&gt;

&lt;p&gt;Aqui, consideramos a experiência do aluno no contato com diferentes ferramentas e ambientes. Isso inclui:&lt;/p&gt;

&lt;p&gt;Plataformas digitais como Google Classroom e CoSpaces Edu.&lt;br&gt;
Ambientes de aprendizagem colaborativos, como laboratórios makers.&lt;br&gt;
A interação com colegas, que enriquece o aprendizado.&lt;/p&gt;

&lt;p&gt;Essa camada está diretamente ligada ao Sociointeracionismo de Vygotsky, que defende que aprendemos melhor quando interagimos com os outros. A tecnologia potencializa esse conceito ao permitir novas formas de colaboração.&lt;/p&gt;

&lt;h3&gt;
  
  
  Camada de Infraestrutura e Suporte
&lt;/h3&gt;

&lt;p&gt;Nada disso acontece sem os recursos adequados. Essa camada garante que existam:&lt;/p&gt;

&lt;p&gt;Kits de Arduino e laboratórios makers para experimentação prática.&lt;br&gt;
Tutores especializados para guiar os alunos.&lt;br&gt;
Ambientes virtuais de aprendizagem, como plataformas de ensino online.&lt;/p&gt;

&lt;p&gt;Aqui, entra um questionamento essencial: será que basta fornecer tecnologia?. O grande erro de muitas escolas é achar que disponibilizar tablets, impressoras 3D ou kits robóticos é suficiente para transformar o ensino. Na verdade, a infraestrutura deve estar integrada a uma proposta pedagógica bem definida. &lt;/p&gt;

&lt;h2&gt;
  
  
  Ciclo de Avaliação e Aprendizado
&lt;/h2&gt;

&lt;p&gt;1 - Avaliação Formativa: Ao longo do processo, use ferramentas que forneçam ﻿feedback rápido e contínuo. &lt;/p&gt;

&lt;p&gt;2 - Avaliação Somativa: No final de cada módulo ou projeto, faça uma análise mais ampla do desempenho.&lt;/p&gt;

&lt;p&gt;3 - Ajustes: Use os resultados da avaliação para ajustar tanto o conteúdo quanto as metodologias. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;A Modulação Estruturada de Aprendizagem é um modelo que busca equilibrar conteúdo, metodologias, experiência e infraestrutura para criar um ensino significativo. Ao unir as ideias de Piaget e Vygotsky, entendemos que aprender é um processo ativo e social, e que a tecnologia e as metodologias ativas devem ser usadas de forma intencional e planejada.&lt;br&gt;
Antes de adotar qualquer ferramenta ou estratégia, sempre questione: Isso realmente melhora o aprendizado do aluno? Como isso se encaixa no processo de desenvolvimento dele? Só assim conseguiremos criar um ensino realmente eficaz e transformador.&lt;br&gt;
Além disso, assim como em qualquer outra abordagem pedagógica, é fundamental compreender o contexto e as necessidades dos alunos antes de aplicar uma metodologia. Por exemplo, considere uma turma de 5º ano. Ainda que a BNCC determine determinados conteúdos para essa fase, pode ocorrer que alguns alunos não estejam no nível esperado. Nesse caso, como aplicar uma metodologia de forma imediata sem que os alunos enfrentem dificuldades excessivas?&lt;br&gt;
O Núcleo de Competências e Habilidades busca justamente entender a capacidade de raciocínio e o conhecimento prévio dos alunos para definir um ponto de partida adequado.&lt;br&gt;
Você pode estar se perguntando:&lt;br&gt;
"Mas para uma turma grande isso seria impossível!"&lt;br&gt;
Na prática, não é bem assim. Se aplicarmos esse framework, perceberemos que ele inclui a avaliação formativa, ou seja, uma avaliação contínua durante o desenvolvimento do aluno, e não apenas na entrega final. Isso permite que o professor compreenda melhor as particularidades de cada estudante e adapte sua abordagem conforme necessário.&lt;br&gt;
Por fim, lembre-se: a tecnologia e os recursos pedagógicos não devem ser usados apenas por estarem disponíveis, mas sim para aprimorar a experiência de ensino. Como a Camada de Infraestrutura e Suporte sugere, devemos sempre refletir sobre como e por que utilizamos essas ferramentas para garantir um aprendizado mais eficiente e significativo.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Clean Architecture - O inicio da Jornada</title>
      <dc:creator>Aim Hemã de Assis Silva</dc:creator>
      <pubDate>Sat, 01 Apr 2023 15:51:27 +0000</pubDate>
      <link>https://dev.to/hemaaim/clean-architecture-basic-1kk1</link>
      <guid>https://dev.to/hemaaim/clean-architecture-basic-1kk1</guid>
      <description>&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;No desenvolvimento de software, Clean Architecture é um padrão de arquitetura de software que enfatiza a separação de interesses e a independência das camadas. A Clean Arch tem sido cada vez mais adotada, pois ajuda a manter o código limpo e organizado, facilitando a manutenção e a evolução do software ao longo do tempo.&lt;/p&gt;

&lt;p&gt;Aqui falaremos sobre como aplicar a Arquitetura Limpa no desenvolvimento de software e um pouco das ambiguidade que enfrentei&lt;/p&gt;

&lt;h3&gt;
  
  
  O que é Clean Architecture?
&lt;/h3&gt;

&lt;p&gt;A Clean Architecture é uma abordagem que busca separar as preocupações do negócio das preocupações tecnológicas. Ela propõe que o código seja dividido em camadas bem definidas, cada uma com uma responsabilidade clara e específica. &lt;/p&gt;

&lt;p&gt; &lt;em&gt;Para quem já está familiarizado com o assunto, é perceptível a união entre os conceitos de clean arch e **S.O.L.I.D&lt;/em&gt;&lt;em&gt;.&lt;/em&gt; &lt;/p&gt;




&lt;h4&gt;
  
  
  Os Conceitos
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Uncle Bob&lt;/strong&gt;( o criador de clean arch e SOLID) descreve em um artigo os tópicos que define se seu software será bem escrito se houver:&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Independent of Frameworks&lt;/strong&gt;. The architecture does not depend on the existence of some library of feature laden software. This allows you to use such frameworks as tools, rather than having to cram your system into their limited constraints. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Testable&lt;/strong&gt;. The business rules can be tested without the UI, Database, Web Server, or any other external element.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Independent of UI&lt;/strong&gt;. The UI can change easily, without changing the rest of the system. A Web UI could be replaced with a console UI, for example, without changing the business rules.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Independent of Database&lt;/strong&gt;. You can swap out Oracle or SQL Server, for Mongo, BigTable, CouchDB, or something else. Your business rules are not bound to the database.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Independent of any external agency&lt;/strong&gt;. In fact your business rules simply don’t know anything at all about the outside world.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h4&gt;
  
  
  As Camadas
&lt;/h4&gt;

&lt;p&gt;Tendo em vista dos conceitos primordiais que definem se de fato meu código segue essa arquitetura, vamos entender como consiste as quatro camadas principais da Clen Arch:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Entidades: esta camada contém as entidades de negócios do sistema, que são independentes da implementação tecnológica. Essas entidades representam conceitos do mundo real, como clientes, pedidos, produtos, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Casos de uso: esta camada contém a lógica de negócios do sistema. Cada caso de uso é uma ação específica que o sistema deve realizar para atingir um objetivo de negócio.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adaptadores: esta camada contém as implementações concretas das interfaces definidas nas camadas de Entidades e Casos de Uso. Essa camada inclui adaptadores de banco de dados, adaptadores de API, adaptadores de UI, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frameworks e drivers: esta camada contém o código que é específico da tecnologia utilizada, como bibliotecas de banco de dados, bibliotecas de UI, etc.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h4&gt;
  
  
  O Inicio da Jornada
&lt;/h4&gt;

&lt;p&gt;Eu comecei minha jornada no mundo dev com front-end, onde sempre gostei da interface,  aquilo que era visual, o famoso &lt;em&gt;client-side&lt;/em&gt;. Como criar uma tela de login, LP era algo que dava para ser visto só jogando um "&lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;" no browser, segui por esse caminho, sem ao menos considerar a opção de estudo do back-end.&lt;/p&gt;

&lt;p&gt;Com o passar do tempo, quis aprimorar mais os conhecimentos de desenvolvedor, e para onde eu ia, eu chegava em alguns conceitos, vídeos, cursos e artigos de back. Onde vi a necessidade de começar os estudos. &lt;/p&gt;

&lt;p&gt;Quando iniciei no back-end, quis fazer diferente do front, procurei aprender os conceitos, ler mais artigos e livros, entender o funcionamento de um sistema, antes mesmo de codar. O que para mim foi sensacional, porque desde o início dos estudos, pude ver a diferença entre um código com padrões de arquitetura, um código limpo, e o mais importante, saber quando usar. &lt;/p&gt;

&lt;p&gt;Às vezes quando aprendemos um framework ou biblioteca, já queremos sair colocando em todo projeto, não é errado, mas é bom entendermos qual a finalidade daquele sistema, para  que assim saibamos qual a melhor forma para solucionar o problema.&lt;/p&gt;




&lt;h4&gt;
  
  
  As Dificuldades Pelo Caminho...
&lt;/h4&gt;

&lt;p&gt;Depois de ter os conceitos, entender o funcionamento, comecei a codar, foi onde tive uma certa dificuldade no início. Porque eu vinha de uma programação funcional, e o desenvolvimento com alguns tipos de padrões arquiteturais, requer um conhecimento prévio em &lt;em&gt;Object-oriented programming (OOP)&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Quando estive apto a começar de fato a codar, não foi mil maravilhas também, mesmo tendo os conceitos, tive uma dificuldade imensa para construir até mesmo um CRUD. Foi onde eu percebi que de fato, nós programadores aprendemos lendo, vendo vídeo, um artigo, até copiando um código rsrs, mas o que alavanca exponencialmente o nosso aprendizado são os erros, e isso é fato, de 100% dentro do que sei sobre back-end, 60% foram adquiridos por tentativa e erros, e código quebrando.&lt;/p&gt;

&lt;p&gt;Hoje em dia a construção de um sistema com padrão clean arch é muito mais fácil de compreender, e sei qual o melhor cenário para se aplicar um padrão como esse. &lt;/p&gt;

&lt;p&gt;E na minha opinião, a melhor coisa desse padrão é a possibilidade de criação de um sistema completo, sem nem ao menos ter um framework ou DB, isso é o que me encanta no clean arch.&lt;/p&gt;




&lt;h3&gt;
  
  
  Conclusão
&lt;/h3&gt;

&lt;p&gt;A Arquitetura Limpa é uma abordagem que ajuda a manter o código limpo e organizado, facilitando a manutenção e a evolução do software ao longo do tempo. &lt;/p&gt;

&lt;p&gt;E na minha experiência com clean arch houve uma inversão da situação dos problemas e dificuldades, geralmente em um código sujo ou mal orquestrado os problemas começam a aparecer no final, quando já se tem uma complexidade, e dependendo da situação a fatoração desse sistema, pode levar o dobro de tempo ou ser quase impossível.&lt;/p&gt;

&lt;p&gt;Agora seguindo alguns padrões como Clean arch no início para quem está começando as dificuldades batem na porta ali mesmo, mas isso é bom, esses erros nos dão bagagem e a compreensão do problema, assim quando vencermos as dificuldades iniciais, tudo flui melhor depois. Mas claro, não estou dizendo que nunca mais haverá erro no código, a questão é, a visualização do problema será mais fácil e qualquer mudança, não quebrará seu código. &lt;/p&gt;

&lt;p&gt;Se você está buscando uma abordagem de desenvolvimento mais organizada e escalável, vale a pena considerar a adoção da Clean Architecture em seus projetos.&lt;/p&gt;

</description>
      <category>cleancode</category>
      <category>beginners</category>
      <category>node</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
