O projeto e o BCC
Disciplinas diretamente relacionadas ao projeto
O BCC foi muito importante para o desenvolvimento do projeto e para a postura e disciplina que assumi durante o desenvolvimento. Abaixo, apresento a lista das disciplinas que considero diretamente relacionadas ao projeto:
  • MAC0426 - Sistemas de Bancos de Dados
    Ministrada por João Eduardo Ferreira.
    Foi nesta disciplina que tive o primeiro contato com banco de dados. Foram apresentados conceitos de modelagem relacional, dependências funcionais, restrições de integridade e entre outros.

  • MAC0441 - Programação Orientada a Objetos
    Ministrada por Fabio Kon.
    O sistema Borboleta foi desenvolvido com base na orientação a objetos. Assim, o conhecimento de classes, subclasses, padrões, entre outros foi fundamental para o desenvolvimento do projeto.

  • MAC0332 - Engenharia de Software
    Ministrada por Flávio Soares Corrêa da Silva.
    Conhecer as metodologias de gerenciamento de projeto, especificações formais, administração de prazos e etc, foram essenciais não só para o desenvolvimento do Borboleta como para o programa de estágio que realizei em paralelo.

  • MAC0413 - Tópicos de Programação Orientada a Objetos
    Ministrada por Fabio Kon, Francisco Reverbel, João Eduardo Ferreira e Paulo J. S. Silva.
    Durante o desenvolvimento do projeto, tivemos que consultar metodologias de desenvolvimento de software orientado a objetos e técnicas de refatoração. Este tópicos foram cobertos no programa da disciplina. Além disso, tive a oportunidade de cursar esta disciplina em uma versão inédita, com quatro professores. Foi uma experiência inédita e muito boa.

  • MAC0439 - Laboratório de Bancos de Dados
    Ministrada por João Eduardo Ferreira.
    Muitas escolhas tiveram que ser feitas durante o projeto em relação à base de dados. E para fazê-las com segurança, muitos conhecimentos específicos da área de banco de dados foram necessários. O conhecimento em relação aos gerenciadores de dados, linguagem SQL e modelagem relacional foram essenciais para o desenvolvimento do Borboleta.

  • MAC0438 - Programação Concorrente
    Ministrada por Alfredo Goldman vel Lejbman.
    Os fundamentos de programação concorrente, principalmente os mecanismos de comunicação e sincronização de processos concorrentes foram muito importantes durante a análise e o estudo da base de dados do projeto Borboleta. Com estes conhecimentos, foi possível identificar problemas que surgiriam com a manutenção de duas bases de dados e elaborar soluções viáveis para estes.

  • FLC0474 - Língua Portuguesa
    Ministrada por Reginaldo Pinto de Carvalho, docente da Faculdade de Filosofia, Letras e Ciências Humanas.
    Apesar não tê-la cursado no semestre ideal (semestre ideal é o quinto e cursei no terceiro semestre), creio que muitos conceitos de produção de textos e redações técnicas foram importantes para escrever a monografia.


Disciplinas não diretamente relacionadas ao projeto
Apesar de não ter um relacionamento direto com o projeto, as disciplinas listadas abaixo tiveram um papel muito importante.
  • MAC0110 - Introdução à Computação
    Ministrada por Nami Kobayashi.
    O meu primeiro contato com a programação e seus fundamentos foi nesta disciplina. Foi através do estudo e desenvolvimento dos trabalhos propostos que descobri que havia escolhido o curso certo.

  • MAC0122 - Princípios de Desenvolvimento de Algoritmos
    Ministrada por Paulo Feofiloff.
    Esta disciplina proporciona conhecimentos básicos que serão utilizados ao longo de todo o curso. O curso é bem melhor aproveitado se os tópicos abordados nesta disciplina forem bem absorvidos. Além disso, a organização, as boas práticas de programação e documentação mostradas e incentivadas pelo professor marcou meu estilo de programação tornando meu código legível e mais eficiente.

  • MAC0211 - Laboratório de Programação I e MAC0242 - Laboratório de Programação II
    Ministradas respectivamente por Francisco Reverbel e Paulo J. S. Silva.
    A implementação de projetos maiores e com interface gráfica são os focos desta disciplina, além da introdução de conceitos de orientação à objetos. O trabalho em grupo também é explorado pelas disciplinas. Tanto para o projeto Borboleta como para o programa de estágio que realizei foi muito importante a experiência e habilidade de trabalhar em equipe.

  • MAC0316 - Conceitos Fundamentais de Linguagens de Programação
    Ministrada por Alan Mitchell Durham.
    Conhecer os principais paradigmas das linguagens de programação e os conceitos fundamentais relacionados a elas nos traz muitas vantagens na área computacional. A cada dia, surgem novas linguagens de programação e o mercado exige conhecimento em cada uma delas. Com o conhecimento passado nesta disciplina, a adaptação e o aprendizado destas linguagens torna-se mais fácil e rápido.

  • MAC0422 - Sistemas Operacionais e MAC0412 - Organização de Computadores
    Ministradas respectivamente por Alan Mitchell Durham e Siang Wun Song.
    Foi importante e interessante cursar estas disciplinas no mesmo semestre. A comunicação entre hardware e software em nível de usuário é essencial para o desenvolvimento de sistemas com uso restrito de recursos. Para o desenvolvimento do Borboleta móvel, os conhecimentos adquiridos nestas duas disciplinas ajudaram muito o entendimento do funcionamento dos dispositivos móveis.

  • EAD0610 - Fundamentos de Administração
    Ministrada por Bernadete de Lourdes Marinho, docente da Faculdade de Economia, Administração e Contabilidade.
    Para quem não pretende seguir carreira acadêmica, é muito importante ter noções sobre as organizações e o processo administrativo. Esta disciplina introduz estes e outros conceitos importantes para entender o mercado.

Desenvolvimento do raciocínio
Há muitas disciplinas ao longo do curso que nos ajuda a desenvolver nosso raciocínio através da resolução de problemas que parecem não ter aplicações práticas. Com o estudo destas matérias, podemos perceber o aumento da velocidade de raciocínio e da facilidade de entender e especificar as coisas formalmente. Isto ajuda muito no desenvolvimento dos sistemas e nos traz vantagens no mercado de trabalho. Somos capazes de entender mais facilmente as tecnologias que nos são apresentadas e de identificar problemas e elaborar soluções mais rapidamente. Infelizmente, não percebi isto durante o curso das disciplinas e não me dediquei tanto quanto acho necessário agora. São elas:
  • MAT0111, MAT0121, MAT0211 e MAT0221: respectivamente Cálculo Diferencial e Integral I, II, III e IV

  • MAT0138 - Álgebra I para Computação, MAT0139 - Álgebra Linear para Computação e MAT0213 - Álgebra II

  • FAP0126 e FAP0137: respectivamente Física I e II

Disciplinas que gostaria de ter cursado
Houve disciplinas que me arrependo de não ter cursado, como MAC0330 - Computação Móvel e MAC0445 - Laboratório de XP, ministradas respectivamente por Alfredo Goldman vel Lejbman e Fabio Kon. Infelizmente, quando estas disciplinas foram oferecidas, a minha grade horária já estava bem comprometida e preferi me dedicar ao estudo das disciplinas obrigatórias do semestre em curso. Durante o desenvolvimento do Borboleta foi necessário estudar vários tópicos abordados por estas disciplinas. Creio que ter cursado estas disciplinas aceleraria o processo uma vez que teria conhecimentos prévios nestas áreas.