https://github.com/publioelio/java-programming-dam
:coffee: Java programming exercises done for the Programming subject in the 1st year of Cross-Platform Application Development (Desarrollo de Aplicaciones Multiplataforma) at I.E.S. Belén (Málaga)
https://github.com/publioelio/java-programming-dam
basic-programming java java-oop object-oriented-programming practice-programming problem-solving
Last synced: 10 months ago
JSON representation
:coffee: Java programming exercises done for the Programming subject in the 1st year of Cross-Platform Application Development (Desarrollo de Aplicaciones Multiplataforma) at I.E.S. Belén (Málaga)
- Host: GitHub
- URL: https://github.com/publioelio/java-programming-dam
- Owner: PublioElio
- Created: 2022-09-20T20:55:01.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-10T11:55:36.000Z (almost 3 years ago)
- Last Synced: 2025-01-14T03:42:19.049Z (12 months ago)
- Topics: basic-programming, java, java-oop, object-oriented-programming, practice-programming, problem-solving
- Language: Java
- Homepage:
- Size: 2.62 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Java Programming (1st year of Cross-Platform Application Development)
Java exercises for the Programming subject in 1st year of _Desarrollo de Aplicaciones Multiplataforma_ (Cross-Platform Application Development) at the I.E.S. Belén (Málaga). Most of the exercises in this repository are taken from the Programming manual by [Alfonso Jiménez Martín and Francisco Manuel Pérez Montes (ed. Paraninfo)](https://www.paraninfo.es/catalogo/9788428342865/programacion--edicion-2021-).
## File structure :file_folder:
The exercises are divided by trimester. Within each quarter, they are separated by the manual units (listed below). Inside each drive folder is a Java project with several *packages*, numbered and named as follows:
- __proact__ *(proposed activity)*: simple exercises that appear in the book, consist of little more than practising what is exposed in each of the units.
- __resact__ *(resolved activity)*: activities already solved in the manual, they are usually brief and simple practical exercises that serve to strengthen concepts that are covered in each unit. It is likely that the resolution of the program differs from the ones presented in the book :sunglasses:
- __appact__ *(application activity)*:they are final exercises in each of the units, which have no solution in the manual and must be solved by the student. They are somewhat more complex than __resact__.
- __addact__ *(additional activity)*: they are exercises that do not fall into any of the previous categories and do not come from the manual, may be challenges presented in class or the student's own initiatives. Its function is to reinforce the contents worked on in the unit.
- __exam__: they are exams for each unit. They are normally accompanied by a `.pdf` containing the instructions for taking the exam.
## Units
The units in the manual and the topics covered in each one are listed below.
### Unit 1: basic concepts
Basic exercises to understand Java syntax, as well as other common concepts to understand any programming language. Variables, different types of operators, primitive types (sizes, ranges and conversions), console output and input, the java API and a brief introduction to methods.
### Unit 2: conditionals
This topic covers selection structures, nonlinear applications, single (`if`), double (`if-else`), and multiple (`switch`) conditionals. Extensive use of relational and logical operators, as well as revisiting the ternary operator.
### Unit 3: loops
This unit covers repetition structures (`while`, `do while`, and `for`), as well as how to program applications that repeat sets of statements using loops. Has been made an extensive use of functions for the resolution of the exercises in order to not repeat code, although the functions will be explained in the next unit.
### Unit 4: functions
This unit introduces the concept of __functions__, the advantages of its use and implementation in the code. The exercises deal with imput parameters, automating functions, __overloading__ and writing programs that make use of __recursion__. Also, students will learn how to make their first libraries in Java.
### Unit 5: arrays
In this topic we work with `arrays` to store multiple values in a variable. We create `arrays` of different types and lengths, in addition to performing the most common operations with `arrays`. Programs that make use of this element will be designed, modifying the length of the `arrays` at runtime without losing the data. Use of the Java API related to `arrays` and apply its use to troubleshooting.
### Unit 6: Strings
In this unit we work with the primitive type `char`, using methods and functionalities. Additionally, we use the `String` class, performing __advanced operations with text__. We will work the __Java API__ to implement applications with text.
### Unit 7: Classes
This topic introduces the basic concepts of __Object Oriented Programming (OOP)__. We write programs that make use of OOP to solve problems, making it easier for you as a programmer. We will decide if the __attributes__ will be visible or not, for external and neighboring classes.
### Unit 8: Inheritance
The projects in this unit introduce the concept of __inheritance__, working __classes and superclasses__. We will know the access limitations to the members of a superclass, we will __override methods__, use the main functionalities defined in the `Object` class and use __abstract classes__.