MC102 - Computer Algorithms and Programming

Coordinated Classes - First Semester of 2024

Content of this page


Important Notices


Classes and Teachers

Remarks:

  • Every message sent to teachers must contain the text “[MC102]” at the beginning of the subject followed by the reason for the message.
    Example: [MC102] Problem with the Submission System
  • Contact by email should only be used in exceptional cases.
  • For email contacts, always use academic emails (@ dac.unicamp.br) and identify yourself correctly (full name, class and AR).
  • Emails that do not strictly follow the above rules will not be answered.
  • Questions regarding the content of classes or practical activities will not be answered by email. In such cases, consult the Online Duty of Doubts.

Courseware

Recommended teaching materials:

Complementary teaching materials:

Video classes:


Exercise Lists


Practical Activities

  • Practical activities will be made available on the Susy.

Recommended Sites

The websites listed below provide additional information to the topics covered in class:


Downloads


Discipline Menu

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.


Discipline 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)

Assessment

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.

Proposals will be n practical tasks, which should be performed by 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 score for 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 Pi ∈ {1, 2, 3, 4, 5} that task. The average of practical tasks (P) will be the weighted average of the task scores.

The final average F and the situation of each student will be defined according to the following rules.

  • Case P ≥ 5:

The student will pass with a final average (F):

F = P
  • Case 2,5 ≤ P <5:

The student can take the exam. The exam will consist of a subset of the practical tasks made available throughout the semester. The student can redo the tasks indicated during the exam period or take advantage of the programs previously submitted in those tasks (without having to redo the task).

The exam score (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}

Case F ≥ 5.0 the student will be approved. Otherwise, you will be disapproved.

  • Case P <2,5:

The student will fail, with a final average (F):

F = P

Remarks:

  1. There will be no substitute practical activities.

  2. The practical tasks will be available on Monday mornings and will be available for a minimum of one week and a maximum of three weeks (always until Sunday night). It is recommended that all tasks be performed in the first week they are made available, as every week a new task will be made available.

  3. Any attempt at plagiarism or fraud in practical activities will result in a final grade F = 0 (zero) for all involved, without prejudice to other sanctions. Examples of plagiarism and fraud:

    • Sharing, copying, or purchasing programs.
    • Submission of a program that produces the expected outputs in open tests based on the comparison of parts of the input, without actually implementing the algorithms requested in the practical tasks.
    • Submission of a program that does not follow the conditions explicitly indicated in the task statement (for example, submission of a valid recursive function that solves the problem).
  4. Cases of attempted plagiarism or fraud in practical tasks can be automatically detected among all submissions (from all students, from all classes) throughout the semester.

  5. All cases of attempted plagiarism or fraud automatically detected will be manually verified by the discipline coordination by the end of the semester.

  6. 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.

  7. According to the formula above, if a student is approved after taking the final exam, his / her final grade will be F = 5 (five).


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.

  • Exam: as indicated in course calendar, the laboratories corresponding to the exam will be available for submission from 10/16 to 07/2024/XNUMX.