Fim do Primeiro Ano
Da semana 1 até semana 42
Aqui temos o fim do primeiro ano de Ciência da Computação, um ano de muito aprendizado e crescimento pessoal.
Abaixo estão alguns dos conteúdos vistos ao longo desse primeiro ano do curso de Ciência da Computação.
Álgebra Linear
Nesse ano, vimos diversos conteúdos diferentes referentes à álgebra linear, alguns dos conteúdos vistos foram:
- Matrizes
- Limites
- Continuidades
- Auto-valores e Auto-vetores
POO
Esse ano também tivemos grande ênfase em programação orientada a objetos (POO), fizemos inúmeras atividades envolvendo esse paradigma de programação e tivemos avaliações práticas que combinavam todos os temas abordados em sala, alguns dos temas foram:
- Herança
- Encapsulamento
- Polimorfismo
- Abstração
Grupo de IA
Nesse ano tivemos um resumo geral sobre Inteligência Artificial e como essa tecnologia é utilizada no mercado para resolver problemas reais.
Tivemos diversas palestras de diferentes empresários e profissionais que usam de tecnologias de IA.
Desde seu uso para criação de vídeos de Marketing profissionais, até seu uso em um ambiente empresarial para atendimento automatizado de clientes.
Além dessa perspectiva do seu uso no mundo real, também aprendemos como as ferramentas de IA operam e como podemos utilizar de ferramentas de IA, ou até desenvolver as nossas próprias a fim de resolver problemas ou realizar análises em datasets (Conjuntos de Dados).
O professor Ricardo Petri, que ministra os encontros do grupo, nos introduziu a diversos conceitos, tanto nas aulas do curso, quanto no Grupo de IA em si.
Alguns dos temas englobados nos encontros foram:
- IA Supervisionada
- IA Não Supervisionada
- Datasets no Kaggle (Comunidade de Análise de Dados e IA)
- Árvores de Decisão
- Redes Neurais e seu funcionamento
- Artigos e Pesquisas
- Python no Google Colab
Gestão de Projetos
Além de habilidades técnicas, também tivemos aulas envolvendo a parte de gestão na área de Tecnologia, tivemos diversas aulas ao longo do ano, incentivando o desenvolvimento de softskills visando um ambiente de trabalho.
Nessas aulas aprendemos sobre frameworks de gestão de projetos que são popularmente usadas em projetos de tecnologia.
Como o SCRUM, framework de desenvolvimento ágil.
Também tivemos aulas em que vimos mais sobre PMBOK (Project Management Body of Knowledge), que são práticas de gestão de projetos.
Assim como organização simples e visual por meio do KanBan, forma eficaz de organizar tarefas.
Todos esses e outros conteúdos foram abordados ao longo do curso em diferentes unidades curriculares, passados para nós por diferentes professores.
Documentação e Debug
Aprendemos Documentação e Debug de código nesse ano, todas as unidades curriculares envolvendo programação, a não ser o grupo de IA, foram em Java, o que possibilitou que eu e os outros alunos criassem maior familiaridade com POO e programação nessa linguagem tão utilizada até hoje.
Nas aulas de documentação por exemplo, o professor nos apresentou alguns códigos prontos e tivemos de documenta-lo, tanto o código em si, tanto no github, uma ferramenta de controle de versões, que também aprendemos e usamos extensivamente ao longo do ano para guardarmos nossos códigos e atividades práticas ao longo do curso.
Aprendemos também sobre ferramentas de CLI (Command Line Interface) que permitem documentação automática de código, como o JavaDocs. Que facilitam a documentação.
Além disso, também tivemos uma unidade curricular em Debug, que envolvia realizarmos o Debug de diversos códigos a fim de entender a ordem de funcionamento de código e tem maior entendimento em como realizar o Debug em situações reais, um conhecimento indispensável para qualquer programador.
No curso, somos incentivados a utilizar o IntelliJ, IDE (Integrated Development Environment). Mas realizei todas as atividades de programação por meio do Visual Studio.
Todos os conteúdos e ferramentas apresentadas podiam ser utilizadas independentemente da IDE de escolha do aluno. Como os conceitos são os mesmos e grande parte, senão todas as IDE de desenvolvimento seguem esses padrões, pude realizar as atividades mesmo utilizando uma IDE diferente.
Sistemas Digitais
Também tivemos diversas aulas desde o início do ano até o final em matérias envolvendo Álgebra Booleana, Circuitos Digitais e Robótica.
Passamos essas aulas entendendo como os circuitos digitais funcionam por meio da álgebra booleana a fim de criarmos soluções IOT (Internet of Things).
Tivemos no início do ano aulas de robótica, onde utilizamos de componentes similares aos componentes utilizados em Arduino.
Desenvolvemos diversos carrinhos com códigos em C++ a fim de realizar diferentes desafios.
Fizemos carrinhos seguidores de linha e carrinhos que detectavam obstáculos.
Fizemos isso tanto no mundo real com os componentes, tanto quanto em simulações em diferentes plataformas na internet.
Por curiosidade, também conversei mais com o professor de robótica, Luis, que me mostrou como assembly funcionava e como ele entrou no mundo de programação. Foi uma ótima forma de entender como era fazer um programa na época.
Pensamento Computacional
O Pensamento Computacional foi uma ótima oportunidade de ajudar os alunos que estavam nesse curso.
Eu participei como monitor no projeto e pude ajudar diversos dos alunos com suas dúvidas.
Passamos por vários conteúdos diferentes, desde desenvolvimento WEB com HTML e CSS, até lógica de programação.
Diversos alunos também tinham dúvida sobre o curso, e acredito que pude ajudá-los a entender melhor sobre o que se trata o curso de Ciência da Computação.
Ao longo das aulas pude ver como os alunos aprenderam bastante com o projeto e foi muito satisfatório participar do projeto.
No fim do projeto, na formatura dos alunos, também auxiliei na organização da cerimônia de fechamento do curso, onde os alunos receberam seus certificados, assim como nós, monitores.
NPI - Núcleo de Práticas de Informática
Estive presente no NPI, onde ao longo do curso, pude conhecer diversas pessoas diferentes, desde alunos até professores.
Aprendi muito com ambos, tanto os alunos que estão nos anos posteriores do curso tanto quanto com os professores com os quais pude conversar.
Também desenvolvi projetos pessoais e estudos próprios em diversos conteúdos, alguns dos conteúdos abordados foram:
- Desenvolvimento WEB
- Frontend com Next.js
- Backend com Node.js/Express.js
- Google Cloud
- RedHat Linux
- Fundamentos Linux para Gerenciamento de Sistemas
- POO
- Javascript e Typescript
- Estudos em Álgebra
- Desenvolvimento de Jogos com Godot Engine
- Softskills
- Git e Github
Esses e outros conteúdos também foram abordados no meu tempo no NPI.
O NPI é uma ótima forma de estar em um ambiente de crescimento próprio no meio de tecnologia. Além de fazer novos amigos, tanto na minha turma e estágio atual na faculdade, tanto quanto de outras turmas e estágios no curso.
O NPI também traz diversos cursos para os presentes no NPI, alguns dos cursos são pagos, nesses casos a faculdade traz eles de forma gratuita para os alunos do NPI.
Alguns dos cursos e projetos que fiz e participei foram:
- Linux RedHat
- Google Cloud
- Google Tutor
- Pensamento Computacional
Projeto Interdisciplinar
Nas aulas com o professor Wilson, professor da unidade de Projeto Interdisciplinar pudemos entender como desenvolver ideias, tanto para um ambiente real, tanto para um hackathon a fim de podermos ter melhor entendimento em como podemos criar soluções reais e viáveis para resolver problemas.
Além de aprendermos a criar essas ideias, grande parte das aulas envolviam aprendermos a se portar em público e a apresentar nossas ideias para outras pessoas por meio de um Pitch.
Diversas vezes, os alunos criaram slides e apresentações e se posicionaram em frente a sala para apresentar suas ideias e soluções, uma ótima forma de não só aprender mais o conteúdo, mas também de desenvolver as Softskills dos alunos.