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

MAC2166 Introdução à Computação

Escola Politécnica - Primeiro Semestre de 2017

 

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 2017, MAC2166 terá a participação de 11 professores do DCC e cerca de 14 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 da Graúna, que é o portal a serviço de disciplinas no IME oferecidas para a Poli. O endereço da Graúna é http://grauna.ime.usp.br. A página de MAC2166 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 2017, 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 reinvetemos 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 é devenvolver 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 cerca de 14 monitores. Os monitores darão plantão de dúvidas em locais e horários divulgados na seção "exercícios-programa" da página de MAC2166, em Horário dos plantões de monitoria.

 

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á 3 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.

 

Provas

As datas e horários das provas estão divulgados na seção "Provas" da página de MAC2166. O local das provas será divulgado oportunamente no "Quadro de Avisos" da página de MAC2166. Para fazer a prova é obrigatório que você apresente um documento original com foto atualizada, como o RG. Leia as Instruções para as provas na seção "Provas" da página de MAC2166.

 

Conduta ética

As provas e os EPs de MAC2166 devem ser feitos individualmente. Você tem responsabilidade sobre cópias feitas de questões de suas provas e de trechos de seus EPs. 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. Provas e 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 etc... 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.

Esses problemas ocorrem em muitos lugares, e as políticas e recomendações não variam muito. Algumas recomendações da Universidade de Lisboa valem também aqui e foram reproduzidas no parágrafo anterior.

Em 2012, cada aluno envolvido em algum caso de falta de ética (como plágio) recebeu do Diretor da Poli uma advertência por escrito que foi anexada ao seu histórico escolar. Casos mais graves necessitaram de sindicância.

 

Médias

A média final (MF) em MAC2166 é baseada na nota da conduta ética (α), na média de exercícios-programa (MEP) e na média de provas (MP), como descrito a seguir.

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 de exercícios-programa

A média dos exercícios-programa é
MEP = α × (EP1 + 2 × EP2 + 2 × EP3) / 5,
onde EP1, EP2, e EP3 são as notas do primeiro, segundo, e terceiro EPs.

Média de provas

A média das provas é

MP = α × (P1 + 2 × P2 + 2 × P3) / 5,
onde P1, P2 e P3 são as notas da primeira, segunda e terceira provas.

A prova substitutiva (PSub) será fechada, ou seja, só poderá ser feita por aqueles que deixaram de fazer alguma das três provas (P1, P2 ou P3). A nota da PSub substituirá a nota de uma das provas não realizadas, sempre com peso dois. Caso a P1 seja a substituída, o denominador do cálculo de MP passa a ter o valor 6. Caso o aluno tenha deixado de fazer a P1 e mais uma outra, será substituída a outra e o valor do denominador não se altera.

Média final

A média final será calculada da seguinte forma. Se MEP ≥ 5 e MP ≥ 5,

MF = (MEP + 2 × MP) / 3
senão, o valor de MF é o menor entre MP e MEP. 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 uma prova em julho, em data a ser acertada. 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 + 2 × Prec) / 3,
onde Prec é a nota obtida na prova de recuperação. Se Mrec ≥ 5, você estará aprovado; caso contrário, estará reprovado.

 


Last modified: Thr Feb 11 15:27:18 BRT 2017