Let's learn about Computer Science via these 212 free blog posts. They are ordered by HackerNoon reader engagement data. Visit the /Learn or LearnRepo.com to find the most read blog posts about any technology.
Computer science holds to they to AI, every mobile app you've ever downloaded, and game you've ever played. Check out HackerNoon's stories on Computer Science.
1. Implementing a Singly or Doubly Linked List in Java (A LeetCode Question)
Design your implementation of the linked list. You can choose to use a singly or doubly linked list.
2. How to Implement Trie (Prefix Tree) - Blind 75 LeetCode Questions
A trie (pronounced as “try”) or prefix tree is a tree data structure used to efficiently store and retrieve keys in a dataset of strings.
3. How To Merge Two Sorted Lists
We can use LinkedList to merge both sorted lists, though there are considerations to doing it single or double-linked that may complicate the operation.
4. Java Algorithms: Coding a Binary Tree Right Side View (LeetCode)
In this article, you will learn how to code a Binary Tree Right side view in LeetCode.
5. Timsort — the fastest sorting algorithm you’ve never heard of
Timsort: A very fast , O(n log n), stable sorting algorithm built for the real world — not constructed in academia.
6. XOR - The magical bitwise operator
Understanding bit manipulation provide new approaches you never knew existed to solve a particular problem. Let us do what’s necessary to start developing this bit-wise approach.
7. The Top 10 Object-Oriented Design Interview Questions Developers Should Know
<em>(Some background: I’ve interviewed hundreds of candidates for software engineering jobs at Facebook and Microsoft. I’ve also failed several coding interviews myself when I wasn’t prepared.)</em>
8. Can Your Child Code?
Over the next fifty years, your child will hear one consistent question throughout their working life, “Can you code?”
9. Coding - The Universal Language You Must Learn
Coding is a universal language, a 21st-century survival skill everyone can learn. Today more than ever, coding is a base requirement in numerous careers.
10. Image Processing Algorithms: Adjusting Contrast And Image Brightness
Let's take a look at the common approaches for implementing image contrast adjustments. We'll go over histogram stretching and histogram equalization.
11. Man In The Middle Attack Using Bettercap Framework
Man-in-the-middle attack (MITM) is an attack where the attacker secretly relays and possibly alters the communications between two devices who believe that they are directly communicating with each other. In order to perform man in the middle attack, we need to be in the same network as our victim because we have to fool these two devices. Now lets initiate the attack by running our tools which is bettercap. To run bettercap we can simply open up terminal and type bettercap -iface [your network interface which connected to the network]. To know which network interface is used we can simply type ifconfig and here is what it shows us.
12. 10 Tips for Using Diagrams to Ace The System Design Interview
If you’re a software engineer interviewing for a backend role, you’ll probably be tested on how well you can design a system architecture given some goals and constraints. It's one of the most high-signal interviews, because it’s open-ended, which presents more opportunities for both mistakes and flexes. An important detail is that these interviews test not only your knowledge of backend systems, but also how effectively you can communicate your ideas.
13. Understanding Modern CPU Architecture (Part 1)
Learn the architecture of a modern central processing unit (CPU).
14. Picking the low hanging passwords
According to a not-at-all recent report by Keeper, there’s a 50/50 chance that any user account can be accessed with one of the 25 most common passwords.
15. A Guide to Two's Complement: Calculating And Converting For Binary Numbers
Modern computers today use a binary number representation system called 'Two's complement'. It is a fixed number of binary digits used in computer calculations. Basic math operations such as addition and subtraction can be performed using the binary rules of addition and subtraction. Two's complement is not a complex scheme and is rather very simple to work with. This system also helps overcome the shortcomings of having to deal with magnitudes. Two's complement can be characterized as:
16. How to Create a Phone Number Tracking App in Python
Today I’m going to share with you how to build a simple desktop application to identify and track country information from phone numbers.
17. Arbitrage as a Shortest-Path Problem
An explanation of arbitrage and a look at an efficient algorithm to find riskless instantaneous arbitrage opportunities across markets.
18. 8 Reasons Why Emacs is the Best Text Editor for Programming
Chances are you regularly use Notepad, Visual Studio, or Sublime to write code and edit text. Here's why you should use Emacs instead.
19. A Beginner's Guide to The Big O Notation
So for anyone studying computer science either in college, boot camps or just self-learning, there is one topic that is always a stumbling block and that is Big O Notations.
20. Using Hashcat Tool for Microsoft Active Directory Password Analysis and Cracking
Let's conduct a penetration testing on a file with a detailed study analysis of system passwords as part of an ethical hacking engagement.
21. Difference Between ECC and Non-ECC RAM
Error-Correcting Code (ecc), protects your system from potential crashes and inadvertent changes. So how about it be a ram server? Worth or not?
22. 5 Common Web Development Mistakes and How to Avoid Them
These mistakes can make your life worst as a website developer. Know them now so that you make sure to avoid them in your next website.
23. How to create programming language that compiles to JavaScript
This article will demonstrate how to quickly write simple language that compile to JavaScript using free tools and PEG.js parser generator.
24. The Big O Notation in JavaScript
Understanding the Bachmann-Landau notation
25. Mastering Maps in Go: Everything You Need to Know
Learn about using maps in Go (golang), including associative arrays, hash maps, collision handling, and sync.Map, with practical code examples.
26. 7 Best Programming Assignment Help Sites
Computer science has become a popular discipline among students in the US and other developed nations.
27. Developer's Gold Mine: 8 Youtube Channels You Should Subscribe to Right Away
This blog showcases 8 best YouTube channels for developers with tutorials, discussions & advice from experienced professionals.
28. Finding Digital Crimes by Exploring Master File Table (MFT) Records
To explore the MFT records, learn how to locate date and time values in the metadata of a file we create.
29. Arrays vs. Linked Lists: Which Is Better?
Linked lists are more flexible and adaptable, and are best suited for situations where the size of the collection is not known.
30. Unix's LZW Compression Algorithm: How Does It Work?
We'll take a look at the algorithm behind Unix's compress utility. We'll implement Lempel Ziv Welch and learn all about it.
31. API Explained In Simple Terms
I'm pretty sure you would have heard the term API, and if you were wondering what it is, then this is the article for you.
32. Hinge Loss - A Steadfast Loss Evaluation Function for the SVM Classification Models in AI & ML
Researchers use an algebraic acme called “Losses” in order to optimise the machine learning space defined by a specific use case.
33. The ABCs of Building Reliable, Scalable, and Maintainable Web Applications - Scalability
Build scalable, reliable, and maintainable applications. Understand basics of scalability with focus on performance and load, vertical and horizontal scaling!
34. How to Teach Yourself Backend Development?
Many self-taught coders have a hard time deciding between all the various options, but it’s so much easier to learn effectively if you have a clear goal.
35. Ace Your Coding Interviews with These Free Courses from Stanford
Technical interviews used to be a challenge for me. I have a bachelor’s degree in Electronics & Telecommunications and a master’s degree in Computer Science.
36. Design Patterns: WTF is a Shim?
During design meetings at my workplace and even during other conversations with friends, the term "shim" appeared to being placed offhand, with the context not being setup properly to indicate what it is exactly that the "shim" represented.
37. Computer Science Degrees: Are they Worth Getting in 2021?
Is a computer science degree worth it? For me, partially. For you? You tell me.
38. The Essential Guide to HTTP
In this article, you are going to learn what HTTP is, What Sessions are, and their usage, The Request-Response cycle and another fundamental concepts.
39. Data Fingerprinting in JavaScript
I want to talk a little about how you can use content-based addressing (aka data fingerprinting) as a general approach to make your applications faster and more secure with some practical JavaScript examples.
40. Why You Need to Learn Multiple Programming Languages
Why do computer science curriculums require you to learn more than one programming language? Here's the answer.
41. Understanding Virtual Functions in C++
Virtual functions are normal C++ methods with virtual keyword. Checkout the working and implementation of these methods in this blog.
42. Understanding the Blockchain: The Foundation of Cryptocurrency
Have you still not embarked on your process to start understanding crypto? Do it now before its too late! Learning Blockchain provides that first step you need.
43. Kth Largest Element in an Array - Quickselect Using Lomuto Partitioning Scheme.
Solving k-th largest element in the array using heap and quickselect
44. The Case for Rho-Calculus in AI
Does theory of mind dictate a particular model of computation has colonized the architecture of our brains?
45. Why Rust Is So Popular?
If you are looking for some kind of metal panel business idea, allow me to be clear: the Rust I am referring to is a programming language.
46. Unlock the Power of ACID Properties in Databases: A Comprehensive Guide for Developers
ACID stands for Atomicity, Consistency, Isolation and Durability and each of these have a specific purpose when it comes to databases.
47. Algorithms and Data Structures Implemented in ES6 JavaScript
Hello Readers! I’ve launched JavaScript Algorithms and Data Structures repository on GitHub with a collection of classic algorithms and data-structures implemented in ES6 JavaScript with explanations and links to further readings and YouTube videos.
48. Flix-Finder: Building a Movie Recommendation App With Django and Bright Data [Part 2/3]
Use of Bright Data collectors to collect data from any website and extending our previous Django application is the main highlight of this article!
49. Build an Array from Scratch in Javascript
In the last post Arrays in JS, we learned about what arrays are, how we can store data in them and some methods which can be used on the array to get certain results.
50. Going Through Lambda School
I decided to write this post before being aware of the recent hit pieces against Lambda School (LS) that have been published around (particularly this one by The Verge and this one by New York Magazine). In the light of these two pieces, I think the timing is perfect to take a journey of what going through LS was like for me. I was enrolled last year in the 19th cohort of the WEB course and just graduated last November. I hope this post can help other potential students make a more informed decision.
51. Processes & Threads: The Essentials to Mastering Linux
Threads & Processes are some of the least-understood topics in Linux. Make yourself stand out by starting learning them today. See yourself transform!
52. How to Reverse a Number in C/C++
Reversing a number in the C/C++ program means interchanging the digits i.e. to bring the last digit of the given number to the first position or vice versa.
53. The One and Only Software Design Principle
If we build our entire paradigm on a single rule, we can keep it simple and make excellent models.
54. Insights Through Vision: Tracking Eyes Using OpenCV for Blink Detection
We explore the use of OpenCV and techniques like contour detection for eye blink detection, pupil tracking, Discuss the challenges and their specific Solutions.
55. AI Agents Could Be Running Your Security Operations Center (SOC) To Prevent Attacks
As our reliance on AI-enabled hyper-automation increases, we will leverage human expertise to design robust Workflows capable of managing repetitive tasks.
56. Gradually Shift Traffic With AWS Route 53 Weighted Routing Policy
Gradually Shift Traffic with AWS Route 53 Weighted Routing Policy
57. How to Select a Random Node from a Tree
Childhood moments with father
58. The Ultimate Guide To Design Patterns And Generic Composite In Python
Generic implementation of the Composite Design Pattern in Python.
59. Commencing Your Linux Journey: 8 Commands You Should Know
Explore these basic Linux commands for beginners. Start Linux journey with these must-know commands in Linux.
60. 📚3 Must Read Books for Programmers from Non-traditional Background
This article shares three classic books to help a programmer from non-traditional background to get a better understanding of computer system under the hood.
61. Coding 101: Programming Language Building Blocks
This article will introduce the concepts and topics common to all programming languages, that beginners and experts must know!
62. Cybersecurity + Biomimicry: Why, What, and How We Could Learn from Nature
Biomimicry is a powerful approach that allows to solve the problems of cybersecurity by looking at it through the lens of nature.
63. A Deeper Look at Exceptions in Java

64. 154 Stories To Learn About Computer Science
Learn everything you need to know about Computer Science via these 154 free HackerNoon stories.
65. Why My Backend Development Learning Platform Is Not Completely Free
A few days ago I received an email regarding Boot.dev where the sender informed me: I am ideologically opposed to charging people for online education.
66. Fenwick Tree Explained
Fenwick Tree is an interesting data structure that uses binary number properties to solve point update and range queries in your code in some situations.
67. Top 10 Computer Vision Papers of 2021: HackerNoon Edition
The 10 most interesting computer vision papers in 2021 with video demos, articles, code, and paper reference.
68. Intro to Insertion Sort Algorithm With Code Examples
Insertion sort is a simple sorting algorithm and it is used to sort an array by iteratively inserting elements into a sorted subarray that results in a final so
69. Algorithms And Big O Notation In An Understandable Manner
Such scary words. It oozes math all over them…
70. How to Get the Most Out of Your University Life as a Software Engineer
Join organizations, auditing tough classes, choosing the right professors, here are my top tips for thriving in university.
71. What Kind of Scientist Are You?
Data science came a long way from the early days of Knowledge Discovery in Databases (KDD) and Very Large Data Bases (VLDB) conferences.
72. You’ve Got Mail… Subject: Brain Science, Not Just Computer Science, is the Future of Work
Exploring the future of work by integrating brain science with digital tools, highlighting the need for intuitive, human-centric computing environments.
73. Mastering APIs: A Complete Guide for Beginners
What actually are APIs and how do they work? Find out by looking at important APIs across the software stack and learn some computer science along the way!
74. The Tools and Resources You Need to Become a Web3 Developer in 2022
In this article, I'm going to give you a roadmap and some of the best resources on the internet that will definitely help you get your first job in Web3.
75. 5 Important Lessons I Learnt As A Software Engineer
Recently I completed 2 years as a full-time software engineer. I started working since December 2017 at a company name Hullo.ai which was a small 10 people startup where I had to work on a multitude of things. In my first month, I had to write a Go server and dockerize it. My learning curve for the first month was something like this.
76. A Pleasant Way to Kick Off Your Data Science Education- This is CS50
So You Want to Get Into Data Science
77. The Rust Rewrites Nobody Asked For
Exploring the trend of rewriting existing software in new programming languages.
78. Best Machine Learning Books You Should Read: 2020 Edition
These books cover the Introductory level to Expert level of knowledge and concepts in ML. These Books have some core factors about ML. Give them a try. Lets Start.
79. Why I Built Virtual Grass That Evolves
It’s not every day you realize that software you have been designing and building for the last few years appears to have developed “common sense”.
80. Programming as Theory Building
Building models and solutions in software is not just about programming. We will review Peter Naur's classic paper.
81. How to Correctly Use Variables When Coding in Python
understanding variables when programming will help you become a better programmer
82. How To Make Your Own Game in Python
Hi there !
83. Warning: The Universe's Event Simulator Is a Fierce Adversary for Coders!
Explore an intriguing analogy between the universe and a discrete event simulator. Delve into the concept of reality as a coordinated system of discrete events.
84. Rethinking Leap Years: Why Your Favorite Programming Language's Approach May Be Flawed
Your favorite programming language may be approaching leap years incorrectly.
85. How to Generate Random Numbers - A Guide to TRNGs and PRNGs
We'll take a look at how computers generate random numbers and the limitations of pseudo-random number generators.
86. Becoming A Programmer: Starter Pack
How and where to start learning to program. What do programmers do in their work?
87. My Path to Becoming a Software Developer
My story begins way back in the 2004–2005 school year at Rio Linda High School. I was taking two advanced placement (AP) classes: calculus and physics. I had phenomenal teachers: Mr. Bautista and Mr. Gavrilov. I’m pretty sure they could teach calculus and physics to a cat, Schrodinger's cat, that is.
88. Understanding Programming Fundamentals: Variables, Operators, Control Structures
Fundamental building blocks that one must give emphasized first who is just getting started on learning how to code.
89. 10 Best Object-Oriented Online Programming and Design Courses 2020 [Updated]
There is no doubt that object-oriented programming is a pillar of software development and also one of the reasons for the huge success of Java. Strong knowledge of object-oriented programming helps you to create better software.
90. An Anthology of Best Online Courses to Learn Java for Beginners
If you are a computer science graduate or a programmer who wants to learn Java and looking for some awesome resources like books, tutorials, and online courses then you have come to the right place.
91. An Essential Guide to Binary Representation of Floating-Point Numbers
Have you ever wondered how computers store the floating-point numbers like 3.1415 (𝝿) or in the memory which consists of a bunch of ones and zeroes?
92. 5 Best Online Information Technology Courses to Grow Your Tech Career
Online learning is just as important to your career as learning in a class. Find out the five online courses that you can take to grow in your tech career.
93. Essential Programming: Sorting Algorithms
The next task in your calendar, the ranking position of your favorite sport team in the league, the contact list in your cell phone, all of these have an order. Order matters when we process information. We use order to make sense of our lives and to optimize our decisions. Imagine looking for a word in a dictionary with a mixed alphabetical order, or trying to find the cheapest product in a disordered pricing list. We order stuff to make more sound decisions (which in reality is an illusion), and this makes us more confident on the results.
94. Developments In Developing: Computer Scientists vs Engineers
Software Engineering != Computer Science
95. Proxy vs Reverse Proxy
Proxy is an application or computer that mimics a user on the internet. Reverse proxy is the "REVERSE" of proxy that is used by server to route traffic.
96. Japanese Quantum Computing Startup Has One Eye On The Future
The Japanese are good at most things. Now they’re starting to find their feet with the hardest of hard tech niches around
97. I'm Quitting my Job to Teach High School Computer Science
In a few short weeks, I will be leaving my job as Director of Engineering "in the industry" and starting a new one as a high school Computer Science teacher.
98. In Conversation with a Computer Science Major, Kristy Gao
Kristy is a computer science major student who is finding community at University of Waterloo with big dreams of giving back by organzing hackthons.
99. Binary Lifting and Its Applications
Binary Lifting and its use in finding Lowest Common Ancestor (LCA). Explore this amazing algorithm that speeds up ancestor queries in the tree data structure.
100. Design Patterns: Singleton Pattern in Modern C++
In software engineering, Creational Design Patterns deal with object creation mechanisms, i.e. try to create objects in a manner suitable to the situation. The basic or ordinary form of object creation could result in design problems or added complexity to the design. In this article of the Creational Design Patterns, we’re going to take a look at the much-hated & commonly asked design pattern in a programming interview. That is Singleton Design Pattern in Modern C++ which criticizes for its extensibility & testability. I will also cover the Multiton Design Pattern which quite contrary to Singleton.
101. There Are No Silver Bullets For This Werewolf
The phrase “No Silver Bullet” is widely used in the industry. In this article we will revisit the classic paper by Fred Brooks that gave rise to it.
102. What Is Dynamic Programming?
This article is for them, who have heard about Dynamic Programming and for them also, who have not heard but want to know about Dynamic Programming (or DP) . In this article, I will cover all those topics which can help you to work with DP .
103. The Shortcomings of Computer-controlled Robots
Computer-controlled robots are monotonous. They are mostly able to perform a sequence of processing operations that is fixed by the equipment configuration and
104. Freeing the Data Scientist's Mind from the Curse of Vectorization - Paging Julia for Rescue
Nowadays, most data scientists use either Python or R as their main programming language. That was also my case until I met Julia earlier this year. Julia promises performance comparable to statically typed compiled languages (like C) while keeping the rapid development features of interpreted languages (like Python, R or Matlab). This performance is achieved by just-in-time (JIT) compilation.
105. The Role of RLHF in Mitigating Bias and Improving AI Model Fairness
RLHF is an innovative approach to mitigating bias in LLMs. It incorporates human input in the training process to reduce bias and improve fairness.
106. Algorithms vs. Heuristics (with Examples)
Algorithms and heuristics are not the same. In this post, you'll learn how to distinguish them.
107. A Curious Case of Mach-O Executable
This is going to be a low-level article, but I guess you already knew that since you landed here, right?
108. Learning About Threads: An Essential Guide for Developers
Master multi-threading fundamentals! Learn process vs threads, hardware vs software threads, hyperthreading & concurrent programming for scalable apps.
109. Don't Confuse Competitive Programming and Software Engineering
The concept of programming has been undergoing a huge amount of misconceptions and mix ups. Some freshers or new programmers see the results of the ICPC or any other coding contest in the world, and they really get impressed and rushed out how to approach this domain. Indeed, they start googling these competitive things and search on YouTube, and they, doubtlessly, gain massive confusion. One of the considerable aspects of this confusion is thinking that competitive programmers can directly get hired as Software Engineers in any company, especially, in the big tech companies.
110. An Introduction to Object Pascal and Java: A Winning Crew Boat Team
A comprehensive introduction to modern Object Pascal and Java.
111. The Intuition Behind the “LIME” Concept in AI & ML
A preambular article describing the fundamental principles & intuition behind the “LIME” concept in Artificial Intelligence & Machine learning.
112. Robots Sorting Cards: Computer Science for Kids
An offline activity for teaching CS concepts: programs, algorithms, sorting, assumptions, correctness, computational complexity etc. etc. Requires: pen, paper and a deck of cards.
113. Do Not Fear Dynamic Programming (Part 1)
Dyanmic Programming isn't as hard as people think. We'll break it down in this guide.
114. Othello Is Finally Solved
The game of Othello is one of the world’s most complex and popular games that has yet to be computationally solved.
115. In Defense of Deviousness: When Keep It Simple Didn't Work So Well
Why hard-to-read code can be a good code. A complex criticism to the “keep it simple” universal coding advice
116. Fun Ways To Teach Programming Without Giving Boring Lectures
I’ve been a computer programmer for over ten years now. I went from freelancing to running a consulting agency to working for a Silicon Valley startup full time and am now trying to build a product myself. While I do have a formal CS education, I consider myself mostly self-taught. A big part of my professional development comes from me doing competitive programming as a kid. More specifically, from being part of a small computer club in my hometown, run by a passionate university professor — Michael Dolinsky.
117. In Conversation With Ozge Yoluk
Ozge Yoluk is a computational biologist working at ProteinQure, running molecular simulations to create pharmaceutical drugs.
118. Light Bulb Control Circuit Design Using Boolean Algebra
Learn how to design a simple, efficient digital circuit using Boolean algebra and logic gates to control a light bulb with minimal components.
119. Interested in Learning to Program? 13 Reasons to Start Now
Software development is something that is gaining popularity at lightning speed with the development of technology. The demand for regular developers is high compared to most other mainstream professions. But, what are the other reasons for learning to code?
120. SeqGen: The Library I Created for Sequence Generation
In this short article, we will take a look at a library I wrote for the sequence generation called SeqGen.
121. Coding For The Generation Alpha: Should Our Kids Learn Java Or Python?
Coding is the future of tomorrow. As all industries shift to a more digitized platform, coding for kids has become an essential part of the educational curriculum. In this article, we will take a look at two widely used programming languages - Python and Java, to get an idea of what language to choose to depend on the kid’s requirement.
122. Spring Creator Rod Johnson Unveils Embabel, a JVM Framework for Agentic AI
Rod Johnson, creator of Spring, returns with Embabel, a Kotlin-based agent framework for the JVM.
123. What is the Bubble Sort Algorithm for Numbers?
The Bubble Sort algorithm is a comparison-based sorting technique that repeatedly compares adjacent elements and swaps them if they are in the wrong order.
124. CS Data Structures: Fixed Array
A fixed array is an array that has a max amount of items. Such arrays are used when the programmer knows how many elements an array should hold.
125. Stop Fearing the Whiteboard: Conquer It!
It's time we stopped fearing, complaining, and arguing about whiteboard coding interviews.
126. The Results of Our Othello Experiment: How We Solved the Game
We used a dataset including 61,549 game records played between 2001 and 2020. We selected 2,587 positions out of the 2,958,551 positions
127. Quantum Computing's Threat to Public Blockchain Integrity
Quantum computing is a new paradigm of computing that uses quantum mechanical phenomena, such as superposition and entanglement, to perform operations on data.
128. Why My Code Would Take 316 Years to Execute
I started programming about 5 years ago. Ironically, only in the last year of my computer science degree. I was also made aware of the likes of Hackerrank and Hackerearth at the same time. I remember naively brute-forcing every single problem that I would come across on these platforms and later wonder why it would give me a TLE Error.
129. New Major Release for Nebullvm Speeds Up AI Inference by 2-30x
Nebullvm 0.3.0 features more deep learning compilers and now supports additional optimization techniques, including quantization and half precision.
130. What I Wish I Knew as a Junior Dev: Lessons After 11 Years of Coding
I initially wrote this article as a list of lessons for beginners and junior developers on Reddit. Then it blew up with over 50 awards. Lots of heart warming messages followed.
131. Crafting Mazes With Graph Theory
Exploring maze generation algorithms Random Passage Carving and Graph Traversal with Spanning Tree.
132. Difference Between Inheritance And Composition
With the introduction of OOPs, Inheritance and Composition entered our senses and still confusing us.
133. How HP left me Paranoid after taking My 3400$
If you’ve been reading my posts, you would know my love for Machine Learning and Self Driving Cars.
134. A Picture Book Written in C Code
If you’re a programmer, you probably remember your first program as the classic Hello World program that outputs “Hello World!” to your display. The Hello World program is a nice, simple little program- but it’s BORING! Likewise for the numerous code examples for beginners that involve the variables i and j.
135. Here's Why I Decided to Pursue a CS Degree Even Though I Already Had a Stable Job in the Field
The more I studied, the more certain I became that this was what I wanted to do.
136. Women Have Been in Tech Since the Beginning
Next time you say "women have always been in programming," and you get a bunch of replies asking you to prove it, you can link them this blog.
137. Who needs painkillers when you have virtual reality?
Virtual reality, in most cases, can replace pain medication or be used as a sedative.
138. 77 Leaders in the Tech Industry Share Their #MyStartInTech Stories
.Tech Domains has launched #MyStartInTech, a campaign dedicated to drawing attention to the lack of diversity in Computer Science education in the US.
139. SOLID Design: Dependency Inversion Principle in C++
Dependency Inversion Principle in C++ is the fifth & last design principle of a series SOLID as a Rock design principles. The SOLID design principles focus on developing software that is easy to maintainable, reusable & extendable. In this article, we will see an example code with the flaw & correct it with help of DIP. We will also see guideline & benefits of DIP inclosure of the article.
140. What Every Gopher Should Know About the Go Memory Model
Learn how Go's memory model defines visibility between goroutines using happens-before rules and synchronization primitives like channels and mutexes.
141. From the Judge’s Seat: Standing Out in Hackathons in the Age of AI
A hackathon judge shares how AI has changed hackathons, common pitfalls teams face, and practical advice on how to stand out by focusing on authenticity, learni
142. StyleCLIPDraw: Text-to-Drawing Synthesis with Artistic Control
Have you ever dreamed of taking the style of a picture, like this cool TikTok drawing style on the left, and applying it to a new picture of your choice? Well, I did, and it has never been easier to do. In fact, you can even achieve that from only text and can try it right now with this new method and their Google Colab notebook available for everyone (see references).
143. Knitting Helps You Understand Programming Patterns
There is a rich history of fiber arts and programming influencing each other.
144. 19 Apps and Websites All Student Developers Should Check Out
In this world of technology, there are various apps built to ease the life and work of student developers.
145. Post-Quantum Cryptography: Securing the Future of Encryption
Post-Quantum Cryptography
146. Safeguarding Concurrent Programs in Java: Thread Safety from an Object Oriented Perspective
A program that maintain its correctness in a multi-threaded environment is said to be a Thread-Safe program.
147. CGAAL: Wrapping It Up and What Comes Next
In this paper, we present CGAAL, our model checker of alternating-time temporal logic properties in concurrent games.
148. 5 Key Benefits Of Being a Software Engineer Nobody Tells You
If you're more of a visual person - check out the video version
I’ve been a software developer for coming up to three years, these are the things that really make me enjoy this career and make me thrilled to recommend it to others.
149. Nvidia Strengthens AI “Superchip” with Faster Memory and Expanded Capabilities
Nvidia unveils upgraded Grace Hopper "superchip" with 50% more bandwidth; GH200 bolsters lead in AI market.
150. Armstrong Number in C
A number is thought of as an Armstrong number if the sum of its own digits raised to the power number of digits gives the number itself.
151. An Intro to Quantum Computers
Gordon Moore, the founder of Fairchild Semiconductor and former CEO of Intel in his 1965 paper, described that the number of transistors in a dense integrated circuit double about every two years and this statement is famously known as Moore's Law. Moore's law was consistent for the past 50 years, but with the current technological advancements, it is coming to an end. It is starting to become physically impossible to reduce transistor sizes to increase computational efficiency further, and hence this calls for alternate methods.
152. Machine Learning, 5G and Data Science Will be Critical to the Future of the Internet of Things
By 2020, the total number of Internet-connected devices will be between 25-50 billion.
153. Solving Othello: Related Works You Should Be Aware Of
The algorithms used to solve games have been extensively studied, and they are chosen based on the purpose and nature of the game.
154. Data Science Skills Matrix: Why Critical Thinking is Most In-Demand
Whether you’re brand new to data science, have gotten your feet wet in this field or are an expert, you should know that working with data is all about generating knowledge.
155. If I Could Start Over: A Computer Science Student's Confession
Despite the constant reminder that academic achievements aren’t all there is in life, it was difficult for me to break free from that mindset.
156. Two Devs, One Keyboard: A Bold Experiment in Computer Science Education
This study combines pair programming with the Problem-Solving Studio to enhance CS1 education, fostering collaboration, problem-solving, and real-time feedback.
157. P2P Architecture: How Does It Work?
Peer-to-Peer (P2P) architecture is a decentralized model where each node, or "peer," acts as a client and a server. This contrasts with the traditional client-s
158. Grokking Dynamic Programming (Part 2)
Part 2 on my series about dynamic programming problems and coding techniques to solve them.
159. How Do Deep Neural Networks Work?
Every day we are facing AI and neural network in some ways: from common phone use through face detection, speech or image recognition to more sophisticated — self-driving cars, gene-disease predictions, etc. We think it is time to finally sort out what AI consists of, what neural network is and how it works.
160. Education of a Programmer: Why It Should Not Be Same as Other Professions
"I hear and I forget. I see and I remember. I do and
I understand" ~Confucius.
161. We Solved Othello... But What Does This Mean?
We conclude that our study has weakly solved Othello, although we recognize that our achievement is just above the criteria for weakly solving.
162. Taking On Computer Science
ʺDon’t compare yourself with anyone in this world…if you do so, you are insulting yourself. ʺ -Bill Gates
163. How to Understand IO and TTY in Linux for Beginners
Learn how TTYs work in Linux! Understand virtual devices, line discipline, and I/O processes in simple steps. A beginner-friendly guide to mastering TTY.
164. What Is Dynamic Programming and Memoization?
Learning Dynamic Programming and Memoization in Under 5 Minutes
165. The Methods We Used to Solve Othello
Existing Othello software was used to solve the position with 36 empty squares. Edax is based on alpha-beta search and employs many techniques
166. How to Find the Stinky Parts of Your Code [Part XLIII]
Your code smells because there are likely many instances where it could be edited or improved.
167. From Code to Capital: A Fintech Expert’s Journey into the Future
In this interview, Oleg Kubrak shares his journey, a story of relentless curiosity and precision.
168. Creating an Intuitive Robotic Manipulator Control With a Myo Armband
Recently I was given a Myo armband, and this article aims to describe how such a device could be exploited to control a robotic manipulator intuitively.
169. How I Keep Sane While Earning My PhD 🧠
Hello All 👋,
170. How I Wrote 10, 000 LOC in just one Month
Ever scrolled your twitter feed and wondered how everything works. Writing a tweet, refreshing the feed, deleting a tweet, and editing tweets. Does twitter really have an edit feature? That's a topic for another day. Over the past years, I have always felt the urge to know all about software development.
171. "The Key to Achieving Anything In Life Is Consistency" - Vibhor Thakral, Computer Science Nominee
Vibhor Thakral from India has been nominated for a 2020 #Noonie in the Future Heroes and Technology categories.
172. It Works on My Machine — The Book
From Assembly to Brainf*ck. A design collection of curated programming language trivia.
173. Hybrid or Native? The Inconclusive Debate
Every Computer Science major has had this debate with their mates. Usually, such conversations constitute both Native and Hybrid app developers bringing very strong points on the table, until all of them just give up on convincing the other, and just go ahead with the app development themselves.
174. The True Cost of Ransomware Attacks in 2023
In this article, I’ll explain how ransomware works, the average ransom payment and other hidden costs that companies incur post-attack.
175. Tracking my Computer Science Relearning Journey
I have been studying full time since June 24,2025.
176. A Power-Packed Light Reading on Data Structures
when we talk about data structure and algorithm it's very important to know the concepts like Big O Notation and Time Complexity
these concepts help us to choose the right data structure and to know
them very vital these are metrics which we use to choose the right data
structure.and things like how memory ,linked list and array works,they
help us to have better understanding of the speed and performance of a
data structure.
177. 3-Tier Software Architecture Tutorial For Non-Developers
The three layers of software applications can help you visualise a software application's design and implementation as a non-developer.
178. Secure Enclaves and ML using MC²
Announcing the official release of MC², a platform for secure analytics and machine learning.
179. Why I Spent Years Writing a Children’s Book on Data Science
I wrote a children's book on data science to inform others who have a hard time understanding data science and machine learning concepts, especially kids!
180. Exploring Graph Traversal: From Breadth-First Search to Dijkstra's Algorithm
In this article, the breadth-first search algorithm is explained with examples and implementations, including how it can be modified to find the shortest paths.
181. A Brief Introduction to Algorithmic Complexity
It’s not just the running time; it’s the space usage too. We see algorithms used in pretty much every program that’s larger than a college project.
182. Code Smell 245 — Exec() and Eval()
Don't use metaprogramming. It is not that cool.
183. A Tool Overview of CGAAL: A Distributed On-The-Fly ATL Model Checker
The syntax of the language is inspired by PRISM-lang used by the PRISM model checker to model stochastic multi-player games with rewards.
184. A 4-min Introduction To Restful APIs
API (Application programming interface), an intermediary between two or more services, provides a set of rules that define communication between services
185. Does Consistent Hashing Help?
Let’s start by understanding about few terminologies and some facts related to this article and come on common ground.
186. How We Evaluated CGAAL: The Experiments That We Ran
To evaluate our tool, we run several experiments. In our experiments we compare our global algorithm, our local algorithm using our various search strategies
187. How I Got Into Every University That I Applied To (for computer science)
Here is how I managed to wriggle into the top university for computer science. How to write a half-decent personal statement and suceed in life!
188. Lifting the Veil on Programming Fundamentals: Languages, Syntax, Statements
Different types of programming languages based on their levels and type security alongside syntax, generally reserved keywords, statements, etc.
189. Chapter X: Phalanxes of Atlans
Astounding Stories of Super-Science March 1931, by Astounding Stories is part of HackerNoon’s Book Blog Post series. You can jump to any chapter in this book here. Phalanxes of Atlans: Chapter X
190. The 5 Ingenious Data Structures (and What They Actually Do)
Explore 5 advanced data structures that go beyond arrays and linked lists. Learn how B-Trees, Bloom Filters, Radix Trees, and more power modern systems.
191. Why Every Emoji, Letter, and Symbol You Type Is Basically Just Math
Explore UTF-8 character encoding, its history, and why it's essential for representing diverse languages and symbols in computer systems efficiently
192. Online Learning: 3 Initial Experiences at Microverse
After I got my Engineering diploma I have worked in several places. Those are professional factories including Croissant Production and Juice Extraction plants. I was dealing with data in all of those places.
193. The Impact of Pair Programming on Computer Science Education
A review of pair programming research in education reveals its benefits for CS students, challenges in classroom implementation, and more
194. "It Just Happened On Its Own" Franck Jones, Node Chronicles, On Their Unexpected Preorder Wave
Interview w/ co-creator Franck Jones on a new comic book series that teaches computer science & electrical engineering. Episode #1, The Hacker Way (on Amazon).
195. What's Next in the Journey of AI? Neuro-Symbolic AI
Neuro-Symbolic AI combines neural learning and symbolic reasoning, enhancing AI's decision-making, learning, and interpretability for complex tasks.
196. Ethos Ex Machina: How AI Creates Trust Without Truth
AI does not need truth to sound credible. Discover how syntax tricks us into trusting unverified outputs across healthcare, law, and policy.
197. How do E-mails go From Your Computer to an Inbox
Sending a message on Twitter is easy, Emails are not! Let's now see how emails reach an inbox.
198. Bloom Filters - Power in Simplicity
Short article about bloom filters
199. All You Need To Know About Computer Hardware
PC equipment alludes to the physical segments that make up a PC framework.
200. An Introduction to Recursion in JavaScript
An introduction to recursion in JavaScript with examples!
201. Enhancing Computer Science Education with Pair Programming and Problem Solving Studios
PSS transforms CS1 with dynamic scaffolding and pair programming, earning rave reviews for student engagement and learning outcomes.
202. Meet the Writer: Hacker Noon's Contributor Max Palacios, AI developer
Max is an AI developer for crypto trading bots at SmithBot who likes to share difficult tech content with readers in an easy to understand way.
203. How Collaborative Learning is Changing the Way We Learn Computer Science
PSS for CS combines pair programming with dynamic scaffolding to provide a structured yet flexible learning environment.
204. Comparing Threads, Processes, and Programs: Establishing Key Differences
This is an exciting interview question to check the fundamentals of an interviewee. People often need clarification on these three terms.
205. Dynamic Scaffolding, Pair Programming, and a Problem Ladder Walk Into a CS1 Class...
Integrating pair programming with dynamic scaffolding, this approach transforms CS1 learning into a collaborative, engaging, and skill-building experience.
206. Why Real-Time Teacher Feedback is Key to Student Success in Computer Science Classes
Using desk crits as informal assessments, instructors provide feedback to students, helping them overcome challenges and improve their CS1 learning experience.
207. Circuit Boards: Motherboards, System Boards And Mainboards
The motherboard serves to interface the entirety of the pieces of a PC together. The CPU, memory, hard drives, and different ports and extension cards all interface with the motherboard legitimately or through links.
208. #MyStartInTech: An Interview With Juan de Urraza, CEO of Posibillian.Tech
The tech workforce in the US is not growing at an optimal pace. The number of schools offering computer science is not enough which is impacting the access of computer science to young women and students from marginalized communities.
209. WTF is Power Supply Unit?
The Power Supply Unit is the bit of equipment that changes over the force gave from the outlet into usable force for the numerous parts inside the PC case.
210. #MyStartInTech: Interview with Sanchali Pal, Founder, Joro.Tech
In this interview, Sanchali Pal, Founder, Joro.Tech, talks about how she got her start in the tech world.
211. Effective Course Structure for Computer Science Education
Discover how a new CS1 teaching approach uses teamwork, problem-solving, and real-time feedback to help students learn programming more effectively.
212. Kristina Cahojova, CEO at Kegg.Tech: #MyStartInTech Story
In this interview, Kristina Cahojova, CEO of Kegg.Tech talks about how she got her start in the tech world.
Thank you for checking out the 212 most read blog posts about Computer Science on HackerNoon.
Visit the /Learn Repo to find the most read blog posts about any technology.
