Basic knowledge on algorithms and Java programming
Develop programs with conditionals and loops
Design and implement recursive algorithms
Understand basic mechanisms of the OOP paradigm
Use and interpret the API of some of the most common Java classes
Develop simple programs in Java
In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.
Emphasis is put on immediate feedback and on having a fun experience. Programming knowledge is not only useful to be able to program today’s devices such as computers and smartphones. It also opens the door to computational thinking, i.e. the application of computing techniques to every-day processes.
This edition is an improved version of the course released in April 2015.
1. From the Calculator to the Computer
The first section introduces basic programming concepts, such as values and expressions, as well as making decisions when implementing algorithms and developing programs.
2. State Transformation
The second section introduces state transformation including representation of data and programs as well as conditional repetition.
3. Functional Abstraction
The third section addresses the organization of code in a program through methods, which are invoked to carry out a task and return a result as answer. Recursion, as a powerful mechanism in the invocation of methods, is also covered this week.
4. Object Encapsulation
The fourth section introduces the object oriented programming (OOP) paradigm, which enables the modeling of complex programs in Java through objects and classes. The concept of inheritance as the basis for reusing code and simplifying programs in Java is studied in this week.
The last section aims to study the reuse of code through third-party classes that are already developed and that we can incorporate to our programs to perform specific actions, and reduce the number of lines that we need to code.