Sem categoria
Trabalho de Computação para lancamento de dados
class LancadorDeDados:
def init(self, nro_lancamentos):
self.nro_lancamentos = nro_lancamentos
self.nro_ocorrencias = 6 # dado com 6 faces

def calculaPercentual(self):
"""Calcula o percentual usando a fórmula: (1/nro_ocorrencias)^nro_lancamentos."""
return (1 / self.nro_ocorrencias) ** self.nro_lancamentos * 100

def mostrar_percentual(self):
"""Mostra o resultado do cálculo."""
percentual = self.calculaPercentual()
print(f"Lançamentos: {self.nro_lancamentos} → Percentual: {percentual:.4f}%")

==========================

Programa principal no Colab

==========================

for n in range(1, 6): # Calcula de 1 até 5 lançamentos consecutivos
dado = LancadorDeDados(nro_lancamentos=n)
dado.mostrar_percentual()

🎲 Probabilidade de Lançamentos Consecutivos de um Dado

Este programa calcula a probabilidade percentual de ocorrer uma sequência específica de resultados ao lançar um dado de 6 faces diversas vezes de forma consecutiva.

Ele utiliza a fórmula de probabilidade para eventos independentes:

Percentual = (1 / nro_faces) ^ nro_lancamentos × 100


🧠 Conceito por trás do cálculo

Cada lançamento de um dado justo de 6 faces possui probabilidade igual de 1/6 para cada face.

Como os lançamentos são eventos independentes, a chance de obter o mesmo resultado consecutivamente é dada pela multiplicação das probabilidades.

Para transformar isso em percentual, multiplicamos o resultado por 100.

Exemplos:

1 lançamento:

P = (1 / 6) × 100 ≈ 16,67%

2 lançamentos consecutivos iguais:

P = (1 / 6)² × 100 ≈ 2,78%

3 lançamentos consecutivos iguais:

P = (1 / 6)³ × 100 ≈ 0,46%

🖥️ O que o programa faz

  1. Define uma classe chamada LancadorDeDados.
  2. Recebe como parâmetro o número de lançamentos consecutivos que será analisado.
  3. Aplica a fórmula de probabilidade usando o número de faces do dado (6) e a quantidade de lançamentos informada.
  4. Exibe o resultado em percentual.

📌 Saída esperada

O programa mostra o percentual de chance para cada quantidade de lançamentos consecutivos:

Testando o resultado

Neste programa testaremos se o resultado apresentado, condiz com a prática.

A idéia é lançar o dado muitas vezes e acompanhar as estatísticas de seu lançamento.

class LancadorDeDados:
def init(self):
self.resultados = [] # Lista para armazenar os lançamentos

def registrar_lancamento(self, valor):
    """Registra o valor digitado pelo usuário."""
    if 1 <= valor <= 6:
        self.resultados.append(valor)
    else:
        print("⚠️ Valor inválido! Digite apenas números de 1 a 6.")

def calculaPercentual(self, ocorrencias, total):
    """Calcula o percentual de ocorrência."""
    return (ocorrencias / total) * 100 if total > 0 else 0

def mostrar_estatistica(self):
    """Exibe a estatística atualizada após cada lançamento."""
    total = len(self.resultados)
    print(f"\n📊 Estatística após {total} lançamentos:")
    for face in range(1, 7):
        ocorrencias = self.resultados.count(face)
        percentual = self.calculaPercentual(ocorrencias, total)
        print(f"Face {face}: {ocorrencias} ocorrências ({percentual:.2f}%)")

def mostrar_relatorio_final(self):
    """Exibe o relatório final consolidado."""
    print("\n✅ Relatório Final:")
    self.mostrar_estatistica()

==========================

Programa principal no Colab

==========================

dado = LancadorDeDados()

print("🎲 Digite os valores obtidos no lançamento do dado (1 a 6).")
print("Digite 0 para encerrar.\n")

while True:
valor = int(input("Digite o valor do dado (1 a 6) ou 0 para sair: "))
if valor == 0:
break
dado.registrar_lancamento(valor)
dado.mostrar_estatistica()

Relatório final consolidado

dado.mostrar_relatorio_final()

🎲 Programa de Estatística de Lançamentos de Dado

Este programa permite registrar manualmente os resultados de lançamentos de um dado e calcular a estatística de frequência e percentual de cada face (1 a 6) em tempo real.
O programa segue um loop contínuo onde o usuário digita o valor obtido em cada lançamento, e ao digitar 0 o sistema encerra e apresenta o relatório final consolidado.


🧠 Conceito

A estatística apresentada pelo programa é baseada na frequência relativa de cada face, calculada como:


Percentual da Face = (Número de ocorrências da face / Total de lançamentos) × 100

Isso permite observar a distribuição das faces e como ela evolui à medida que mais lançamentos são registrados.


🖥️ Funcionalidades

  • O programa é estruturado com a classe LancadorDeDados.
  • Permite entradas manuais dos resultados dos lançamentos do dado.
  • A cada número digitado, a estatística de todas as faces (1 a 6) é atualizada e exibida.
  • O programa continua recebendo valores até que o usuário digite 0.
  • Ao encerrar, é exibido um relatório final consolidado.

🔑 Métodos da Classe

__init__(self)

  • Inicializa a lista self.resultados para armazenar os lançamentos.

registrar_lancamento(self, valor)

  • Registra o valor digitado pelo usuário (de 1 a 6).
  • Ignora e alerta se o valor for inválido.

calculaPercentual(self, ocorrencias, total)

  • Calcula o percentual de ocorrências de uma face específica em relação ao total de lançamentos.

mostrar_estatistica(self)

  • Mostra a estatística atualizada (ocorrências e percentuais) após cada lançamento digitado.

mostrar_relatorio_final(self)

  • Exibe o relatório final consolidado com os resultados e percentuais finais de todas as faces.

🎯 Tarefa: Aplicando Estatística com Lançamentos de Dado

Objetivo:

Utilizar o programa de estatística de lançamentos de dado para registrar resultados reais e comparar com os valores teóricos de probabilidade, entendendo como a frequência relativa se aproxima da probabilidade real à medida que aumentamos o número de lançamentos.


📝 Instruções:

  1. Acesse e execute o programa no Google Colab que registra os lançamentos de um dado e calcula as estatísticas.
  2. Simule lançamentos reais:
    • Use um dado físico (se disponível) ou um simulador online.
    • Digite no programa o resultado de cada lançamento.
    • Continue lançando até atingir diferentes tamanhos de amostra:
      • 10 lançamentos
      • 30 lançamentos
      • 50 lançamentos
      • 100 lançamentos
  3. Observe como os percentuais calculados pelo programa se aproximam dos valores teóricos (aproximadamente 16,67% para cada face).
  4. Finalize digitando “0” para encerrar e visualizar o relatório final consolidado.

🔎 Reflexão:

  • Compare os resultados obtidos para amostras pequenas (10 ou 30 lançamentos) com os resultados para amostras grandes (50 ou 100 lançamentos).
  • Responda:
    • Quanto maior o número de lançamentos, os percentuais ficaram mais próximos do valor esperado (16,67%)?
    • Por que isso acontece?

📌 Conclusão Esperada:

Os alunos devem perceber que:

  • Com poucos lançamentos, a distribuição é mais irregular e os percentuais variam bastante.
  • Com mais lançamentos (maior amostra), os percentuais tendem a se estabilizar e se aproximar dos valores teóricos de probabilidade.

Isso demonstra, na prática, a Lei dos Grandes Números, um princípio fundamental da estatística e probabilidade.

Google Colab Exemplo

Desenvolvimento de Software
A base da IA

📊 Estatística, Cadeias de Markov e Inteligência Artificial na Predição de Texto


1️⃣ O que é Estatística em Predição de Texto?

  • Predição de texto = prever a próxima palavra com base em um contexto.
  • A estatística é usada para calcular probabilidades de palavras.
  • Modelos simples usam apenas frequência de palavras.

🔎 Exemplo sem conexão (Unigrama):

  • Texto: “O gato dorme. O gato corre.”
  • Palavra mais comum: “O” → Sempre sugerida.

Limite: Não entende contexto. Pode gerar sugestões sem sentido.


2️⃣ Estatística com Conexão: N-gramas

  • Agora usamos palavras anteriores para prever a próxima.
  • Probabilidade condicional: P(palavra∣histoˊrico)P(\text{palavra}|\text{histórico})P(palavra∣histoˊrico)

🔎 Exemplo:

  • Após “O gato”:
    • “dorme” → 50%
    • “corre” → 50%

Agora o modelo entende contexto básico.


3️⃣ Cadeias de Markov

  • Modelo estatístico que usa apenas o estado atual para prever o próximo.
  • Ideal para textos simples e sequenciais.

🔧 Como funciona:

  1. Contar transições entre palavras.
  2. Criar uma matriz de probabilidades.
  3. Escolher a próxima palavra com base nas probabilidades.

🖥 Exemplo prático:

  • “O gato dorme” → 70%
  • “O gato corre” → 30%

Usado em preditores antigos como T9 de celulares.


4️⃣ Limitações das Cadeias de Markov

  • Só consideram poucas palavras anteriores.
  • Não entendem contexto amplo (sentido da frase).
  • Dificuldade em lidar com dependências longas.

https://youtu.be/sANCpLOZPIo?si=UkJ0P7unx1tepvH2

5️⃣ Evolução: Redes Neurais

  • Surgem os modelos de Deep Learning.
  • Aprendem representações matemáticas de palavras (embeddings).
  • Consideram contextos maiores e relações complexas.

🔎 Exemplos: Word2Vec, RNN, LSTM


6️⃣ O Futuro: Inteligência Artificial e Transformers

  • Modelos atuais como GPT, BERT, LLaMA:
    • Usam bilhões de parâmetros.
    • Compreendem contexto amplo e semântico.
    • Preveem palavras com base em atenção (transformers).
  • Não apenas predição de texto, mas entendimento de linguagem natural.

Aplicações:

  • Chatbots (ex: ChatGPT)
  • Autocompletar inteligente
  • Assistentes virtuais
  • Tradução automática

🚀 Conclusão

  • Estatística → N-gramas → Cadeias de Markov → Redes Neurais → IAs modernas.
  • Cada etapa aumentou o contexto e a inteligência das previsões.
  • Hoje, IA transforma simples predição de texto em conversas naturais e criativas.

💡 Frase de impacto final:

“A estatística deu os primeiros passos, mas as IAs atuais nos fizeram correr maratonas na linguagem!”

carreiras e competencias
🎭 Teatro das Competências: Empatia, Comunicação e Colaboração

1️⃣ Objetivo da Atividade

O Teatro das Competências tem como meta:

  • Desenvolver habilidades socioemocionais (empatia, comunicação assertiva, escuta ativa e colaboração).
  • Simular situações reais do mercado de trabalho em ambiente controlado e participativo.
  • Incentivar criatividade, improviso e trabalho em equipe.

2️⃣ Explicação Inicial para a Turma

Professor pode falar:

“Hoje vamos trabalhar situações comuns do ambiente profissional por meio de encenações rápidas. Vocês vão receber roteiros baseados em desafios reais, como conflitos entre colegas, atendimento a clientes insatisfeitos, brainstorming de ideias e entrevistas simuladas.

O objetivo não é apenas ‘atuar’, mas mostrar como resolver problemas usando empatia, comunicação clara e colaboração. No fim, vamos discutir juntos o que funcionou bem e o que poderia ser melhorado.”


3️⃣ Regras do Jogo

  1. Formação dos grupos: 3 a 4 integrantes por grupo.
  2. Distribuição dos roteiros: Cada grupo recebe um caso diferente.
  3. Tempo de preparação: 10 minutos para ler, discutir papéis e ensaiar.
  4. Apresentação: Cada grupo terá 3 a 5 minutos para encenar.
  5. Feedback: Após cada apresentação, a turma e o professor comentam os pontos positivos e sugerem melhorias.

4️⃣ Papéis e Roteiros Prontos

Cada grupo recebe um roteiro impresso com: situação, contexto, papéis e objetivos.


🎭 Roteiro 1: Conflito entre colegas de trabalho

  • Situação: Dois colaboradores discordam sobre a melhor forma de entregar um relatório urgente. O gerente intervém para mediar.
  • Papéis:
    • Colaborador 1: Quer entregar rápido, mesmo que simples.
    • Colaborador 2: Prefere perfeição, mesmo que atrase.
    • Gerente: Deve ouvir os dois lados e propor uma solução equilibrada.
  • Objetivo: Mostrar negociação, escuta ativa e busca de consenso.

🎭 Roteiro 2: Cliente insatisfeito

  • Situação: Um cliente está irritado com um serviço entregue errado. O atendente precisa resolver.
  • Papéis:
    • Cliente: Está nervoso e exige solução imediata.
    • Atendente: Deve ouvir com empatia e propor alternativas.
    • Supervisor: Apoia o atendente e valida a solução final.
  • Objetivo: Demonstrar comunicação calma e resolução eficaz de conflitos.

🎭 Roteiro 3: Brainstorming de inovação

  • Situação: Equipe precisa criar uma campanha publicitária inovadora em curto prazo.
  • Papéis:
    • Líder: Organiza a reunião e dá voz a todos.
    • Criativo: Traz ideias ousadas e diferentes.
    • Cético: Questiona custos e prazos das ideias.
    • Mediador: Tenta conciliar criatividade e viabilidade.
  • Objetivo: Mostrar colaboração e integração de ideias diferentes.

🎭 Roteiro 4: Entrevista de emprego em grupo

  • Situação: Entrevista dinâmica para vaga de trainee.
  • Papéis:
    • Entrevistador: Observa comportamento e interação entre candidatos.
    • Candidato colaborativo 1: Trabalha bem em equipe e ajuda os colegas.
    • Candidato colaborativo 2: Similar ao 1, mas traz ideias próprias.
    • Candidato competitivo: Quer brilhar sozinho e atrapalha o grupo.
  • Objetivo: Mostrar como postura e trabalho em equipe impactam em seleções reais.

5️⃣ Orientações para os Papéis

Cada participante deve receber uma ficha individual, contendo:

  • Nome do papel (ex.: Gerente, Cliente, Criativo).
  • Breve descrição de como atuar.
  • O que dizer ou fazer (pontos-chave):
    • Usar linguagem educada.
    • Demonstrar empatia (olhar nos olhos, ouvir sem interromper).
    • Sugerir soluções objetivas.

6️⃣ Encerramento e Discussão

Após todas as apresentações:

  • Perguntar:
    1. “Quais competências socioemocionais foram mais evidentes?”
    2. “O que ajudou a resolver os conflitos?”
    3. “Como isso se conecta a situações reais de trabalho?”
  • Professor dá feedback geral e reforça a importância de empatia, comunicação e colaboração para o sucesso profissional.
PDS e Metodologias Ágeis
Exercícios comentados

1️⃣ Exercício: Gerenciamento de Mudanças em Requisitos

Enunciado

Uma clínica médica está implementando um sistema de prontuário eletrônico. Durante o desenvolvimento, um novo requisito surge: permitir que os pacientes consultem seus exames online.

Tarefas:

  1. Elaborar um plano de gerenciamento de mudanças.
  2. Criar um fluxo UML para análise/aprovação da mudança.
  3. Explicar como métodos ágeis poderiam ajudar.

Resolução

Plano de Gerenciamento de Mudanças:

  • Identificação da Mudança: Inclusão do módulo de consulta de exames online.
  • Justificativa: Aumentar a autonomia dos pacientes e reduzir demanda no atendimento.
  • Avaliação de Impacto:
    • Custo: Necessidade de servidor seguro e integração com o laboratório.
    • Prazo: Estimativa de +3 sprints no Scrum.
    • Segurança: Implementação de autenticação multifator.
    • Usabilidade: Interface simplificada para acesso via celular.
  • Prioridade: Alta (impacto direto no valor para o cliente).
  • Controle de Versão: Atualização do documento de requisitos (IEEE 830).

Fluxo UML (atividade simplificada):

[Solicitação de Mudança] → [Análise de Impacto] → [Aprovação do Comitê] → 
[Planejamento no Backlog] → [Implementação e Testes] → [Deploy e Feedback]

Métodos Ágeis:

  • Scrum permite ajustes rápidos via backlog.
  • Cada sprint incorpora incrementos pequenos (entrega contínua).
  • Feedback dos usuários nas revisões ajuda a validar rapidamente.

2️⃣ Exercício: Herança e Encapsulamento

Enunciado

Crie uma classe Pessoa com atributos comuns (nome, idade e CPF), e duas subclasses: Aluno e Professor, que herdam atributos e adicionam informações específicas.


Resolução em Python

class Pessoa:
def __init__(self, nome, idade, cpf):
self._nome = nome
self._idade = idade
self._cpf = cpf

def get_nome(self):
return self._nome

def set_nome(self, nome):
self._nome = nome

def get_idade(self):
return self._idade

def set_idade(self, idade):
self._idade = idade

def get_cpf(self):
return self._cpf

def set_cpf(self, cpf):
self._cpf = cpf


class Aluno(Pessoa):
def __init__(self, nome, idade, cpf, serie):
super().__init__(nome, idade, cpf)
self.serie = serie

def exibir_informacoes(self):
return f"Aluno: {self.get_nome()}, Idade: {self.get_idade()}, Série: {self.serie}"


class Professor(Pessoa):
def __init__(self, nome, idade, cpf, disciplina):
super().__init__(nome, idade, cpf)
self.disciplina = disciplina

def exibir_informacoes(self):
return f"Professor: {self.get_nome()}, Idade: {self.get_idade()}, Disciplina: {self.disciplina}"


# Teste
aluno1 = Aluno("Carlos", 15, "123.456.789-00", "9º Ano")
prof1 = Professor("Ana", 35, "987.654.321-00", "Matemática")

print(aluno1.exibir_informacoes())
print(prof1.exibir_informacoes())

Saída esperada:

yamlCopiarEditarAluno: Carlos, Idade: 15, Série: 9º Ano
Professor: Ana, Idade: 35, Disciplina: Matemática

3️⃣ Exercício: Polimorfismo em um Sistema de Entregas

Enunciado

Implemente classes de transporte (Moto, Caminhao, Drone) que calculam o tempo de entrega de forma distinta, utilizando polimorfismo.


Resolução em Python

from abc import ABC, abstractmethod

class Transporte(ABC):
@abstractmethod
def calcular_tempo(self, distancia):
pass


class Moto(Transporte):
def calcular_tempo(self, distancia):
velocidade = 60 # km/h
return distancia / velocidade


class Caminhao(Transporte):
def calcular_tempo(self, distancia):
velocidade = 40 # km/h
return distancia / velocidade


class Drone(Transporte):
def calcular_tempo(self, distancia):
velocidade = 80 # km/h
return distancia / velocidade


# Teste com polimorfismo
transportes = [Moto(), Caminhao(), Drone()]
distancia = 120 # km

for t in transportes:
print(f"{t.__class__.__name__}: Tempo estimado = {t.calcular_tempo(distancia):.2f} horas")

Saída esperada:

Moto: Tempo estimado = 2.00 horas
Caminhao: Tempo estimado = 3.00 horas
Drone: Tempo estimado = 1.50 horas
PDS e Metodologias Ágeis
Programação – 3 Bimestre

Validação e Verificação de Requisitos

  • Verificação de requisitos: Processo que assegura clareza, completude, consistência, rastreabilidade e testabilidade antes do desenvolvimento.
    • Técnicas: revisões por pares, análise de gap, checklists, matriz de rastreabilidade e critérios de aceitação.
    • Ferramentas: IBM Rational DOORS, JIRA e Enterprise Architect.
  • Validação de requisitos: Garante que o sistema atenda às necessidades dos stakeholders, evitando mal-entendidos e retrabalho.
    • Ferramentas: planilhas de validação, reuniões com clientes, critérios claros de aceitação e feedback contínuo.
    • Exemplo: uso em sistemas de e-commerce, finanças pessoais e reservas de voos.

Pilares da Programação Orientada a Objetos (POO) – Encapsulamento

  • Conceito: Protege atributos e métodos de uma classe, permitindo acesso controlado através de getters e setters.
  • Benefícios:
    • Segurança: impede alterações indevidas nos dados.
    • Manutenibilidade: facilita ajustes e ampliações no código.
    • Modularidade: separa responsabilidades, tornando o sistema mais organizado.
  • Exemplos práticos em Python:
    • Controle de curtidas em e-commerce.
    • Sistema de gestão de carros com atributos encapsulados.
    • Sistema de biblioteca com implementação de métodos de acesso.

Principais Aprendizados

  1. Requisitos bem validados e verificados reduzem falhas e retrabalho no desenvolvimento.
  2. POO com encapsulamento reforça boas práticas de segurança e organização no código.
  3. Ferramentas de apoio (planilhas, checklists, IDEs) otimizam processos técnicos e colaborativos.
  4. Exemplos reais facilitam a compreensão e aplicação dos conceitos de engenharia de software.

Encapsulamento em Projetos Práticos (POO)

  • Reforço do encapsulamento: Controle de atributos e métodos com segurança e acesso controlado, melhorando integridade e confiabilidade do código.
  • Exemplo prático: Sistema de controle de estoque de carros, com classes Carro e Estoque, aplicação de getters e setters, e métodos como adicionar_carro.
  • Benefícios: Segurança, manutenção facilitada, modularidade e prevenção de bugs.
  • Questões éticas: Proteção de dados, segurança cibernética e transparência no uso de informações.

Testes Não Funcionais

  • Desenvolvimento e execução: Identificação de requisitos não funcionais (desempenho, segurança, usabilidade, confiabilidade), definição de critérios e uso de ferramentas apropriadas.
  • Ferramentas e práticas:
    • Pentest: Exploração de vulnerabilidades usando Kali Linux e ferramentas como SQLMap e PortSwigger.
    • Burp Suite: Interceptação e modificação de requisições HTTP para identificar falhas de controle de acesso.
  • Testes de desempenho e segurança: Avaliação de escalabilidade, estabilidade, vulnerabilidades e usabilidade.
  • OWASP Top 10: Referência essencial para práticas de segurança web.

Diagramas UML – Diagrama de Estados

  • Definição: Representa mudanças de estados de um objeto ou sistema em resposta a eventos.
  • Elementos principais:
    • Estados (inicial, intermediários e final).
    • Transições acionadas por eventos.
    • Ações associadas às mudanças de estado.
  • Exemplos práticos:
    • Controle de acesso eletrônico (porta: fechada, abrindo, aberta, fechando, trancada).
    • Processo de matrícula em instituições educacionais.
  • Benefícios: Visualização do comportamento do sistema, identificação de falhas e melhor comunicação entre stakeholders.

Diagramas UML – Atividades

  • Definição: Ferramenta visual que modela o fluxo de atividades, ações e decisões em sistemas e processos.
  • Aplicações:
    • Modelagem de processos de negócios (reservas de passagens aéreas).
    • Desenvolvimento de software (fluxos de tela, módulos específicos).
    • Engenharia de sistemas complexos (controle de tráfego aéreo).
  • Benefícios:
    • Facilita comunicação entre stakeholders.
    • Identifica gargalos e otimiza processos.
    • Documenta sistemas e facilita manutenção.
  • Ferramentas: Lucidchart, Draw.io, Microsoft Visio.

Herança em POO

  • Conceito: Permite que classes herdem atributos e métodos de outras, criando hierarquias reutilizáveis.
  • Exemplo prático:
    • ContaBancaria (superclasse): métodos comuns (depositar, sacar, consultar_saldo).
    • ContaCorrente, ContaPoupanca e ContaInvestimento (subclasses) com funcionalidades específicas.
  • Reutilização de código:
    • Implementação de cálculos de tarifas com métodos estáticos e classes utilitárias.
    • Inclusão de novas funcionalidades (ex: conta universitária gratuita) sem duplicação de código.
  • Método de transferência: Transferência entre contas com verificação de saldo.
  • Aspectos éticos:
    • Privacidade dos dados, segurança de transações e transparência nas práticas bancárias.

Principais Aprendizados

  1. Diagramas de atividades ajudam na visualização, comunicação e melhoria de sistemas.
  2. Herança simplifica manutenção e amplia escalabilidade, evitando duplicação de código.
  3. Práticas éticas e segurança devem ser consideradas na implementação de sistemas financeiros.
  4. Ferramentas de modelagem e POO combinadas fornecem base sólida para projetos de software.

Gerenciamento de Mudanças em Requisitos

  • Definição: Processo contínuo que ocorre durante todo o ciclo de vida do projeto, envolvendo identificação, análise, documentação, priorização e controle de requisitos.
  • Importância:
    • Permite adaptação às mudanças de mercado e necessidades do cliente.
    • Minimiza riscos e falhas decorrentes de requisitos mal gerenciados.
  • Boas práticas:
    • Documentação clara e enxuta.
    • Avaliação de impacto (prazo, custo e qualidade).
    • Controle rigoroso de versões e rastreabilidade.
  • Exemplos práticos: Aplicação em sistemas de saúde (SUS), lojas e softwares corporativos, com foco em segurança e ética (proteção de dados).

Herança em Projetos Práticos (POO)

  • Exemplo aplicado: Sistema de gestão de loja de eletrônicos.
    • Classe base: ProdutoEletronico (atributos e métodos comuns).
    • Subclasses: Smartphone, Laptop, Televisor, cada uma com características próprias.
  • Benefícios da herança:
    • Reutilização de código.
    • Estrutura hierárquica clara e extensível.
    • Facilidade de manutenção e escalabilidade.
  • Prática de implementação:
    • Testes práticos para validar métodos.
    • Flexibilidade para novos tipos de produtos.

Principais Aprendizados

  1. Gerenciamento eficaz de requisitos é essencial para evitar falhas e alinhar o projeto às expectativas do cliente.
  2. Documentação ágil e enxuta facilita comunicação e evita burocracia excessiva.
  3. Herança em POO permite criar sistemas organizados, reutilizáveis e preparados para expansão.
  4. Aspectos éticos e segurança devem ser considerados tanto no gerenciamento de mudanças quanto na implementação de software.

Herança em Projetos Práticos

  • Exemplo aplicado: Sistema de gerenciamento escolar com classes Pessoa, Funcionario e Aluno, mostrando a criação de estruturas hierárquicas e reutilização de código.
  • Conceitos aplicados:
    • Encapsulamento de atributos e métodos.
    • Uso de composição (objetos como atributos de outras classes).
    • Estrutura hierárquica clara e extensível para novos tipos de entidades.

Polimorfismo (POO)

  • Definição: Permite que objetos de diferentes classes respondam de forma distinta a uma mesma interface, aumentando flexibilidade e reutilização.
  • Tipos abordados:
    • Sobreposição (override): Subclasses redefinem métodos herdados da classe pai.
    • Exemplo prático: Sistema de entregas com veículos (carro, caminhão, bicicleta), cada um com cálculo específico de tempo de entrega.
  • Aplicações adicionais:
    • Loja virtual com diferentes tipos de produtos (livros, eletrônicos e alimentos).
    • Sistema de rastreamento de encomendas com classes Encomenda, Pacote, Carta e RemessaGrande, utilizando herança e sobreposição para especializações.

Benefícios Chave

  1. Reutilização de código: Com herança e polimorfismo, métodos comuns são centralizados e especializados conforme necessário.
  2. Flexibilidade e extensibilidade: Fácil adição de novos tipos de classes sem alterar estruturas existentes.
  3. Modelagem próxima ao mundo real: Representação clara de entidades e suas relações hierárquicas.
  4. Manutenção simplificada: Alterações localizadas reduzem riscos de falhas globais no sistema.
carreiras e competencias
Empreendedorismo, Inovação e Tendências – 3 Bimestre
  • Plano de ação: Implementar, avaliar resultados e ajustar estratégias continuamente é essencial para o sucesso de um empreendimento.
  • Inovação: Fundamental para manter a competitividade, podendo ocorrer em produtos, processos e modelos de negócios. Exemplos como Nubank ilustram a importância de inovar e acompanhar tendências de mercado.
  • Startups: Empresas inovadoras, escaláveis e de rápido crescimento, com busca constante por soluções disruptivas. Investidores-anjos e incubadoras oferecem suporte financeiro e estratégico para o desenvolvimento dessas empresas.

Competências Socioemocionais

  • Produtividade e gestão do tempo: Uso da Matriz de Eisenhower para diferenciar tarefas urgentes e importantes, além de ferramentas como GTD, Kanban e Pomodoro para aumentar a eficiência.
  • Pitch pessoal: Apresentar sua história de forma clara e objetiva em 1 minuto, desenvolvendo comunicação e autoconfiança.
  • Teatro das competências: Simulações de situações do mercado de trabalho para exercitar empatia, colaboração e resolução de conflitos.

Principais Aprendizados

  1. Empreender exige planejamento, execução, avaliação contínua e inovação constante.
  2. A gestão do tempo e das prioridades impacta diretamente na produtividade e no alcance de metas.
  3. Competências socioemocionais (empatia, comunicação e colaboração) são cruciais para o mercado de trabalho moderno.
  4. Startups diferem de pequenas empresas por sua escalabilidade e foco em inovação, contando com investidores e incubadoras para crescer.

Competências Socioemocionais (Aulas 3 e 4)

  • Teatro das Competências (Parte 2): Simulações que reforçam habilidades como empatia, gestão de conflitos, proatividade e colaboração, essenciais para o mercado de trabalho.
  • Importância das soft skills: Desenvolver competências socioemocionais aumenta as chances de sucesso profissional e empregabilidade.

Finanças Pessoais e Familiares (Aulas 5, 6 e 7)

  • Planejamento financeiro familiar: Estratégias para administrar finanças em conjunto, com foco no envolvimento de todos os membros da família.
  • Método 50/15/35: Distribuir a renda em 50% para despesas essenciais, 15% para dívidas/prioridades e 35% para lazer e estilo de vida.
  • Perfis financeiros: Identificação de perfis (poupador, gastador, desligado) para criar estratégias personalizadas de controle financeiro.
  • Planilha financeira: Uso de planilhas para monitorar receitas, despesas e metas mensais, facilitando a visualização de gastos e ajustes.

Planejamento e Preparação Profissional (Aula 8)

  • Carta de apresentação: Documento que complementa o currículo, destacando experiências, habilidades e alinhamento com os valores da empresa.
  • Estrutura da carta: Saudação personalizada, introdução envolvente, corpo com conquistas relevantes, diferenciais e valores, encerramento confiante.
  • Boas práticas: Clareza, objetividade, personalização e revisão prévia para eliminar erros e transmitir profissionalismo.

Principais Aprendizados

  1. Competências socioemocionais e financeiras são pilares para o desenvolvimento pessoal e profissional.
  2. Planejamento financeiro em família, com métodos práticos e planilhas, reduz dívidas e melhora a qualidade de vida.
  3. Habilidades de comunicação escrita e apresentação são essenciais para processos seletivos e networking.
  4. O uso de ferramentas digitais como Excel, LinkedIn e Canva fortalece a organização e a apresentação profissional.

Apresentação Profissional (Vídeo e Carta)

  • Carta de apresentação: Ferramenta para destacar habilidades, experiências e alinhamento com a vaga. Deve ser breve, personalizada e objetiva.
  • Vídeo de apresentação: Complementa o currículo, mostrando comunicação verbal e não verbal. Requer roteiro estruturado: apresentação pessoal, formação, experiência, resultados e objetivos.
  • Prática integrada: Elaboração de carta e vídeo reforça a confiança, a clareza e o profissionalismo no processo seletivo.

Busca de Oportunidades de Trabalho

  • Estratégias de busca: Utilização de sites especializados (LinkedIn, Indeed, Catho, InfoJobs), redes de relacionamento, feiras de emprego, programas governamentais (Qualifica SP) e agências de recrutamento.
  • Gestão de candidaturas: Uso de planilhas ou ferramentas como Trello para acompanhar processos seletivos.
  • Prática de busca ativa: Pesquisa colaborativa e compartilhamento de vagas entre colegas para ampliar perspectivas.

Mentalidade de Crescimento

  • Lidando com rejeições: Não levar resultados negativos para o lado pessoal; entender como aprendizado.
  • Autorreflexão e resiliência: Identificar pontos fortes e áreas de melhoria, buscar feedback e manter atitude positiva.
  • Metodologia SMART: Estabelecer metas específicas, mensuráveis e alinhadas aos objetivos de carreira.

Principais Aprendizados

  1. Comunicação eficaz é essencial para destacar-se (carta e vídeo).
  2. Busca ativa e estruturada aumenta as chances de encontrar boas vagas.
  3. Resiliência e mentalidade de crescimento ajudam a transformar desafios em oportunidades.
  4. Ferramentas digitais (LinkedIn, Excel, Trello) são aliadas para organização e networking.

Planejamento Financeiro Pessoal (Método OKR)

  • Diferença entre objetivos e metas: Objetivos são gerais e de longo prazo; metas são específicas e detalhadas.
  • Método OKR: Define objetivos claros (O) com resultados-chave (KR) mensuráveis e monitorados periodicamente.
  • Ferramentas de apoio: Metas SMART, 5W2H e Trello para estruturar planos e monitoramento.
  • Aplicação prática: Cada estudante desenvolveu objetivos financeiros pessoais, com metas de curto e médio prazo, plano de ação e infográfico no Canva.
  • Análise do padrão de vida: Identificação de gastos essenciais, não essenciais e variáveis para ajustar hábitos e alinhar o planejamento financeiro.

Superando Desafios e Obstáculos no Empreendedorismo

  • Gestão por processos: Compreensão de processos de compras, produção e estoques para melhorar a eficiência e reduzir desperdícios.
  • Políticas de gestão: Implementação de políticas de RH, qualidade, segurança e tecnologia da informação para padronizar operações e melhorar resultados.
  • Exemplo prático: Estudo de caso da “Pizzaria Pereira” para ilustrar a aplicação de processos e políticas na gestão de pequenos negócios.
  • Habilidades empreendedoras: Desenvolvimento de proatividade, trabalho em equipe e capacidade de adaptação a desafios de gestão.

Principais Aprendizados

  1. O OKR e ferramentas de apoio permitem organizar metas e melhorar a disciplina financeira.
  2. Compreender o padrão de vida ajuda a alinhar gastos à realidade financeira e aos objetivos pessoais.
  3. Processos e políticas de gestão estruturam negócios e contribuem para o sucesso empreendedor.
  4. A prática de situações reais aproxima a teoria da aplicação prática, fortalecendo a mentalidade empreendedora e a resiliência.

Móbile de Valor (Complexidade, Qualidade, Preço e Tempo)

  • Ferramenta visual para equilibrar variáveis essenciais de um negócio:
    • Complexidade: nível de dificuldade para produzir o produto ou serviço.
    • Qualidade: padrão entregue ao cliente.
    • Preço: valor cobrado.
    • Tempo: prazo de entrega.
  • O equilíbrio dessas variáveis garante competitividade e sustentabilidade do negócio.

Pitch para Projetos e Negócios

  • Pitch Pessoal: breve apresentação de habilidades e objetivos profissionais.
  • Pitch de Negócio:
    • Estrutura concisa (30 segundos a 20 minutos) para atrair investidores ou clientes.
    • Tipos: Pitch de elevador, one-sentence, pitch deck, tweet pitch.
  • Organização do Pitch (9 passos):
    1. Punchline (frase de impacto)
    2. Problema (que será resolvido)
    3. Proposta de valor
    4. Mercado (potencial e tamanho)
    5. Solução
    6. Modelo de negócio
    7. Asking for (investimento desejado)
    8. Roadmap (plano de uso do capital)
    9. Time e contato

Comunicação pelas Mídias Sociais

  • Importância: Divulgação eficiente de produtos, serviços e negócios.
  • Passos principais:
    • Identificar o público-alvo e redes sociais utilizadas.
    • Criar conteúdo alinhado ao perfil do público.
    • Definir estratégias de publicação (frequência e formatos).
    • Analisar métricas (alcance, curtidas, engajamento).
  • Cuidados:
    • Não misturar perfis pessoais e profissionais.
    • Evitar erros gramaticais e polêmicas desnecessárias.

Principais Aprendizados

  1. O móbile de valor ajuda a equilibrar fatores críticos do negócio.
  2. O pitch bem estruturado é essencial para captar investimentos e apresentar ideias.
  3. Comunicação digital eficaz amplia o alcance e potencializa os resultados.
  4. Ferramentas digitais e redes sociais são indispensáveis no empreendedorismo moderno.
Sem categoria
Ferramentas de Treinamento para Redes Neurais: Automatizando Coleta, Processamento e Organização de Dados

O desenvolvimento de modelos de inteligência artificial depende diretamente da qualidade e da diversidade dos dados utilizados para treinamento. Entretanto, a construção dessas bases costuma ser um grande desafio, exigindo ferramentas específicas para coleta, análise e organização de dados multimodais (texto, áudio, vídeo, imagens, documentos e produtos comerciais).

Pensando nessa necessidade, foi criado o projeto Ferramentas de Treinamento para Redes Neurais, um pacote integrado que oferece automação e gestão de dados para pesquisa, treinamento e experimentação em IA.


🎯 Objetivo do Projeto

O projeto visa fornecer um ecossistema unificado para coleta e preparação de dados de treinamento, eliminando processos manuais e descentralizados.

Ele integra diferentes módulos que atuam em conjunto:

  • Captura de voz e chatbot inteligente: interação com linguagem natural, registrando perguntas e respostas no banco.
  • Coleta de vídeos e transcrições do YouTube: extração de legendas ou áudio com filtros e segmentação automática.
  • Análise e processamento de documentos: leitura automatizada de PDFs, textos, planilhas e arquivos DOCX.
  • Monitoramento de e-mails e POP3: captura de mensagens e anexos para análise contextual.
  • Busca de produtos no Mercado Livre: extração de informações técnicas e comerciais.
  • Captura de imagens e faces via câmera ou Kinect: armazenamento em banco para análise visual.
  • Interface web integrada (Streamlit): gerenciamento visual das bases e resultados em tempo real.

🔑 Embasamento e Necessidade

A IA moderna exige grandes volumes de dados rotulados e variados para treinar modelos capazes de generalizar bem em situações reais.
Muitas vezes, os dados disponíveis estão dispersos em fontes distintas, sem padronização ou acessibilidade prática. Isso gera problemas como:

  • Alto tempo de preparação de dados antes de qualquer experimento.
  • Falta de rastreabilidade sobre a origem e o processamento dos dados.
  • Complexidade na integração de múltiplas fontes (vídeo, áudio, texto e imagem).

Além disso, empresas e pesquisadores que não possuem infraestrutura especializada têm dificuldade para replicar pipelines consistentes de treinamento de modelos.

Este projeto surge como uma solução modular e acessível, reunindo automação e banco de dados estruturado em MySQL, simplificando a criação de datasets ricos para experimentos de IA.


✅ Vantagens do Projeto

  1. 🔗 Integração Completa:
    Todos os módulos (voz, vídeo, documentos, e-mails e produtos) compartilham uma única base de dados estruturada, facilitando cruzamento e análise.
  2. 🖥️ Interface Web Gerencial:
    Desenvolvida em Streamlit, permite operar todas as funções do sistema sem linha de comando, tornando-o amigável até para usuários não técnicos.
  3. 📊 Dados Organizados e Escaláveis:
    O uso de MySQL garante integridade, rastreabilidade e flexibilidade para consultas avançadas.
  4. ⚡ Automação Extrema:
    Desde a captura de dados multimodais até a classificação e preparação final para treinamento, tudo é automatizado.
  5. 🎧 Interação em Voz com IA:
    O assistente de voz integrado permite perguntas naturais e devolve respostas faladas, criando e testando modelos e protótipos tanto falados como escritos em chatbot.
  6. 🌐 Código Aberto e Extensível:
    O repositório é público (GitHub), permitindo colaboração e personalização para contextos específicos.

🧠 Vantagens do Modelo de Uso

  • Preparação rápida para treinamentos em NLP, visão computacional e multimodalidade.
  • Compatibilidade com frameworks como TensorFlow, PyTorch e spaCy, que podem consumir diretamente as saídas organizadas do banco.
  • Facilidade para prototipar modelos e validar hipóteses rapidamente, sem esforço manual na coleta e limpeza dos dados.
  • Ambiente controlado e replicável, essencial para projetos acadêmicos e P&D corporativo.

🔗 Repositório Oficial

O código-fonte completo está disponível no GitHub:
➡️ https://github.com/marcelomaurin/TreinamentosIA


🖼️ Diagrama do Projeto

Diagrama do Projeto

Próximos passos

Criação e teste em diversos modelos de IA online e offline.

Melhora dos processos de classificação de documentos, palavras chaves de busca, referencias , síntese.

Uso de IAs para gerar melhora na qualidade dos dados.

🚀 Conclusão

O projeto Ferramentas de Treinamento para Redes Neurais democratiza a preparação de datasets e a experimentação em IA, permitindo que desenvolvedores, pesquisadores e equipes técnicas acelerem seu ciclo de desenvolvimento de modelos.

Com uma estrutura modular, aberta e escalável, ele resolve um dos principais gargalos da área: a obtenção e organização de dados para treinar inteligências artificiais robustas e eficazes.

nodejs
Criando um projeto no nodejs

Para criar um novo projeto use o npm

npm create vite@latest
  1. Indique o nome do projeto. [seu projeto]
  2. Selecione React
  3. TypeScript + SWC

Para rodar

cd pasta do projeto

npm install

npm run dev

Permitindo que o nodejs rode em outras máquinas em DEV

Na pasta da aplicação vite.config.ts

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  server: {
    host: '0.0.0.0',    // ✅ permite acesso externo
    port: 5173,          // ✅ porta padrão (pode mudar)
  }
})

Agora é necessário desbloquear a porta no linux.

sudo ufw allow 5173 # ou
sudo ufw disable # (temporário)

Por fim, é só roda

npm run dev

Agora é só chamar na outra máquina pelo browser.

Ciência de Dados IA NLP
IA – Definições

Corpus – Conjunto de documentos e textos não estruturados

Anotação (Annotations) – Localizar e classificar elementos específicos no texto

TOKEN – Parte de uma sentença (símbolos)

POS (Part of Speech Tagging) – Adiciona tags a cada token, qualifica o token.

Lemmatizing (LEMMA) – traz a palavra na sua flexao exemplo é (ser)

Stemming – Corte o radical da palavra (amigo – amig)

dependency parsing (relação de dependencia)

ngram – palavras consecutivas (Bigrams e Trigrams)

Modelo – Modelos criados (banco de dados treinados para uso de dados)

en_USEnglish