Programming
(pt: Programação)
Professor: Pedro Alexandre S. C. R. Pereira
Year:
1
Semester:
1
ECTS: 6
Goals
A student completing this course unit should be able to:
- Demonstrate know-how on the basic constructs of a statically typed and multi-paradigm programming language.
- Build small programs aimed at solving simple problems described in natural language.
- Write, test, debug and fix small programs.
- Write reports justifying decisions made while building computer programs.
- Make effective use of the tools to produce small computer programs and to write technical reports.
Syllabus
- Values, Types and variables; Mutability and immutability; Expressions, Input/Output; Binary and multiple decision instructions. Functions; Function activation and parameters passing; Functions as parameters; Lambda expressions.
- Execution control constructs: in both imperative and functional programming styles; Recursion and corecursion.
- Data collections; Basic operations on collections: filter, map, fold; Elementary algorithms on data collections.
- Primitive types and type definition; Homogeneous data composition (collections); heterogeneous data composition (objects).
Outcomes
This curricular unit is for most students a first contact with programming. Must be motivator without neglecting the formality and rigor and is the basis of software training course. Are introduced the fundamental concepts and vocabulary of imperative and functional programming.
The consistency between the syllabus and the objectives of the course is as follows:
- Goals 1, 2 and 3 are achieved through items I to IV of the syllabus.
- The development of programs during practical sessions makes it possible to achieve goals 4 and 5 of learning outcomes.
Bibliography
“Kotlin Apprentice: Beginning Programming with Kotlin” by I. Galata; J. Howard; D. Lucas and E Shapiro. Released in 2018. Publisher(s): Razeware LLC. ISBN-13: 978-1942878506; ISBN-10: 1942878508.