Afloresep

My name is Alejandro Flores and I am PhD student in Chemoinformatics at the University of Bern, working with Reymond’s group. In addition to my primary research, I am exploring algorithms, data structures, DevOPS and other fields.

Why doing this?

Actually, there are two questions here:

Why Learn? The main reason for doing this is simple: I like to learn. I have a curious mind. That’s it. However, why dedicate so much time studying computer science subjects instead of philosophy, political science or international relations -fields that I’d really love to explore- is another matter. My background is in Pharamcy, but after spending quite some time in labs, I decided to shift toward the computational side, that I’ve always greatly enjoyed. This means that I need to invest significant time and effort to become a proficient computer scientist within the four years of my PhD program.

Why make it public? I tend to take ~A LOT OF~ notes. I like it. I enjoy documenting, writing, connecting ideas and being able revisit them in the future. The idea of creating my own website to host all these notes has been on my mind for quite some time now. And the PhD journey is an excellent opportunity to do just that. I intend to, after I am done, look back at all the work and notes I’ve taken across various fields and delve into them if I want to. My own personal Wikipedia. How cool is that?. By making it public I encourage myself to keep up with the work and hopefully help others who are on the same path.

Also, someone once told me that in order to think, you have to write. So here’s my attempt.

What can I find on this website?

Coursework

This section tracks the classes I’m currently taking or have completed, both through formal University courses and self-study. I’ll create subpages for individual courses or topics.

  • HS2024-0: Computer Vision
    This course covers fundamental topics in computer vision. The course will provide an introduction to image formation, image processing, feature detection, segmentation, multiple view geometry and 3D reconstruction, motion, object recognition and classification.

    Learning outcome:

    • Understand how cameras capture images of a scene Implement
    • Implement and use:
      • algorithms for image processing such as image filtering and image segmentation
      • algorithms for object detection (such as faces) and recognition
      • algorithms for 3D reconstruction (e.g., from stereo systems) Describe the mathematics underpinning each method and know how to adapt it to new scenarios.
  • HS2024-0: Machine Learning
    According to the course description, this class covers fundamental topics in machine learning and pattern recognition. It provides an introduction to:
    • Supervised learning
    • Unsupervised learning
    • Reinforcement learning

    These topics are explored through a probabilistic framework, with a strong emphasis on optimization techniques throughout the course.

  • Docker Matery: with Kubernetes +Swarm
    This is a comprehensive Udemy course I purchased on how to use Docker, Compose, and Kubernetes on my machine for better software building and testing. The main objectives are:
    • Learn Docker and Kubernetes official tools.
    • Gain the skills to build development environments with the code running in containers.
    • Build Swarm and Kubernetes clusters for server deployments
    • Setup GitHub Actions to auto-build images and scan for security vulnerabilitie
    • Build and publish your own custom images.
    • Create your own custom image registry to store your apps and deploy in corporate environments.
  • HS2024-0: Applied Optimization This course offers an applied introduction, covering a broad range of practically important topics, as for instance:
    • Mathematical modeling of real-world problems
    • Theory of convexity
    • Lagrange dualism
    • Algorithms for unconstrained and constrained optimization with inequalities (e.g. gradient descent, Newton’s method, trust-region methods, active set approaches, interior point methods, …).

    A major goal of the course is to train students in appropriately modelling optimization problems, and identifying suitable optimization algorithms, based on the understanding of their specific strengths and weaknesses. Learning outcome:

    • Understand which classes of optimization problems are easy/hard to solve.
    • Model or re-formulate problems in a way that they become easier (e.g. convex).
    • Understand the fundamental ideas behind unconstrained, constrained and mixed-integer optimization.
    • Implement and use various optimization algorithms (programming exercises are in C++).
    • Understand and tune the parameters and output statistics that are exposed by optimization packages.

Note: All material posted here reflects my own work and thoughts. Naturally, I won’t share any restricted resources or information meant solely for enrolled students.

Portfolio

This section will document any projects I undertake during my PhD or on my own. It serves two main purposes:

  1. To showcase my skills and past experiences to others.
  2. To maintain a personal record or diary of everything I’ve done, allowing me to reflect on my progress, mistakes, and reasoning. Plus, I simply enjoy taking notes, so there’s that too.
  3. The projects will only have an entry once they’re finished or deployed.

Blog Posts

Here, I’ll store subpages with additional insights, updates, or thoughts related to the coursework or projects from my portfolio.

Additional Info