
Über uns
This group is for individuals who are passionate about learning and self-teaching computer science.
I have recently started a job that requires programming. Being completely self-taught, there are many topics in computer science that I have never studied. As I believe in the power of knowing-what-you-do and learning things deeply, I want to understand computer science better.
While searching for resources, I found this very nice guide: https://teachyourselfcs.com/
The idea of this group is to study most of the materials suggested in this guide together, in order, every week. I think that the materials covered in the course of our meetings would roughly correspond to a (good chunk of a) Bachelor's degree in CS.
Contents and books:
- Programming - DeNero: Composing Programs
- Computer Architecture - Bryant and O'Hallaron: Computer Systems: A Programmer's Perspective
- Algorithms and Data Structures - Skiena: The Algorithm Design Manual
- Operating Systems - Arpaci-Dusseau^2: Operating Systems: Three Easy Pieces
- Computer Networking - Kurose, Ross: Computer Networking: A Top-Down Approach
- Languages and Compilers - Nystrom: Crafting Interpreters
- Distributed Systems - Kleppmann: Designing Data-Intensive Applications
NOTE: It is not strictly required but extremely helpful to have at least some prior experience with programming. This is not a "Learn Python from Scratch" group, but the focus will more be on learning more deeply how computers, algorithms, etc., work. That being said, I myself am not a very experience programmer, but I am willing to put in the work to close the gaps if necessary.
Bevorstehende Events (1)
Alles ansehen- TYCS - Programming - 1.1 Getting Started, 1.2 Elements of ProgrammingLink für Teilnehmer sichtbar
Let's Teach Ourselves Computer Science - Programming!
We will follow John DeNero's book "Composing Programs" (NOT the one on the picture, that's just a stock photo).You can find it for free here: https://www.composingprograms.com/
The book is in the tradition of "The Structure and Interpretation of Computer Programs" (SICP), but uses Python instead of Scheme. It tries to teach "deeper" programming principles and wants you to understand them more fully. There is a strong focus on functional programming, a less well-known programming paradigm than, e.g. procedural or object-oriented programming.
For this session, please read Chapters 1.1 (Getting Started) and 1.2 (Elements of Programming) before the meeting. We will then discuss any questions we have about the content of these sections.
From what it appears to me, the book starts slow but gets into interesting territory quickly, so be patient if this seems not that interesting yet!
If you like video lectures: John DeNero has put many (all?) of his lectures online, even though they are a bit unorganised: https://www.youtube.com/@JohnDeNero/playlists