User Tag List

Página 11 de 11 PrimerPrimer ... 7891011
Resultados 151 al 160 de 160

Tema: Ayuda con problemilla básico de Arrays JAVA (SPOILER: Soy muy malo)

  1. #151

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    5,980
    Mencionado
    161 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,728
    Agradecer Thanks Received 
    2,179
    Thanked in
    Agradecido 1,208 veces en [ARG:2 UNDEFINED] posts
    En principio la implementación es libre mientras se respete el modelo y funcione como es debido, en la práctica en estos casos hemos utilizado monitores que gestionan el resto de hilos, una baliza en un parking, el típico problema del puente de Duero... Por el enunciado interpreto que cada persona es un hilo y que el circuito controla el acceso de estos, la sala de espera será una cola con capacidad máxima. Lo más parecido que he hecho creo que es esto para el ejercicio del puente de Duero (que ya me parece un pooto milagro para el nivel que tenemos):

    Spoiler: Ver

    Código:
    package ud4ejerProp3spl;
    
    import java.util.Random;
    
    /**
     *
     * @author SPL
     */
    public class Coche extends Thread{
        private final int IZQ = 0;
        private final int DER = 1;
        private int sentido;
        private static int  n = 0;
        Monitor monitor;
        private int id;
        
        
        public Coche(Monitor monitor){
            n++;
            id = n;
            this.monitor = monitor;
        }
        
        @Override
        public void run(){
            try {
                sleep((long) ((new Random()).nextInt(80000)));
                this.sentido = (new Random()).nextInt(2); //0 o 1
                if (sentido==IZQ) {
                    puenteporlaIzq();
                }else if (sentido==DER) {
                    puenteporlaDer();
                }else{
                    System.out.println("Error, el coche se ha generado en un sentido no válido");
                }
            } catch (InterruptedException e) {
                System.out.println("Error "+e);
            }
        }
        private void puenteporlaIzq(){
            try {
                monitor.llegacocheIzq(id);
                monitor.pasacocheIzq(id);
                sleep(100);
                monitor.salecocheIzq(id);
            } catch (InterruptedException e) {
                System.out.println("Error " + e);
            }
        }
        private void puenteporlaDer(){
            try {
                monitor.llegacocheDer(id);
                monitor.pasacocheDer(id);
                sleep(100);
                monitor.salecocheDer(id);
            } catch (InterruptedException e) {
                System.out.println("Error " + e);
            }
        }
    }
    Código:
    package ud4ejerProp3spl;
    
    import javax.imageio.IIOImage;
    
    /**
     *
     * @author SPL
     */
    public class Monitor {
        private final int DER=1;
        private final int IZQ=0;
        private final int NONE=-1;
        private final int MAXSEGUIDOS =1;
        private final int CAPACIDAD = 1;
        
        private int colaCochesIzq;
        private int colaCochesDer;
        private int cochesPuenteIzq;
        private int cochesPuenteDer;
        
        int turno;
        int seguidos;
        int ocupacion;
        Monitor monIzq;
        Monitor monDer;
        
        
        public Monitor(){
            colaCochesDer = colaCochesIzq = 0;
            cochesPuenteDer = cochesPuenteIzq = 0;
            turno = NONE;
            seguidos = 0;
            ocupacion = 0;
        }
        //constructor parametrizado II
        public Monitor(Monitor izq,Monitor der){
            this();
            this.monDer = der;
            this.monIzq = izq;
        }
        
        public synchronized void llegacocheIzq(int id){
            System.out.println("El coche "+id+" llega a la cola (izquierda)");
            colaCochesIzq++;
        }
        public synchronized void llegacocheDer(int id){
            System.out.println("El coche "+id+" llega a la cola (derecha)");
            colaCochesDer++;
        }
        public synchronized void salecocheIzq(int id){
            System.out.println("El coche "+id+" sale del puente (izquierda)");
            boolean ultimo = false;
            cochesPuenteIzq--;
            ocupacion--;
            if (ocupacion==0) {
                ultimo = true;
            }
            if (cochesPuenteIzq==0) {
                if (cochesPuenteDer > 0) {
                    turno = DER;
                }else{
                    turno= NONE;
                  
                }
                if(seguidos==MAXSEGUIDOS){
                    seguidos=0;
                }
            }
            if ((turno==IZQ || turno==NONE) && seguidos<MAXSEGUIDOS && !ultimo && ocupacion < CAPACIDAD){
                despertarIzq();
            }else if (ultimo && turno==DER) {
                despertarDer();
            }
        }
        public synchronized void salecocheDer(int id){
            System.out.println("El coche "+id+" sale del puente (derecha)");
            boolean ultimo = false;
            cochesPuenteDer--;
            ocupacion--;
            if (ocupacion==0) {
                ultimo = true;
            }
            if (cochesPuenteDer==0) {
                if (cochesPuenteIzq > 0) {
                    turno = IZQ;
                }else{
                    turno= NONE;
                  
                }
                if(seguidos==MAXSEGUIDOS){
                    seguidos=0;
                }
            }
            if ((turno==DER || turno==NONE) && seguidos<MAXSEGUIDOS && !ultimo && ocupacion < CAPACIDAD){
                despertarDer();
            }else if (ultimo && turno==IZQ) {
                despertarIzq();
            }
        }
        private synchronized void despertarDer(){
            try {
                this.monDer.notify();
            } catch (Exception e) {
            }
        }
        private synchronized void despertarIzq(){
            try {
                this.monIzq.notify();
            } catch (Exception e) {
            }
        }
        public synchronized void pasacocheIzq(int id){
            try {
                if (turno == DER || seguidos >= MAXSEGUIDOS || ocupacion >= CAPACIDAD) {
                    monIzq.wait();
                }
                turno = IZQ;
                System.out.println("El coche " +id+ " está cruzando el puente (izquierda)");
                cochesPuenteIzq++;
                ocupacion++;
                System.out.println("Ocupación del puente: " + ocupacion + "/" +CAPACIDAD);
                
                colaCochesIzq--; //se quita de la cola
                if (colaCochesDer>0) {
                    seguidos++;
                }
                System.out.println("Coches seguidos mientras en DERECHA esperan: " +seguidos+ "/" + MAXSEGUIDOS);
            } catch (InterruptedException e) {
                System.out.println("Error" + e);
            }catch (IllegalMonitorStateException e){
                
            }
        }
        public  synchronized void pasacocheDer(int id){
            try {
                if (turno == IZQ || seguidos >= MAXSEGUIDOS || ocupacion >= CAPACIDAD) {
                    monDer.wait();
                }
                turno = DER;
                System.out.println("El coche " +id+ " está cruzando el puente (derecha)");
                cochesPuenteDer++;
                ocupacion++;
                System.out.println("Ocupación del puente: " + ocupacion + "/" +CAPACIDAD);
                
                colaCochesDer--; //se quita de la cola
                if (colaCochesIzq>0) {
                    seguidos++;
                }
                System.out.println("Coches seguidos mientras en IZQUIERDA esperan: " +seguidos+ "/" + MAXSEGUIDOS);
            } catch (InterruptedException e) {
                System.out.println("Error" + e);
            }catch (IllegalMonitorStateException e){
                
            }
        }
    }
    Código:
    package ud4ejerProp3spl;
    
    /**
     *
     * @author SPL
     */
    public class UD4EjerProp32SPL {
        static int numcoches = 10;
    
        public static void main(String[] args) {
    
            Monitor auxIzq = new Monitor();
            Monitor auxDer = new Monitor();
            Monitor puente = new Monitor(auxIzq,auxDer);
            
            Coche aux;
            
            for (int i = 0; i < numcoches; i++) {
                aux = new Coche(puente);
                aux.start();
            }
        }
    
    }


    A la gente con experiencia, os parece algo sencillo para un (unos) estudiante/s novatillo/s? Sed sinceros, no va a doler.
    Última edición por selecter25; 21/11/2022 a las 22:00

  2. #152

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    6,956
    Mencionado
    44 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,429
    Agradecer Thanks Received 
    1,501
    Thanked in
    Agradecido 1,018 veces en [ARG:2 UNDEFINED] posts
    Si, mas o menos estaba pensando eso, un proceso para cada persona. Ademas necesitaras de un proceso extra que se encargue de mirar de si hay suficientes clientes de un tipo (niño o adulto) y ahora los karts estan ocupados, "bloquear" a nuevos pilotos hasta que la pista quede libre y entonces metes a un cliente del otro grupo, para que niños o adultos no se queden esperando siempre. Vamos, un proceso para controlar quien accede a la pista.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

  3. #153

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,024
    Mencionado
    89 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    292
    Agradecer Thanks Received 
    1,570
    Thanked in
    Agradecido 812 veces en [ARG:2 UNDEFINED] posts
    Bue, es un ejercicio interesantísimo y también difícil hacerlo bien. ¡Mucho ánimo!

    Para que veas lo interesante que es, lo que te piden es que implementes RabbitMQ o similar (kafka, redis, zeromq...), un broker de mensajes que está en el corazón de la computación distribuida. Es decir, en el futuro no programarás este sistema desde cero, sino que usarás RabbitMQ o similar.
    "Todo es absolutamente falso, salvo alguna cosa"

  4. Los siguientes 2 usuarios agradecen a juanvvc este post:

    selecter25 (21/11/2022), swapd0 (21/11/2022)

  5. #154

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    5,980
    Mencionado
    161 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,728
    Agradecer Thanks Received 
    2,179
    Thanked in
    Agradecido 1,208 veces en [ARG:2 UNDEFINED] posts
    Exacto, de hecho la asignatura justo entra ahora en eso, cliente-servidor con sockets y luego veremos REST, parece que se pone interesante la asignatura, a la par que complicada.

    El problema es que veremos todo en multihilo y si arrastramos carencias en lo que se supone que es la base de concurrencia, nos las vamos a ver canutas. A ver si saco algo de tiempo y le meto horas extras por otros lares, pero quedan prácticamente 3 meses de curso y esta asignatura la veo negra.

    El resto va bien, en Acceso a Datos hemos vuelto a hacer CRUD pero en BDD orientadas a objetos (Oracle y ObjectDB), creo que lo que queda es pan comido. Diseño de Interfaces estamos haciendo editores de texto con Forms y C#(no hemos salido de ahí ), Programación Multimedia y Dispositivos Móviles hemos pasado a usar Navigation y movernos entre Fragments, mucho más cómodo que andar usando Actitivies. SGE es básicamente buscar características de ERPs y CRMs en Google.

  6. #155

    Fecha de ingreso
    Sep 2005
    Mensajes
    14,155
    Mencionado
    230 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    468
    Agradecer Thanks Received 
    1,504
    Thanked in
    Agradecido 1,005 veces en [ARG:2 UNDEFINED] posts
    Creo que ya te lo comenté, pero tras años trabajando en Fenix y BennuGD, donde todo son procesos, aún hoy cometo errores con la programación concurrente en .NET, y hace cosa de un mes y pico tuve que lidiar con un error de diseño que me llevaba a un interbloqueo muy chungo (para los que no lo sepan, es cuando un proceso 1 ejecuta un código que necesita datos de un proceso 2, pero al ejecutar el proceso 2 necesita que antes le devuelva un dato el proceso 1: ambos quedan a la espera y ninguno se ejecuta).

    Lo bueno de Fenix y BennuGD es que todos los procesos quedan perfectamente sincronizados, siempre, y que no tienes que trabajar con señales (bueno, esto es más una desventaja, pero te simplifica mucho los problemas, y en colaboración con el punto anterior, hay formas de suplir el envío de mensajes).
    Pero lo dicho, todo el tema de concurrencia lo he visto a nivel teórico, y en Teleco no te enseñan los algoritmos típicos que se enseñan en informática (entre otras cosas, porque los procesos y señales que tratábamos nosotros no eran sólo para C o Java, sino también para HW puro y duro, microcontroladores enviando señales a otros microcontroladores, o partes de un CI mandando señales a otros bloques). Lo que vengo a decir es que sí, es un tema muy complicado, que requiere una disciplina mental muy fuerte, una abstracción de los objetos, y un cambio de la forma de pensar que, en mi experiencia (ya es cuestión de si te fías de ella o no), la mayoría no es capaz de hacer.

    Por lo que sí, esos problemas es normal tenerlos. Sí, es muy complicado, a todos los niveles. Y sí, ese programa es muy complejo, y está hecho para ver quién ha conseguido asimilar a la perfección todos los conceptos y es capaz de llevarlos a la práctica. Si eres capaz de hacerlo, enhorabuena, has conseguido superar a muchos alumnos de 4º de carrera, y quizás de 5º (o al menos, yo he conocido gente de esos cursos a los que el tema de semáforos se les ha atragantado, o le han dado al reset tan pronto han aprobado la asignatura).

    Y como ya he escrito un chorizo, y no me las quiero dar de entendido (porque en el tema de procesos soy autodidacta), no te voy a proponer ningún esquema concreto. Reconozco que prefiero el sistema de "un proceso para controlarlos a todos" al de un "sistema colaborativo" o de "competición" (son los propios procesos los que se autorregulan), y es en torno a lo que gira mi motor de scroll tileado... pero seguro que habrá unos sistemas mejores que otros según tu situación.
    ...Aunque no me puedo resistir a apoyar lo que dice Swapd0: un proceso controlador, y luego los procesos independientes que cambian de estado solos, y se lo notifican mediante señales al controlador para que actúe en consecuencia. Y como chapuza (por favor, no lo hagas ), un proceso llamado "watchdog", que cuando detecta que el sistema se ha quedado estancado en un estado, interviene para desatascarlo (ocupando un sitio libre, o sacando de la pista a un niño que no se quiere salir pese a llevar 3 horas dando vueltas y que ya ha vomitado en tres de las protecciones del circuito).
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  7. El siguiente usuario agradece a Drumpi este mensaje:

    selecter25 (22/11/2022)

  8. #156

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    5,980
    Mencionado
    161 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,728
    Agradecer Thanks Received 
    2,179
    Thanked in
    Agradecido 1,208 veces en [ARG:2 UNDEFINED] posts
    Para nada, biblias así son bienvenidas y cualquier aporte o feedback que reciba de gente como vosotros es oro, gracias a todos.
    Tocará meterle algo de caña por mi cuenta entonces, no es que me queje de los ejercicios en sí, sino del poco contenido didáctico que hemos tenido para afrontarlos, prácticamente hemos visto clases que implementan Runnable/Thread, métodos sincronizados y poco más (a un nivel muy básico), de ahí hemos saltado a ejemplos de ejercicios resueltos con semáforos, buffers, monitores y luego este tipo de ejercicios más complejos que han acabado por estallarme la cabeza. A todo esto es un CFGS semipresencial, por lo que no recibo ningún tipo de clase (las tutorías son presenciales y el centro está a 20Km, tengo vida, trabajo, otras asignaturas...).

    Y luego el caso es que no es este ejercicio solo, hay 5 más para resolver del mismo tipo, y de momento solo he logrado hacer 2. Seguiremos mejorando.

    Nada nada Drumpi, no se nos permite utilizar ningún proceso "Watchdog", eso es como darle el golpe a la máquina de pinball . En uno de los problemas que hicimos (5 filósofos que comían en una mesa y compartían palillos) se podían producir interbloqueos si todos los filósofos cogían el palillo de la izquierda a la vez, y había que solucionarlo a mano, forzando que los filósofos con "id" par cogiesen el de la derecha.

  9. #157

    Fecha de ingreso
    Sep 2005
    Mensajes
    14,155
    Mencionado
    230 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    468
    Agradecer Thanks Received 
    1,504
    Thanked in
    Agradecido 1,005 veces en [ARG:2 UNDEFINED] posts
    ¿Ves tú? el problema de los filósofos sí que nos lo plantearon en clase... pero jamás nos dieron una solución, o al menos LA solución. Nos comentaron por encima algunas posibles soluciones pero jamás llegamos a implementarlo. El caso es que me figuraba que no te dejarían "perrito guardián", por eso lo he planteado como una coña (si todo está bien sincronizado, no hace falta, claro)... pero en el contexto nuestro, los DSP, especialmente los dirigidos a sistemas en tiempo real, lo incorporan por HW (o al menos, lo incorporaban, no sé si ya han cambiado esos chips por Raspberri Pi Zero ).

    Lo único que puedo hacer ahora es darte apoyo moral, que creo que te hace falta, y plantear teóricamente alguna solución, porque como digo, el tema de semáforos y demás lo veíamos escrito en las diapositivas, jamás lo implementamos mediante teclado (y encima creo que era pseudo-código simulando C), y en C# no me han explicado más allá del async-await... y aún tengo problemas para entender por qué a veces sí que un proceso espera la respuesta del anterior y otras no.

    De todas formas, lo dicho, BennuGD trabaja de esa forma, aunque mucho más simplificado, y entender el tema de procesos te ayudará a entender el sistema de Unity, y cómo programar los distintos objetos, teniendo en cuenta este comportamiento concurrente.
    Es curioso, a la gente le cuesta entender el concepto de proceso y cómo trabajar con eso, y sin embargo, en Unity no tienen problemas y trabajan con procesos, señales, lo coordinan todo... La potencia de la percepción humana es fascinante
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  10. #158

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    5,980
    Mencionado
    161 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,728
    Agradecer Thanks Received 
    2,179
    Thanked in
    Agradecido 1,208 veces en [ARG:2 UNDEFINED] posts
    Finalmente hay desenlace "semifeliz", pamicos. Ayer empecé los exámenes (Inglés Técnico, un trámite) y los compañeros de ciclo me comentaron que los ejercicios infernales que comenté de Programación de Procesos y Servicios los dejó como opcionales para subir nota, ya que el mismo profesor (sustituto) consideró que era una fumada supina.

    Teniendo en cuenta que hay mucha gente que no entregó nada, al final conseguí hacer 3 de ellos, por lo que imagino que tendré alguna recompensa.

    Del resto de asignaturas, Acceso a Datos no hace examen, la nota son las prácticas que ya hemos hecho, lo mismo Sistemas de Gestión Empresarial. Empresa e Iniciativa Emprendedora la convalido, así que me quedan 3 exámenes, Desarrollo de Interfaces (el único práctico) y las dos asignaturas de Programación, Multimedia/Móviles y Procesos/Servicios.

    Ahora que quedan como 3 meses para acabar, me estoy planteando seriamente pedir excedencia en el curro y hacer las prácticas, aunque sea en cárnica cuencoarrocista, pillar título, seguir formándome y... quién sabe? Quizás salir de mi zona de confort a nivel laboral me venga bien.

  11. #159

    Fecha de ingreso
    Sep 2005
    Mensajes
    14,155
    Mencionado
    230 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    468
    Agradecer Thanks Received 
    1,504
    Thanked in
    Agradecido 1,005 veces en [ARG:2 UNDEFINED] posts
    ¿No me digas que, después de tanto trabajo, vas a aprobar la de programación igual que yo "legislación" en el instituto, o "métodos numéricos" en la carrera: cambiando de profesor?

    Pues me semi-alegro por ti. Espero que puedas aprobarlas todas con nota, así que no te descentres.
    Respecto a dejar el trabajo para hacer las prácticas, eso ya depende de tí y de dónde te metan. Los cursos que yo hice, las prácticas eran obligatorias, y no llevaron mucho tiempo... y acabé trabajando en la empresa, aunque eso sí, no empecé con nada de lo que me habían enseñado (era testeo de manuales de despliegues). Seguramente te pase lo mismo, por una razón u otra, terminarás haciendo algo distinto y empezando de cero (bueno, nunca empiezas de cero, los conocimientos que tienes al final los aplicas de forma indirecta).

    Lo de salir de la zona de confort... no lo veo. A ver, soy el primero que opina que, si trabajas haciendo tu hobby, tu hobby se convierte en trabajo (y para muestra, que llevo desde que saqué la última versión del Echo sin tocar código propio, ya por cansancio mental). Pero también que si no te gusta lo que haces, no tienes motivación para trabajar (ni para sacarte la carrera, así que nunca hagas una carrera "porque es donde hay trabajo").

    Yo he preferido mantenerme en las empresas sobre seguro, porque se me da muy mal estar saltando de proyecto en proyecto y de empresa en empresa, y es en lo que se basan las "cárnicas", en la renovación continua de estudiantes por quemar. A partir de ahí, es tu decisión.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  12. El siguiente usuario agradece a Drumpi este mensaje:

    selecter25 (29/11/2022)

  13. #160

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    5,980
    Mencionado
    161 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,728
    Agradecer Thanks Received 
    2,179
    Thanked in
    Agradecido 1,208 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Drumpi Ver mensaje
    ¿No me digas que, después de tanto trabajo, vas a aprobar la de programación igual que yo "legislación" en el instituto, o "métodos numéricos" en la carrera: cambiando de profesor?

    Pues me semi-alegro por ti. Espero que puedas aprobarlas todas con nota, así que no te descentres.
    Respecto a dejar el trabajo para hacer las prácticas, eso ya depende de tí y de dónde te metan. Los cursos que yo hice, las prácticas eran obligatorias, y no llevaron mucho tiempo... y acabé trabajando en la empresa, aunque eso sí, no empecé con nada de lo que me habían enseñado (era testeo de manuales de despliegues). Seguramente te pase lo mismo, por una razón u otra, terminarás haciendo algo distinto y empezando de cero (bueno, nunca empiezas de cero, los conocimientos que tienes al final los aplicas de forma indirecta).

    Lo de salir de la zona de confort... no lo veo. A ver, soy el primero que opina que, si trabajas haciendo tu hobby, tu hobby se convierte en trabajo (y para muestra, que llevo desde que saqué la última versión del Echo sin tocar código propio, ya por cansancio mental). Pero también que si no te gusta lo que haces, no tienes motivación para trabajar (ni para sacarte la carrera, así que nunca hagas una carrera "porque es donde hay trabajo").

    Yo he preferido mantenerme en las empresas sobre seguro, porque se me da muy mal estar saltando de proyecto en proyecto y de empresa en empresa, y es en lo que se basan las "cárnicas", en la renovación continua de estudiantes por quemar. A partir de ahí, es tu decisión.
    No me expliqué bien del todo. El profesor que tenemos desde un principio es sustituto, y el material que maneja es de la profesora ausente. No se apaña muy bien con la plataforma, por lo que iba un poco perdido y digamos que puso el piloto automático. Imagino que varios compañeros le comentarían en las tutorías la dificultad de la última práctica, la revisó y vio lo que os comenté, que no se correspondía con el nivel de la teoría que recibimos, por lo que las ha dejado como opcionales.

    Sí claro, las prácticas en empresa son obligatorias como en cualquier FP, no es curso ni bootcamp, es Ciclo Formativo de Grado Superior y aquí tienes que hacer prácticas y TFG para aprobar, de hecho si lo saco me convalidarían 60 créditos de Ingeniería Informática (1/4 parte de la carrera), concretamente estos:

    - Laboratorio de informática.
    - Redes de computadores.
    - Sistemas operativos.
    - Bases de datos.
    - Programación audiovisual avanzada.
    - Ingeniería de software.
    - Fundamentos de administración y organización de empresas.
    - Programación orientada a objetos.
    - Fundamentos de programación I.
    - Aplicaciones para dispositivos móviles.
    - Desarrollo de aplicaciones distribuidas I.

    A lo que me refiero es que me estoy planteando si hacer las prácticas (seguramente en consultora NTT Data, que el centro tiene acuerdo, pillo cuenco de arroz) e intentar cambiar de aires, o simplemente que me las firmen en mi curro y seguir con mi vida actual de traductor.

    En mi curro también podría intentar hacerlas de verdad (tienen consultoría IT), pero seguramente acabe haciendo eso + mi trabajo actual, los proyectos son caca y la posibilidad de promoción es 0, por lo que no me llama nada.
    Última edición por selecter25; 29/11/2022 a las 23:12

Página 11 de 11 PrimerPrimer ... 7891011

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •