Introduction to Programming and Problem Solving
1st Cycle Studies
Model based on a teacher per class, with no distinction between theoretical and practical classes. Contextualized learning, with concrete projects of the graphic area used as a base. The conceptual learning will closely monitor the activities of ongoing projects, trying whenever possible to stimulate learning through project needs. Programming language used: Processing, as it is a language with high graphical capabilities, and it is adequate to the type of examples and projects to be used. We will adopt an operating model in classroom that promotes independent and peer learning.
The main objective of this course is to enable students to master the basic concepts of programming and enable them to understand and create programs of small and medium complexity. For this it is necessary to know the features and syntax of a programming language and to develop problem-solving techniques appropriate to the creation of computer programs.
1. Computers and Software 1.1. Structure of a digital computer 1.2. Digital Information Representation 1.3. Storage and information transmission units 1.4. Problem solving using computer programs 2. Introduction to Programming using Processing 2.1. Simple graphical elements: coordinates and graphical functions 2.2. Basic concepts: variables, assignments, expressions and arithmetic functions 2.3. Creation of basic animations 2.4. Control instructions: selection and repetition 3. Introduction to Object Oriented Programming 3.1. Classes and Objects 3.2. Methods 4. Simple Data Structures 4.1. Arrays 4.2. Dynamic arrays 4.3. Files 5. Advanced notions on Object Oriented Programming 5.1. Inheritance 5.2. Polymorphism
António José Nunes Mendes
"Processing: A programming handbook for visual designers and artists". Casey Reas and Bem Fry. MIT Press. 2014.
"Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction" Daniel Shiffman. Morgan Kaufmann, 2015.
Site do Processing: www.processing.org