Programació Avançada [104338]
Casas Roma, Jordi
Universitat Autònoma de Barcelona. Escola d'Enginyeria

Título variante: Advanced Programming
Título variante: Programación Avanzada
Fecha: 2023-24
Resumen: Aquesta assignatura s'ha de veure com la continuació lògica de l'assignatura de "Fonaments de Programació". L'objectiu principal és ampliar les nocions bàsiques de programació introduïdes a "Fonaments de Programació" i completar-les amb els principis de la programació orientada a objectes (POO). La programació orientada a objectes és una de les metodologies més esteses de disseny i programació. A la programació orientada a objectes el software s'organitza en classes que contenen mètodes (procediments) i atributs (dades). Les instàncies o objectes d'aquestes classes s'envien missatges les unes a les altres (fan "crides" a mètodes d'altres objectes) aconseguint així la funcionalitat desitjada. Apart del concepte de classe, altres tres elements fonamentals de la POO són l'herència, la composició i la separació de les parts pública i privada de les classes. Durant el curs explicarem tots aquests conceptes de la POO i veurem com els podem utilitzar per construir solucions que siguin fàcilment extensibles en el futur, ja que una llei bàsica del software és que els canvis són inevitables. Per això explicarem també un conjunt de principis de disseny o heurístiques que ens diuen com s'han d'emprar els elements de la POO i que serveixen per dissenyar solucions comunes a problemes aparentment independents, però que apareixen sovint en aplicacions diferents. D'aquesta forma, els objectius formatius de l'assignatura són els següents: 1 D'aquesta forma, els objectius formatius de l'assignatura són els següents: Entendre i aplicar correctament els principis bàsics de la programació orientada a objectes: concepte de classe, objecte i encapsulament de dades. Entendre i aplicar a problemes reals els principis d'herència i composició de classes. Utilitzarles estructures de programació i de representació de la informació més adients per la implementació d'un algorisme. Adquirir la capacitat de disseny i programació d'algorismes per a la resolució de problemes complexos, aplicant els principis i patrons de disseny orientat a objectes. Entendre el cicle de vida del software per la resolució de problemes de programació: anàlisi del problema, disseny, implementació i prova. Desenvolupar els programes seguint unes normes d'estil tendents a aconseguir programes de qualitat.
Resumen: This subject must be regarded as the logical continuation of the subject of "Fundamentals of Programming". The basic objective is to expand the basic notions of programming introduced in "Fundamentals of Programming" and to complete them with the principles of object-oriented programming (OOP). Object-oriented programming is one of the most widespread design and programming methodologies. In object-oriented programming, software is organized into classes that contain methods (procedures) and attributes (data). The instances or objects of these classes send messages to each other (they make "calls" to methods of other objects) thus achieving the desired functionality. Apart from the concept of class, three other fundamental elements of the OOP are inheritance, composition and separation of the public and private parts of the classes. During the course, we will explain all these concepts of the OOP and we will see how we can use them to build solutions that are easily extensible, since a basic law of software is that changes are inevitable. Therefore, we will also explain a set of design principles or heuristics that tell us how the elements of the OOP have to be used. These principles are used to design common solutions to recurrent problems, which often appear in seemingly independent applications. In this way, the training objectives of the subject are the following: 1 In this way, the training objectives of the subject are the following: Understand and correctly apply the basic principles of object-oriented programming: concept of class, object and data encapsulation. Understand and apply the principles of inheritance and class composition to real problems. Use the most appropriate programming and representation structures for the implementation of an algorithm. Acquire the ability to design and program algorithms to solve complex problems, applying object oriented design patterns and principles. Understand the software life cycle for the resolution of programming problems: problem analysis, design, implementation and testing. Develop the programs following a coding style aimed at achieving high-quality programs.
Resumen: Esta asignatura debe verse como la continuación lógica de la asignatura de "Fundamentos de Programación". El objetivo básico es ampliar las nociones básicas de programación introducidas en Fundamentos de Programación y completarlas con los principios de la programación orientada a objetos (POO). La programación orientada a objetos es una de las metodologías más extendidas de diseño y programación. En la programación orientada a objetos el software se organiza en clases que contienen métodos (procedimientos) y atributos (datos). Las instancias u objetos de estas clases se envían mensajes unas a otras (hacen "llamadas" a métodos de otros objetos) consiguiendo así la funcionalidad deseada. Aparte del concepto de clase, otros tres elementos fundamentales de la POO son la herencia, la composición y la separación de las partes pública y privada de las clases. Durante el curso explicaremos todos estos conceptos de la POO y veremos cómo los podemos utilizar para construir soluciones que sean fácilmente extensibles en el futuro, ya que una ley básica del software es que los cambios son inevitables. Por ello explicaremos también un conjunto de principios de diseño o heurísticas que nos dicen cómo deben utilizarse los elementos de la POO y que sirven para diseñar soluciones comunes a problemas aparentemente independientes, pero que aparecen con frecuencia en diferentes aplicaciones. De esta forma, los objetivos formativos de la asignatura son los siguientes: 1 De esta forma, los objetivos formativos de la asignatura son los siguientes: Entender y aplicar correctamente los principios básicos de la programación orientada a objetos: concepto de clase, objeto y encapsulamiento de datos. Entender y aplicar a problemas reales los principios de herencia y composición de clases. Utilizar las estructuras de programación y de representación de la información más adecuadas para la implementación de un algoritmo. Adquirir la capacidad de diseño y programación de algoritmos para la resolución de problemas complejos, aplicando los principios y patrones de diseño orientado a objetos. Entender el ciclo de vida del software para la resolución de problemas de programación: análisis del problema, diseño, implementación y prueba. Desarrollar los programas siguiendo unas normas de estilo tendentes a conseguir programas de calidad.
Derechos: Aquest document està subjecte a una llicència d'ús Creative Commons. Es permet la reproducció total o parcial, la distribució, la comunicació pública de l'obra i la creació d'obres derivades, fins i tot amb finalitats comercials, sempre i quan es reconegui l'autoria de l'obra original. Creative Commons
Lengua: Català, anglès, castellà
Titulación: Grau en Enginyeria de Dades [2503758]
Plan de estudios: Enginyeria de Dades [1394]
Documento: Objecte d'aprenentatge



Català
6 p, 110.3 KB

Anglès
6 p, 109.1 KB

Castellà
6 p, 110.6 KB

El registro aparece en las colecciones:
Materiales académicos > Guías docentes

 Registro creado el 2023-07-14, última modificación el 2023-09-16



   Favorit i Compartir