MC102 - Computer Algorithms and Programming
Computing Institute (IC / Unicamp)Prof. Sandra Avila (sandra@ic.unicamp.br)
Important Notices:
- [01 / 02 / 2021] The course will start on 17/03/2021.
Days, Times and Locations:
Class Type | Day of the week | Timetable | Sala |
---|---|---|---|
Theoretical (KLMN classes) | Wednesday | 14am – 16pm | Google Meet |
Theoretical (KLMN classes) | Friday | 14am – 16pm | Google Meet |
Laboratory (class K) | Away | 14am – 16pm | Google Meet |
Laboratory (class L) | Away | 14am – 16pm | Google Meet |
Laboratory (class M) | Away | 16am – 18pm | Google Meet |
Laboratory (class N) | Away | 16am – 18pm | Google Meet |
Programming language: Python, version 3.
Waiters This offer of MC102 has the collaboration of several graduate students (PEDs) and undergraduate students (PADs) who act as monitors (s). The monitor (s) of the discipline are:
- Alceu Emanuel Bissoto (PED)
- Andressa Gabrielly Macedo Marçal (PED)
- Levy Gurgel Chaves (PED)
- Maria Jêsca Nobre de Queiroz (PED)
- Raysa Masson Benatti (PED)
Course Program:
- Basic Concepts of Computer Organization
- Basic Concepts about Algorithms and Programming
- Data Input and Output
- Arithmetic, Logical and Relational Expressions
- Conditional Commands
- Repeat Commands
- Lists, Tuples, Dictionaries, Strings and Arrays
- Functions and Scope of Variables
- Sorting Algorithms
- Search Algorithms
- Recursion
- Recursive Sorting Algorithms
- Files (extra)
- Regular Expressions (extra)
Rating criteria: The evaluation will be carried out through practical tasks, that is, Python programs that should be implemented and submitted for automatic correction through the Susy.
Practical tasks will be proposed, which should be carried out by the students. The developed programs will be tested with a predetermined set of tests, subdivided into open tests (which can be accessed by students) and closed tests (which cannot). The grade of each practical activity will be proportional to the number of tests, open or closed, that they perform correctly.
Together with the statement of each practical task, the weight $ P_i $ ∈ {$ 1, 2, 3, 4 $} of that task will be indicated. The average of the practical tasks ($ P $) will be the weighted average of the grades of the tasks.
The final average $ F $ and the situation of each student will be defined according to the following rules.
Case $ P ≥ 5 $:
The student (o) will be approved (o) by grade and frequency with final average ($ F $): $ F = P $.
Case $ 2.5 \ l and P <5 $:
The student may take the exam. The exam will consist of a subset of the practical tasks made available throughout the semester. The (O) student (o) can redo the tasks indicated during the exam period or take advantage of the programs previously submitted in those tasks (without the need to redo the task).
The exam grade ($ E $) will be calculated as the weighted average of the tasks selected to compose the exam. The weights of tasks for the purpose of the exam may differ from those previously used to calculate the average of practical tasks ($ P $). The calculation of the final average ($ F $) will be done as follows: $ F = $ min {$ 5, (P + E) / 2 $}.
If $ F ≥ 5 $, the student will be approved by grade and frequency. Otherwise, it will fail the grade.
Case $ P <2.5 $:
The (O) student (o) will fail the grade, with final grade ($ F $): $ F = P $.
Remarks:
- There will be no substitute practical activities.
- Practical assignments will be made available on Monday mornings and will be available for at least 3 weeks (until Sunday night).
- Any attempt at fraud in practical activities will result in a final score of $ F = 0 $ (zero) for all persons involved, without prejudice to other sanctions. Examples of fraud:
- Copying or purchasing programs.
- Submission of programs that produce the expected outputs of open tests by comparing sections of the input, without actually implementing the algorithms requested in practical tasks.
- Cases of attempted fraud in practical tasks can be detected automatically among all submissions (of all students), among all classes) throughout the semester.
- All fraud detection cases automatically detected will be checked manually by the discipline coordinator. All those involved in confirmed fraud attempts will be notified by the end of the semester.
- The practical activity notes will be published on the discipline website up to a maximum of one week after the deadline for submission of tasks.
- According to General Graduation Regulations, the students must have a frequency greater than or equal to 75% for approval, but as this course will be conducted online, there will be no presence control (100% attendance will be attested to all ( enrolled students.
- According to the formula above, if one (one) student is approved after taking the final exam, her final grade will be $ F = 5 $ (five).
Notes: https://ic.unicamp.br/~mc102/notas
Important dates:
- Course calendar: see the dates of the practical activities and the topics covered each week of class.
- DAC official calendar: see dates without didactic activities at Unicamp, in addition to other important dates such as the period of change and withdrawal of subjects.
Recommended Sites: The websites listed below provide additional information to the topics covered in class.
- MC102 - Computer Algorithms and Programming:
- Python programming:
- Python Integrated Development Environments (IDE):
- Programming Competitions: