MC102 - Computer Algorithms and Programming
Computing Institute (IC / Unicamp)Prof. Sandra Avila (sandra@ic.unicamp.br)
Important Notices:
- [05 / 07 / 2020] As Exam 2 notes and lab notes have been released.
- [25 / 05 / 2020] As Exam 1 notes have been released.
- [06 / 04 / 2020] All appointments will take place via Google Meet. The link will be sent by email.
- [06 / 04 / 2020] Page updated!
- [19 / 03 / 2020] Due to the coronavirus, activities in the discipline will resume remotely from March 24th. More Informations soon.
- [12 / 03 / 2020] Due to the coronavirus, all activities at Unicamp are suspended from March 13 to 29. We will not have class.
- [02 / 03 / 2020] The course will start on 05/03/2020.
- [02 / 03 / 2020] The laboratories will start on 11-12 / 03/2020.
Days, Times and Location:
Location: All appointments will take place via Google Meet. The link will be sent by email.
Class Type | Day of the week | Timetable | Location |
---|---|---|---|
Service with Profa. (GHI classes) | Tuesday | 10am – 12pm | Google Meet |
Service with Profa. (GHI classes) | Thursday | 10am – 12pm | Google Meet |
Service with Profa. & Monitors (class I) | Wednesday | 16am – 18pm | Google Meet |
Service with Profa. & Monitors (class G) | Thursday | 14am – 16pm | Google Meet |
Service with Profa. & Monitors (class H) | Thursday | 14am – 16pm | Google Meet |
Waiters This MC102 offer has the collaboration of several graduate students (PEDs) and undergraduate students (PADs) who act as monitors (s). See the general web page of the course (https://ic.unicamp.br/~mc102/atendimento.html). The monitor (s) of the discipline are:
- Caio Vinicius Dadauto (PED)
- Vanessa Marques Sampaio Sidrim (PED)
- Wellington Viana Lobato Junior (PED)
- Renan Fernando Franco Da Silva (PAD)
Course Program: Basic concepts of computer organization. Construction of algorithms and their representation in pseudocode and high-level languages. Systematic development and program implementation. Structuring, debugging, testing and documentation of programs. Problem solving.
According to Resolution 34 of 2020, face-to-face activities are suspended until April 30. We will continue, as far as possible, with activities mediated by technology according to a new Discipline Development Plan.
See in Content exploration schedule what are the recommended topics and activities for each week. We strongly recommend the videos in the series Introduction to Computer Science with Prof. Python Fabio Kon from USP. You can also learn Python in a good-natured way with the videos from Socratic. Unfortunately, Socratica videos are only available in English.
Observation: Class in the Classroom Material, below, are the slides of the discipline MC102 offered in 2019.1.
Programming language: Python, version 3.
Evaluation criteria: The following elements will be taken into account: Laboratory Tasks e Theoretical Evidence, being:
Laboratory Tasks: Proposals will be m laboratory tasks, which should be implemented by the students individually. The developed programs will be tested with a predetermined test set, subdivided into open tests, which can be seen by the students and closed tests, which cannot be seen. The score for each laboratory will be proportional to the number of tests, open or closed, that they performed correctly. However, only programs designed to solve the problem proposed for a wide range of possibilities will be considered valid, and not those designed to issue the correct output for the subset of open tests.
Together with the statement of each laboratory task $ {L} _ {i} $, the weight of this task $ {PL} _i \ in \ {1,2,3,4,5 \} $ will be indicated. The laboratory average, $ M_ {L} $, is the weighted average of these m grades.
The management of the submission and testing of laboratory tasks is done with the aid of an automated system known as Susy (Submission and Testing System for Student Programs), and is accessible from the web address https://susy.ic.unicamp.br:9999/mc102.
Technology-Mediated Evidence: There will be two theoretical tests, $ P_1 $ and $ P_2 $, with questions to be answered via Moodle MC102 - 1H2020. The tests will be open for 48 hours for all classes on the dates below:
Try it now Weight : Data $ P_1 $ 3 07-08 / May $ P_2 $ 4 01-04 / July The average of theoretical tests, $ M_P $, is the weighted average of the tests $ P_1 $ and $ P_2 $ considering their respective weights.
Rating criteria: The final average $ M_ {Final} $ and the student's situation will be defined according to the following rules.
- If $ M_P ≥ 5 $ and $ {M} _ {L} ≥ 5 $: The student (o) will be approved by grade and frequency with Final Average: $ {M} _ {Final} = 0.7 * {M} _ {P} + 0.3 * {M} _ {L} $ .
- If the student is not approved by the previous rule and $ {M} _ {P} ≥ 2.5 $ and $ {M} _ {L} ≥ 2.5 $: the student (the ) will be entitled to take the exam Examination mediated by technology that will be open for 72 hours for all classes on the 13th to 15th of July. Your final average will be $ {M} _ {Final} = ({M} _ {Preliminary} + Exam) / 2 $, where $ {M} _ {Preliminary} = min (4.9, 0.7 * {M} _ {P } + 0.3 * {M} _ {L}) $. If the student has obtained $ {M} _ {Final} ≥ 5.0 $ she will be approved by grade and frequency, otherwise she will be disapproved by grade.
- If $ M_P <2.5 $ or $ M_L <2.5 $: the student will be disapproved for a grade with $ {M} _ {Final} = min ({M} _ {P}, {M } _ {L}) $.
Additional Information
- There is no possibility of changing exam times and / or final exam.
- There will be no replacement of laboratory tasks.
- All tasks are individual.
- Any attempt at fraud will result in a note 0.0 (zero) in the discipline to todas the people involved.
- The automatic correction system has an efficient fraud detector. It is programmed to detect plagiarism between todas the answers (from todas the students and all students, among todas classes). Occurrence of fraud will imply note 0.0 (zero) in the discipline to todas the people involved.
References: There are many texts about Python programming. This semester we will use as a main reference the book "How to Think Like a Computer Scientist: Interactive Edition" by Brad Miller and David Ranum, available in English and Portuguese, as described below:
- How to Think Like a Computer Scientist: Interactive Edition
- Learning with Python: Interactive editing (using Python 3.x)
- Introduction to Computing and Programming Using Python
- Application SoloLearn
- Application ProgrammingHub
If you are interested in another text, check if the version of Python used is 3. If not, be aware (o) of the details that vary from one version to another.
Additionally, we recommend the material available on the official Python language pages: python.org ou www.python.org.br (in Portuguese).