Checking date: 25/05/2018

Course: 2021/2022

Foundations of Programming
Study: (84)

Coordinating teacher: DELGADO KLOOS, CARLOS

Department assigned to the subject:

Type: Compulsory
ECTS Credits: 6.0 ECTS


- Understand how to code in an imperative way using assignment, conditional, and repetition statements, being able to follow mentally the state transformations coded - Understand functional abstraction of code snippets into methods, including recursive methods and their termination - Understand the concepts in Java for modelling systems in an object-oriented way - Know how to design a simple algorithm given a specification - Have limited ability to correct buggy programs - Have some intuition about the efficiency of programs - Know how to use a development environment - Know how to look for additional information needed to code
Description of contents: programme
- From the calculator to the computer (JavaMOOC1, Week 1): Expressions, statements, programs, data types, identifiers, decisions - State transformation (JavaMOOC1, Week 2): Repetition, arrays, representation of data and programs - Errors (JavaMOOC2, Week 1&2): Debugging, testing, reasoning - Functional abstraction (JavaMOOC1, Week 3): Methods, scope, recursive methods - Sorting (JavaMOOC3, Week 5): Simple sorts, efficient sorts, intuition about efficiency - Object encapsulation (JavaMOOC1, Week 4): Objects and classes, information hiding, inheritance, polymorphism - Object encapsulation (JavaMOOC1, Week 5): Abstract classes, interfaces, packages, APIs, libraries
Basic Bibliography
  • C. Delgado Kloos et al.. Introduction to Java Programming. (JavaMOOC).
  • P. Deitel, H. Deitel. Java ¿ How to Program (Late Objects). Pearson. 11 edition, 2018, ISBN: 0-13-479140-1

The course syllabus may change due academic events or other reasons.