My story (why I went for a PhD)
Let's start with the fact that in my opinion, in 99% cases, going for a PhD is a waste of time. First of all, the courses offered there do very little to expand what we should already know with a master's degree. Secondly, the scholarship (which is paid to everyone) is not even enough to rent a studio apartment (at least in 2019-2024 in Wrocław it was). This forces PhD students to take up full-time work in the private sector or to live on the support of their parents for another 4 years (or maybe even more). Thirdly, the PhD degree itself does not give us anything, apart from the fact that we can find employment at universities for the minimum wage.
Okay, now that you know that I think this is nonsense, I'll tell you why I decided to do it. Let's start this story from the beginning. When I was in high school, the Faculty of Fundamental Problems of Technology at the Wrocław University of Science and Technology organized activities to encourage students. Since I was in the mat-inf class, our class was chosen for this activity. Throughout the semester, once a week we were told about computer science and agitated about the superiority of WPPT over other departments teaching computer science. I was incredibly lucky to draw it then Professor Jacek Cichoń. The professor talked to us about algorithms in an incredibly interesting way, showing us some simple problems and their various solutions. Some were so slow that we would never get the result, others were so fast that the result appeared on the laptop screen in less than a second. After the first class, I knew that I wanted to study algorithmic computing at WPPT. I knew it wouldn't be easy. In high school, they taught me how to program in C (programming itself was taught very poorly) and how to implement several well-known algorithms. I knew it wasn't enough. I learned programming in C and C++ on my own and explored algorithms and data structures by reading "Introduction dabout algorithms.
The studies went very well, it was difficult at times, but you could easily pass. I had a lot of fun learning new things. Interestingly, it turned out that the programming skills I had acquired were sufficient to easily complete all C/C++/JAVA tasks during the first two semesters. Because programming courses focused on things I already knew, I made the task lists more difficult by implementing better algorithms and further optimizations so that the program ran faster than the instructor predicted in the task. My lecturer on the basics of object-oriented programming – doctor Wojciech Macyna seeing my interest in playing with algorithms and programming, he invited me to research indexing databases on SSD drives. Throughout the semester, we were trying to figure out how to create a good data structure that would take advantage of the potential of SSDs. In the end, we did it, we successfully completed the research by designing the FA-Tree structure (along with its implementation in C, which I rewrote during my PhD into C++). I liked conducting scientific research so much that I already knew that I wanted to complete third-cycle studies.
And that's it, that's my whole PhD story. Would I choose this path again? It's hard to say, time will tell whether the PhD will be useful for something.
My scientific interests
Flash-aware Clustered Index for Mobile Databases
Partial Indexing on Flash Memory
Flash-Aware Storage of the Column Oriented Databases
Bulk Loading of the Secondary Index in LSM-Based Stores for Flash Memory
Multi-core Adaptive Merging of the Secondary Index for LSM-Based Stores
Adaptive merging on phase change memory
My classes
As a student of a doctoral school, and later as a teaching and research assistant, I conducted laboratories in the following subjects:
- Object-oriented programming (C++/JAVA)
- Computer Architecture (C)
- Concurrent programming (C/ADA/GO)
If you have ever studied computer science or related fields at PWR, you know that laboratories usually involve handing in lists of tasks you have prepared at home. I consider it a completely wasted potential of these classes, after all, the laboratories should expand the lecture with another portion of knowledge, this time PRACTICAL. For this reason, in my laboratories, apart from handing in lists, we always tried to learn something new, often these were programming elements needed in the process of getting a job, required by corporations during recruitment interviews.
I won't write here what exactly I taught during the labs, if you want to learn something, visit my website blog, where I gradually add new courses (courses are unlocked after creating the entire course).
Below is a copy copied from polwro opinions about my classes: