Programming and Algorithm I

Base Knowledge

N/A

Learning Results

In this course it is expected that the student take base contact with several aspects in terms of programming, among which are: Using the computer as a work tool that performs tasks defined by the programmer and the user; The identification and representation of problems; Mapping / modeling processes; Presentation of structural and algorithmic solutions; Use of programming languages for the construction of solutions, including object-oriented; The identification of data types; The use of conditional execution; The proposal of useful and functional solutions    

Program

The course covers the following contents: What is an algorithm ? Algorithm unplugged (paper): binary information coding and games; introduction to CODE with pseudocde; cogind with Scratch; Moving from paper to Scratch to Python/JavaScript; introdution using Scratch as starting tool; object oriented programming using Java; use of objects; use and definition of classes; conditional and iterated execution; data structures; creation of methods; input and output of data; mechanisms of inheritance and polymorphism; creation of applications composed of several classes.    

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

ARNOW, David; WEISS, Gerald. Introduction to programming using java: an object-oriented approach Java 2 update. Reading: Addison Wesley, reprinted 2000. ISBN 0-201-61272-0; EDMONDS, Jeff. How to think about algorithms. Cambridge: Cambridge University Press, 2008. ISBN 978-0-521-61410-8; SIERRA, Kathy; BATES, Bert. Head First Java 2nd ed. Beijing: O’Reilly, 2005. ISBN 0-596-00920-8; LIANG, Y. Daniel. Introduction to Java programming: comprehensive version 5th ed. Upper Saddle River, NJ: Pearson Education. 2005. ISBN 0-13-185721-5; MARTINS, F. Mário. Programação orientada aos objectos em Java 2 (Tecnologias de informação). Lisboa: FCA – Editora de Informática, 2000. ISBN 972-722-196-3; DOWNEY, Allen. How to Think Like a Computer Scientist: Java Version. 2008 Ensinando Ciência da Computação sem o uso do computador, Criado por?Tim Bell, Ian H. Witten e Mike Fellows, © 2011 Computer Science Unplugged (csunplugged.org). Scratch MIT: scratch.mit.edu