Introdução à Informática para Automação
An introduction to programming and computational problem solving for students of Control and Automation Engineering at UFSC.
Syllabus
General principles of computing and computer program design; modularization techniques; programming languages and their characteristics; use of a high-level programming language; and applications of computing in industrial automation.
Learning objectives
The course develops students’ ability to design computer programs and understand basic programming concepts. Students learn the foundations of programming, the principal elements of a programming language, and how to apply them to practical problems using a high-level language.
Course topics
The sequence below follows the supplied teaching plan, without semester-specific dates.
- What is computing? Introduction to programming and Python
- Variables, expressions, statements, and debugging
- Functions and program organization
- Case study: graphical interface programming
- Conditionals and recursion
- Functions that return values
- Iteration and loops
- Strings and problem solving
- Lists and dictionaries
- Modules, local and global variables, and introductory object-oriented programming
- Practical programming exercises and problem solving
- Development and presentation of a programming project (e.g., a game)
Teaching methods
Classes combine introductory explanations, discussion, and hands-on programming activities in a computer laboratory. Readings and videos may be provided as supplementary resources.
Assessment model
The reference teaching plan specifies:
- Practical exam 1 (P1): individual, in person
- Practical exam 2 (P2): individual, in person
- Programming project (T1): source-code submission and project presentation
The reference grading formula combines the two exams and the project using a weighted geometric mean:
The source plan requires attendance at at least 75% of the course hours. It also describes a final recovery examination for eligible students. For the specific rules governing grades, attendance, recovery, and second-chance examinations, consult the official teaching plan for your term.
Main reference
- A. Downey. Pense em Python: Pense como um Cientista da Computação, 2nd ed.. Novatec, 2016. Free Portuguese edition.
- English edition: A. Downey. Think Python: How to Think Like a Computer Scientist, 2nd ed.. Green Tea Press.
Additional references
- N. N. C. Menezes. Introdução à Programação com Python: Algoritmos e Lógica de Programação para Iniciantes. Novatec, 2010.
- M. L. Hetland. Beginning Python: From Novice to Professional. Springer, 2005.
- K. D. Lee. Python Programming Fundamentals. Springer, 2011.
- M. Pilgrim. Dive Into Python 3. Apress, 2009.
- T. Hall and J.-P. Stacey. Python 3 for Absolute Beginners. Apress, 2009.
- M. L. Hetland. Python Algorithms: Mastering Basic Algorithms in the Python Language. Apress, 2010.
Course materials
Programming exercises and other learning resources for a particular offering are provided through the official UFSC Moodle course page. Historical slides, exercises, and notebooks from earlier offerings are being reviewed for publication in the teaching archive.