MC102 - Computer Algorithms and Programming

Computing Institute (IC / Unicamp)
Prof. Sandra Avila (sandra@ic.unicamp.br)

 

Important Notices:

Days, Hours and Rooms:

Class Type Day of the week Timetable Sala
Theoretical (KLMN classes) Wednesday 14am – 16pm CB04
Theoretical (KLMN classes) Friday 14am – 16pm CB04
Laboratory (class K) Away 14am – 16pm SI03
Laboratory (class L) Away 14am – 16pm SI05
Laboratory (class M) Away 16am – 18pm SI03
Laboratory (class N) Away 16am – 18pm SI08

Waiters This MC102 offer has the collaboration of several graduate students (PEDs) and undergraduate students (PADs) who act as monitors (s). In addition to the attendance during the laboratory classes, there will be shifts for in-person doubts and extra review classes at times and rooms that will be posted on the discipline's general web page. (https://ic.unicamp.br/~mc102/atendimento.html). The monitor (s) of the discipline are:

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.

Data Subject Lesson Material
27/02/2019 Introduction and Development Plan Class, What is an algorithm?, The first computer
01/03/2019 Program structure, Variables, Objects and Assignment Class, IPython Notebook
07/03/2019 Python and the SuSy Auto Test and Submission Tool Lab00
08/03/2019 Program structure, Variables, Objects and Assignment Class, IPython Notebook
13/03/2019 Relational, Logical Expressions and Conditional Commands Class
15/03/2019 Conditional Commands: elif Class
15/03/2019 Arithmetic with Integers Lab01
20/03/2019 Repetitive Structures: while and for Class, IPython Notebook
22/03/2019 Repetitive Structures: Indicator and Counter Variable Class, IPython Notebook
24/03/2019 Late Payment Lab02
27/03/2019 Exercises & Fitted Ties Class
29/03/2019 Exercises & Fitted Ties Class, IPython Notebook
29/03/2019 Exchange? Lab03
01/04/2019 Triangle Sorter Lab04
03/04/2019 Subscriber lists Class, IPython Notebook
04/04/2019 ENEM-Unicamp jobs Lab05
05/04/2019 Strings Class
10/04/2019 I give you one, I give you two ... Lab06
10/04/2019 Strings: Exercises & Examples Class, IPython Notebook
12/04/2019 Exercises Class
17/04/2019 Drawing with numbers Lab07
17/04/2019 Review 1: Exam 1 Class
24/04/2019 Review 2: Exam 1 Class
26/04/2019 Exam 1 Good test!
29/04/2019 MC102 Approval Criteria Lab08
03/05/2019 Tuples and Dictionaries Class
06/05/2019 Password Strength Meter Lab09
08/05/2019 Tasks Class, IPython Notebook
10/05/2019 Tasks Class
13/05/2019 Binary Regions Lab10
17/05/2019 Matrices Class, IPython Notebook
20/05/2019 My team can be champion !!! Lab11
24/05/2019 Regular Expressions Class
29/05/2019 Ordering Class
31/05/2019 Sequential and Binary Search Class
03/06/2019 Error Checker for Sudoku Lab12
05/06/2019 Archives Class
07/06/2019 Binary Files Class
12/06/2019 Recursion & QuickSort Class, Class
17/06/2019 Merge Sort Class
19/06/2019 Review: Proof 2 Class
26/06/2019 Exam 2
28/06/2019 Correction of Exam 2 Class

Programming language: Python, version 3.

Evaluation criteria: The following elements will be taken into account: Conceptual Activities, Laboratory Tasks e Theoretical Evidence, being:

Minimum Frequency: According to the General Graduation Regulations, students must have their attendance to classes controlled and attendance Freq must be greater than or equal to 75% for approval.

Rating criteria: The final average $ M_ {Final} $ and the student's situation will be defined according to the following rules.

Additional Information

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:

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