Presentació

En l'assignatura de Fonaments de Programació heu adquirit els conceptes bàsics de programació dins del paradigma clàssic o procedimental. En aquesta assignatura es busca ajudar a l'estudiant a acabar d'assimilar aquests conceptes bàsics de programació, aprofundint en alguns d'ells.

Crèdits: 6 ECTS

Inici: 20 febrer 2019

Fins a aquest moment, els problemes proposats es podien resoldre amb la utilització de les eines i conceptes teòrics explicats en els mòduls de teoria, seguint unes guies de bones pràctiques de programació. L'objectiu final de l'estudiant era l'obtenció d'un codi que resolgués el problema. En la resolució de problemes reals, però, l'obtenció de solucions informàtiques per resoldre problemes concrets és una tasca d'enginyeria, on la creativitat i perícia del programador pot ser la diferència entre arribar a una solució o que el projecte fracassi.

 

No existeixen receptes màgiques per a trobar solucions factibles a tots els problemes als que un programador es pot enfrontar al llarg de la seva vida professional. La única manera de que l'estudiant desenvolupi les capacitats d'abstracció de problemes i plantejament eficient de solucions, és mitjançant la creació dels seus propis mecanismes, cosa que només s'aconsegueix amb la pràctica. Per tant, aquesta serà una assignatura majoritàriament pràctica, on l'estudiant haurà d'afrontar problemes més complexes i tenir en compte aspectes d'optimització del codi per trobar solucions que no només funcionin, sinó que també siguin eficients en termes de velocitat i d'utilització de la memòria.

Seguint amb el que s'ha iniciat a l'assignatura de Fonaments de Programació, aquesta assignatura utilitzarà el llenguatge de programació C per tal de codificar les solucions als problemes proposats.

Objectius i competències

Els objectius de l'assignatura són:

  1. Saber escriure i implementar un algorisme que satisfaci uns requeriments preestablerts aplicant la metodologia més adient.
  2. Saber calcular la complexitat d'un algorisme i ser capaços de comparar les eficiències de les diverses solucions possibles per a resoldre un problema.
  3. Conèixer amb profunditat els llenguatges i les eines de programació (IDE) més actuals i populars.
  4. Conèixer els diferents mecanismes per a executar una aplicació (compiladors, intèrprets, etc.).
  5. Conèixer amb profunditat els recursos que hi ha per a depurar un programa.
  6. Saber implementar (codificar) qualsevol disseny de programari.
  7. Saber triar l'estructura modular i de dades necessària per a construir una aplicació informàtica.
  8. Ser capaços d'entendre algorismes i programes escrits (en un llenguatge de programació concret) per altres persones, i conèixer els algorismes i components de biblioteques més acceptats per a problemes concrets (per exemple, manipulació de dades).
  9. Conèixer les bones pràctiques de programació (tabulació, comentaris, documentació, política de noms, etc.).

Les competències de l'assignatura són:

  1. Capacitat de dissenyar i construir aplicacions informàtiques mitjançant tècniques de desenvolupament, integració i reutilització.
  2. Coneixements bàsics sobre l'ús i la programació dels ordinadors, els sistemes operatius, les bases de dades i els programes informàtics amb aplicació a l'enginyeria.

Continguts

Els continguts de l'assignatura s'han dividit en 5 blocs teòrics:

  1. Disseny descendent.
  2. Estructures de dades bàsiques: Llistes, Piles i Cues.
  3. Recursivitat.
  4. Tècniques d'anàlisi d'algoritmes (complexitat algorítmica i eficiència).
  5. Algoritmes de cerca i classificació (cerca lineal, cerca binària, mètode de la bombolla, ordenació per inserció, ordenació per selecció, etc...).

i 5 blocs pràctics:

  1. Introducció a les eines de programació: Entorn de desenvolupament (IDE), compilador, intèrpret i depurador.
  2. El llenguatge de programació C.
  3. Gestió de la memòria.
  4. Entrada i Sortida.
  5. Implementació d'algoritmes complexes.

Requisits previs

Pots matricular-te de les assignatures d'aquests títols si:

  • Has superat com a mínim una de les assignatures incloses en el títol propi.

Requisits tècnics

Per al seguiment d'aquesta assignatura és necessari disposar d'un ordinador de sobretaula o portàtil amb connexió a internet (per banda ampla, ADSL o cable) i un monitor amb una resolució mínima de 1.024 x 768 píxels. Per a poder consultar alguns materials també pot ser necessari un lector de DVD.

És recomanable que la CPU (sigui d'un ordinador de sobretaula o d'un portàtil) tingui com a mínim 2 GB de memòria RAM i 2 GHz de velocitat de processador.

És necessari un sistema operatiu Windows XP (o superior), Mac OS o Linux*. També es necessita tenir instal·lat un dels navegadors següents: Internet Explorer 9.0 (o superior), Mozilla Firefox o Chrome.

* A causa de la gran varietat de distribucions que hi ha, no especifiquem totes les versions possibles.

Materials

Per al contingut teòric de l'assignatura s'utilitzarà el llibre "Manual d'Algorítmica", escrit per Jesús Bisbal Riera, i que trobareu a la bibliografia de l'assignatura. En aquest llibre trobareu les explicacions teòriques i exemples per als blocs teòrics 1, 3, 4 i 5. Per al bloc 2, s'utilitzarà un document desenvolupat específicament per a aquesta assignatura.

Als recursos de l'aula de laboratori trobareu:

  •  Mòdul 2. Estructures de dades bàsiques: Aquest mòdul correspon a l'annex que conté la informació sobre el mòdul 2 de teoria. També el rebreu a casa en paper.
  •  Guia d'estil de programació en C.
  •  Programari: Dev-C++ i manual d'instal·lació.
  •  Taules de conversió entre llenguatge algorísmic i C.

Professorat

Xavier Baró Solé

Matrícula i preu

Procés de matrícula

Emplena el formulari de matrícula al que podràs accedir des de la part superior de la pàgina.

Accés al campus

Si no recordes les claus d'accés al campus virtual, les pots recuperar des del següent enllaç.

Formes de pagament

El pagament dels cursos es fa amb targeta.

  • TPVV: pagament amb una targeta de crèdit o de dèbit de qualsevol entitat financera, mitjançant el TPVV (terminal de punt de venda virtual) de «la Caixa».

Informació sobre el desistiment de matrícula

Preu

Concepte Preu
Preu del curs 210,00 €

Matrícula oberta

Inici de docència: setembre 2019

Informació de preu i matrícula