Aprender a programar - Recomendaciones

Estoy dandole vueltas al proyecto de fin de curso, voy a hacer un software para ver tu jornada laboral en un calendario, poder pedir dias libres e intercambiar dias con otros trabajadores pero enfocado al sector medico.. lo que viene siendo un Rota Management Software).

Como quiero que sea una aplicacion universal y pueda convertirla a iOS / Android / PC / Mac facilmente he pensado en programarla en Delphi, que parece ser que es super sencillo, y una vez que programas el software lo puedes exportar a todas las plataformas con un click.

Alguno ha usado Delphi en el pasado?
 
Ya llevo 1 mes y algo con el proyecto de fin de curso, al final decidi usar Java con JavaFX y SceneBuilder.

Esta muchisimo mas orientado hacia Product / Project Management que a teclear codigo, lo que me parece bastante interesante.

Estoy haciendo Sprints de 1 semana con diferentes tareas en cada Sprint para llegar al lanzamiento del software el 24 de Abril. Tengo presentacion del proyecto en clase, demostrando que funciona todo lo que tiene que funcionar y entrego todo el 27 de Abril.

De momento, en los tres documentos que he tenido que entregar (con nota), llevo una media de 9 sobre 10! 😊.

Por otro lado.. ayer tuve una entrevista para un trabajo freelance de UX designer de una aplicacion web y resulta que lo que estan buscando es una mezcla de desarrollador front y back end junto con un UX designer.. y Product Manager! Quieren lanzar el producto al mercado a finales de Junio.

Todo eso por 400€ / dia trabajado.

Me han semiofrecido el trabajo pero no tengo muy claro si estoy capacitado para hacer el desarrollo de una aplicacion web entera (aunque sea sencilla), el usuario de la web hace una consulta, la web tiene diferentes llamadas a diferentes API de chatGPT y Bard y crea un documento a traves de las respuestas de las AI que se presenta al usuario.

Si lo acepto, voy a programarla con React, que estuve jugando con React Studio para mi proyecto de final de curso y me parece una manera muy sencilla de crear aplicaciones web.

Tambien tengo una duda, como hago una estimacion de lo que me llevaria crear la aplicacion y le digo al cliente: Esto son X dias.. teniendo en cuenta que voy a tener que hacer todo el desarrollo del producto desde el principio, incluyendo analisis de competidores, etc, etc.

Un saludo!
 
.Tambien tengo una duda, como hago una estimacion de lo que me llevaria crear la aplicacion y le digo al cliente: Esto son X dias.. teniendo en cuenta que voy a tener que hacer todo el desarrollo del producto desde el principio, incluyendo analisis de competidores, etc, etc.
Con la experiencia, no queda otra. Si te pasas de frenada, serás más caro que el resto y corres el peligro de perder el proyecto. Si por contra te quedas corto, perderás o harás perder dinero.
 
Ayer termine mi proyecto de fin de curso, una aplicacion con la que puedes manejar el calendario de un grupo de personas en un hospital o clinica.

Despues de mucho pensar, decidi crearlo en Java con JavaFX por dos razones:
1) Queria dar el paso a crear una aplicacion con un GUI en Java.
2) No tenia muchas ganas de ponerme con React, etc para hacer una aplicacion web.

El desarrollo del proyecto me ha parecido tremendamente interesante y sobre todo muy dificil, por el hecho de no haber estudiado ningun tipo de framework en Java que utilice una interfaz de usuario.
Pero como esa era una de las partes del proyecto, aprender, he seguido adelante y he entregado una aplicacion en la que el usuario puede interactuar con la pantalla, hay conexiones a una base de datos y puedes pedir vacaciones o dias libres.

Como curiosidad, he sido el unico de mi clase que ha desarrollado un programa en Java, el resto han hecho los suyos en Javascript con algunos componentes de React (cosas que tampoco hemos estudiado pero hay tutoriales de sobra en Internet).

Cosas que mas me han costado:
1) La conexion a la base de datos desde el IDE. Como use IntelliJIdea Community Edition, parece ser que la navegacion a la base de datos no es automatica y me costo UN MONTON descubrir que tenia que bajarme un plugin llamado DB Navigator e incluir la base de datos.
Una vez que la meti en el proyecto todo funciono perfectamente, y lo mejor de todo es que puedes interactuar con la base de datos directamente desde IntelliJ!
2) El calendario. Por alguna razon no hay un objeto "Calendario" en JavaFX, asi que me tuve que inventar uno en el que apareciese el nombre del usuario que ha entrado en el programa junto con las tareas del dia y los espacios donde tiene que trabajar.

- Pagina de entrada.
1714288419754.png


- Pagina de registro de usuario.

Screenshot 2024-04-27 235837.png


- Dashboard.
Idealmente me habria encantado que el calendario fuese tipo GoogleCalendar.. pero no sabia como hacerlo :D.
Intente llamar a la API de GoogleCalendar pero la documentacion me dejo con mas dudas que soluciones.
Tambien encontre una libreria con un calendario que era perfecto (CalendarFX CalendarFX Developer Manual) pero, de nuevo, no tenia ni idea como integrarlo en el proyecto porque habia que modificar el pom y no estaba muy bien escrito que modificar y que no. Si alguno sabe como hacerlo.. soy todo oidos :D.

Igual tocando el .fxml podria hacer que la tableview se comportase de manera parecida, pero con el tiempo limitado que tenia era impensable.

1714288344574.png


La estructura del proyecto.
1714288227063.png


Al final me quedo con todo lo aprendido. Hace dos años no habria ni siquiera soñado que podria hacer una cosa asi. Querer es poder! :).
 
Comienzo a finales de Septiembre el postgrado en science in data analytics

Este es el resumen del curso:

The course is designed to accommodate those with specific interests in data analytics, whether that may be of a more technically focused or a more business focused nature. All learners will also gain exposure to pertinent legal issues and ethical issues associated with the data analytics field.

Students will gain exposure to product commercialisation issues associated with data analytics. The course is delivered by faculty and practitioners using academic research, industry defined practical problems, and case studies.

Students undertaking this course will be exposed to a variety of programming languages/tools that may include R, Python, SPSS, Excel, Weka and RapidMiner.


Semester 1*

  • Statistics and Optimisation
  • Analytics Programming and Data Visualisation
  • Data Governance, Ethics and Sustainability
  • Career Bridge
Semester 2*

  • Data mining and Machine Learning
  • Business Intelligence and Business Analytics
Semester 3*

  • Deep Learning and Generative AI
  • Modelling and Simulation - Elective Module
  • Data Intensive Scalable Systems - Elective Module
  • Domain Applications - Elective Module

Si quiero completarlo como Masters, 30 creditos mas y una disertacion (ya veremos...)

Que opinais, genios del foro?
 
Ya me han dado el horario con todas las asignaturas del primer semestre.
Aparte de las de arriba tengo:
- Bootcamp de Python.
- Bootcamp de R.
- Technical Writing (Quiero pensar que va a ser la creacion de informes, tablas, etc para analizarlos y presentarlos. Con un poco de suerte nos enseñan Power Bi!)
- Bases de datos (nuevamente!!! Me encantan) Espero que profundicemos mas en SQL.
- Business Intelligence & Business Analytics
- Deep Learning and Generative AI

Voy a tener que dejar el trabajo para poder estudiar 🙄😆
 
Última edición:
Arriba Pie