Best of Computer ScienceAugust 2024

  1. 1
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    Learn About Operating Systems In-Depth

    Understanding operating systems is crucial for many software engineers. freeCodeCamp.org has published a 25-hour comprehensive course on YouTube, created by Kshitij Sharma, to help learners master OS fundamentals. The course covers a range of topics including process management, CPU scheduling, process synchronization, memory management, and file management, making it ideal for university students, GATE aspirants, and anyone seeking a strong foundation in operating systems. A basic understanding of C and Computer Organization and Architecture (COA) is recommended for optimal learning.

  2. 2
    Video
    Avatar of fireshipFireship·2y

    Big O explained with a deck of cards

  3. 3
    Article
    Avatar of lobstersLobsters·2y

    My Software Bookshelf

    The post shares a curated list of impactful books that have significantly influenced the author’s programming journey. It includes recommendations for understanding complex computer science topics, effective writing for engineers, programming paradigms, and insights into the evolving roles within software engineering. Each book is positioned with personal experiences and benefits, ranging from foundational concepts in computer design to practical advice for professional growth.

  4. 4
    Article
    Avatar of kirupaKirupa·2y

    Bubble Sort: A Detailed Deep-Dive 🛁

    Bubble sort is one of the simplest and least efficient sorting algorithms. It sorts a list by repeatedly stepping through and comparing adjacent elements, swapping them if they're in the wrong order. This process is repeated until the list is sorted. Despite its inefficiency (O(n^2) time complexity in average and worst cases), bubble sort is essential for understanding basic sorting concepts and why more efficient algorithms are preferred. The algorithm's primary merit is its simplicity and ease of implementation.

  5. 5
    Article
    Avatar of hnHacker News·2y

    I don't know how CPUs work so I simulated one in code

    To understand basic computer operations, a developer simulated an 8-bit CPU in Go, inspired by J. Clark Scott's book. The project involved creating a simple computer that handles keyboard input and renders text using custom fonts. The developer wrote a crude assembler and implemented various hardware components via Go channels. The enriching experience emphasized core computing concepts like bit manipulation, ALUs, registers, and basic assembly language programming.

  6. 6
    Video
    Avatar of seytonicSeytonic·2y

    1 Million Domains Could Be Stolen with a Sitting Duck Attack

  7. 7
    Article
    Avatar of hnHacker News·2y

    Discrete Mathematics

    The 4th edition of 'Discrete Mathematics: an Open Introduction' is now available and features significant improvements, including a new content organization starting with logic and proofs, followed by graph theory, counting, and sequences. The edition emphasizes discrete structures, making it more useful for computer science students, while maintaining core mathematical concepts for math majors and future teachers. It includes more interactive exercises and code explorations using Sage and Python. The book is freely available online and under a Creative Commons License.

  8. 8
    Article
    Avatar of lobstersLobsters·2y

    Why does getting a job in tech suck right now? (Is it AI?!?)

    The current difficulty in obtaining a tech job is due to a combination of increased supply of computer science graduates and decreased demand from employers. Factors on the demand side include higher interest rates, changes to the tax code affecting software development costs, reduced hiring from key tech companies like FAANG, and an increase in deceptive practices in job applications. Despite popular beliefs, AI is not currently replacing tech jobs, although it is shifting the focus of venture capital to more capital-intensive AI projects and complicating the hiring process through generated resume spam.

  9. 9
    Video
    Avatar of seytonicSeytonic·2y

    ISP Hacked For DNS Poisoning... Customers Pwned

  10. 10
    Article
    Avatar of communityCommunity Picks·2y

    3 tribes of programming

    The post explores three distinct 'tribes' of programmers: those who view programming as an expression of thought and applied mathematics, those who emphasize understanding and optimizing hardware interaction, and those focused on creating practical software for user needs. Each group has its own values, preferred languages, and community spaces, but all have significantly contributed to the field. The author highlights the tensions and interactions between these groups and advocates for a holistic approach to programming that integrates the strengths of all three perspectives.