=======Code Reading Club======= |"Nobody would try to become an author without being an active reader. Why should becoming a programmer be different?" | | -- freely adapted from raichoo.| =====Why attend this course?===== "Code is read much more often than it is written", "The ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code [...] Making it easy to read makes it easier to write." - these are just some quotes for you to get an idea of how important reading and readability of code is, especially in industry jobs (see our github for sources). Also, any programmer who has ever worked on a project that consisted of more than some throwaway scripts knows the frustrating situation of spending inordinate amounts of time trying to understand code you or someone else wrote months ago - preferably to fix a bug right before an important deadline. Like any skill, we believe that becoming proficient (and efficient) at reading code can be trained by practice. A more than welcome side effect of reading other people's code is that you get to learn how they think and organize their software, becoming a better programmer on the way - and there are many open source repositories of great coders to learn from out there! =====What we will do===== In this course, we adapt the concept of a //Journal Club// to reading code. Instead of reading a new paper, we will be finding our way around a new code base every week. As a bioinformatics group, our focus is on bioinformatics tools and the language Rust. However, you are welcome to bring projects in other languages or from other fields if you want. Every session will work just like a "normal" journal club: Preparing for the session everyone reads (parts of) the repository and tries to understand it while the "presenter" reads it more in depth and tries to become more of an expert on it than the others. In the actual session, we will develop an understanding of the code base together as well as re-read those parts of the code that we did not quite understand or that are simply critical/interesting/cool. =====Who this is for===== If you're thinking of attending this course, most likely you have all that is needed. If you familiarize yourself with the [[https://rust-book.cs.brown.edu/ | basics of Rust]] (~ until Chapter 4) and have done at least done some bigger project in any language (experience from "Grundlagen des Softwareengineering" or equivalent is probably enough here), you should be fine :) This course is for motivated beginners as well as more experienced programmers, who just want to start reading more code instead of telling themselves that they will get to it eventually. Incidentally, this is also how the idea for this course emerged. ===== Organizational Stuff ===== Github: TBA Schedule: | **Date** | **Topic** | | 05.01.2026 | Choosing Topics | | 12.01.2026 | | | 19.01.2026 | | | 26.01.2026 | | | 02.02.2026 | | | 09.02.2026 | | =====Topics===== | **Tool** | **Repository** | **Paper(s)** | **Presenting** | | MICE | https://github.com/gi-bielefeld/mice | TBA | TBA | | ggcat | https://github.com/algbio/ggcat | TBA | TBA | | KFC | https://github.com/lrobidou/KFC | TBA | TBA |