Departamento de Ciência da Computação - IME - USP

MAC2166 Introdução à Computação

Escola Politécnica - Primeiro Semestre de 2021

 

Bem-vindo à MAC2166 Introdução à Computação.

A disciplina MAC2166 é de responsabilidade do Departamento de Ciência da Computação (DCC) do Instituto de Matemática e Estatística (IME) da Universidade de São Paulo (USP) e é obrigatória para todos os cursos de engenharia da Escola Politécnica (Poli). Esta disciplina é oferecida no primeiro semestre de cada ano aos mais de 800 alunos ingressantes na Poli. Em 2021, MAC2166 terá a participação de 9 professores do DCC e 13 monitores.

A seguir está uma descrição de alguns dos ingredientes principais de MAC2166.


Página da disciplina

A página de MAC2166 pode ser acessada através do sistema e-Disciplinas. O endereço do sistema e-Disciplinas é https://edisciplinas.usp.br. A página da disciplina deverá ser consultada regularmente. Nela você encontra boa parte do material visto nas aulas, fóruns de discussão, informações e avisos indispensáveis para o acompanhamento de MAC2166.

 

Pré-requisitos

Esta disciplina não possui pré-requisitos. Em particular, não é esperado que você tenha qualquer experiência prévia em programação.

 

Objetivos

O objetivo principal de MAC2166 é desenvolver um raciocínio aplicado na formulação e resolução de problemas computacionais, ensinar como abordar e resolver problemas computacionais.

Em MAC2166 você aprenderá a escrever programas de computador. O ato de programar é uma ferramenta útil para trabalhar o raciocínio mencionado acima, bem como tornar mais concretos outros conceitos comuns em ciência da computação.

Ao longo dos anos, MAC2166 utilizou diversas linguagens de programação: Fortran, Pascal, C e Python. Em 2021, serão utilizadas a linguagem Python (nas turmas da Grande áreas Civil, Mecânica, e Química) e C (nas turmas da Grande área Elétrica). O ensino de uma linguagem de programação é uma ferramenta didática e um bônus concreto de aprendizagem, subordinado ao objetivo principal.

Em geral, uma vez adquirida familiaridade com uma linguagem de programação, não é difícil utilizar outra. Muitas vezes, basta apenas ler o manual. Desta forma, gostaríamos que no futuro você não se lembrasse de MAC2166 como um "Curso de Python" ou um "Curso de C". Em MAC2166, de fato, você aprenderá um pouco de alguma linguagem (Python ou C) e será cobrado pela aplicação apropriada dos conceitos vistos nas aulas (assim como seus colegas de anos anteriores aprenderam Fortran, Pascal, C ou Python). No entanto, o verdadeiro aprendizado será a familiaridade com os conceitos e princípios envolvidos em programar.

Ferramentas tais como funções nativas e módulos existentes no Python evitam que reinventemos soluções disponíveis e façamos tarefas presumidamente desnecessárias. O domínio dessas ferramentas é fundamental para um programador efetivo. Apesar disso, esta disciplina utiliza um subconjunto bem limitado dos recursos de Python. Não por essas ferramentas não serem importantes, mas simplesmente porque elas não são o foco em uma disciplina cujo objetivo é desenvolver um raciocínio aplicado na formulação e resolução de problemas computacionais .

O andamento da disciplina é orientado pelos problemas propostos. Cada problema introduz novos desafios que, para serem transpostos, nos levam a novas ideias e práticas de programação.

 

Python e C no seu computador

Em MAC2166 evitamos o uso de linguagens e sistemas proprietários. Preferimos os sistemas abertos e livres (Free and open source software).

As informações sobre a instalação necessária para o uso dessas linguagens de programação em seu computador serão divulgadas na página de MAC2166.

 

Plantão de monitores

Para auxiliá-lo, MAC2166 conta com o trabalho fundamental de 13 monitores. Os monitores darão plantão de dúvidas online. Os links e horários serção divulgados na página de MAC2166 no e-Disciplinas.

 

Exercícios-programa

Em MAC2166, os projetos que envolvem programação recebem o nome de exercícios-programa (EPs). Esta edição de MAC2166 terá 4 EPs. A data de entrega e o enunciado de cada EP será divulgado ao longo do semestre na seção "Exercícios-programa" da página de MAC2166. O enunciado de cada EP deverá ser rigorosamente observado. A entrega dos EPs é feita eletronicamente. O depósito (upload) dos seus EPs será feito através da página de MAC2166, conforme descrito em Instruções para entrega de EPs em C e em Instruções para entrega de EPs em Python. Não são aceitos EPs fora do prazo de entrega. A correção dos EPs e suas notas também serão disponibilizadas na página de MAC2166.

 

Conduta ética

Os EPs de MAC2166 devem ser feitos individualmente. Você tem responsabilidade sobre cópias feitas de seus EPs ou de trechos deles. Quando autores e copiadores combinam, estão ludibriando o sistema de avaliação. Dependendo da área do aluno, a nota será parte da classificação usada para entrada em sub-áreas; quem falsifica as notas está enganando o sistema e seus colegas. EPs considerados plagiados, tanto o original como a cópia, receberão nota zero e os nomes dos alunos envolvidos serão encaminhados à Coordenação do Ciclo Básico da Poli.

O trabalho em grupo e a cooperação entre colegas é em geral benéfico e útil ao aprendizado. Para ajudar um colega você pode lhe explicar como resolveu um ou outro problema. Por exemplo, pode explicar que para fazer um determinado trecho de programa é possível usar dois "loops" ou que para representar os dados basta usar algumas variáveis. O que você não deve fazer é mostrar o seu programa! Você pode achar que a amizade é mais importante do que as considerações éticas acima, mas mostrar o seu programa pode prejudicar o aprendizado do seu colega:

Além disso, o seu colega pode eventualmente divulgar a sua solução para outros colegas, colocando-o numa situação muito complicada.

Portanto, não faça os EPs em grupos e não compartilhe trechos de código! Não permita que outro aluno tenha acesso ao seu programa. Você pode consultar seus colegas para esclarecer dúvidas e discutir possíveis soluções, mas não copie os programas.

 

Avaliação

A avaliação em MAC2166 será baseada na nota da conduta ética (α) e nas notas dos exercícios-programa (EPs).

Nota da conduta ética

A conduta ética é medida em termos de uma nota extra que denotamos por α (alfa). A nota α é um número entre 0 e 1. No início do semestre a sua nota α é 1. Em cada ocorrência de plágio que você se envolver, haverá uma redução de pelo menos 0,3 na sua nota α. No entanto, dependendo da gravidade do caso de falta de conduta ética que você se envolva, a sua nota α pode ser 0.

Média final

A média final (MF) será calculada da seguinte forma:

MF = α × (EP1 + 2 × EP2 + 2 × EP3 + 3 × EP4) / 8,
onde EP1, EP2, EP3 e EP4 são as notas do primeiro, segundo, terceiro e quarto EPs. Se MF ≥ 5, você estará aprovado; se 3 ≤ MF < 5, você estará de recuperação, e se MF < 3, você estará reprovado.

 

Recuperação

Os alunos em recuperação deverão fazer um EP adicional. Esperamos que você não fique em recuperação, mas se isso acontecer, a média de recuperação, Mrec, será calculada da seguinte forma:

Mrec = (MF + EPrec) / 2,
onde EPrec é a nota obtida no EP de recuperação.

  Se Mrec ≥ 5, você estará aprovado; caso contrário, estará reprovado.