154 Stories To Learn About Computer Science

cover
3 Jan 2024

Let's learn about Computer Science via these 154 free stories. They are ordered by most time reading created on HackerNoon. Visit the /Learn Repo to find the most read stories 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. 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.

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. 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.

4. 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.

5. Can Your Child Code?

Over the next fifty years, your child will hear one consistent question throughout their working life, “Can you code?”

6. 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.

7. 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.

8. 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.

9. 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.

10. 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.

11. 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.

12. How does a CPU work

CPU, also known as the microprocessor is the heart and/or brain of a computer. Lets Deep dive into the core of the computer to help us write computer programs efficiently.

13. 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.

14. 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.

15. 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.

16. Shortest and Longest Path Algorithms: Job Interview Cheatsheet

A quick overview and comparison of shortest and longest path algorithms in graphs.

17. Top 20 Linked List Coding Problems from Programming Job Interviews

Image credit— Grokking the Coding Interview: Patterns for Coding QuestionsHello all, I have been sharing a lot of coding interview questions for Programmers who are actively looking for Job, particularly for beginners and computer engineers who have just graduated and has no real job experience.

18. 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.

19. 14 Patterns to Ace Any Coding Interview Question

The process of preparing for coding interviews is anxiety-inducing for many developers. There’s so much material to cover, and often much of it feels irrelevant to what devs are doing in their day jobs, which only adds to the stress.

20. 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.

21. 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.

22. 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.

23. 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.

24. Understanding Modern CPU Architecture (Part 1)

Learn the architecture of a modern central processing unit (CPU).

25. 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:

26. 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.

27. Kth Largest Element in an Array - Quickselect Using Lomuto Partitioning Scheme.

Solving k-th largest element in the array using heap and quickselect

28. 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.

29. 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.

30. 7 Best Programming Assignment Help Sites

Computer science has become a popular discipline among students in the US and other developed nations.

31. 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?

32. Four Economic Trends That Could Indicate a Looming Second Great Depression

33. 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.

34. 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.

35. 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.

36. 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.

37. 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.

38. 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.

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. 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.

41. 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.

42. A Pleasant Way to Kick Off Your Data Science Education- This is CS50

So You Want to Get Into Data Science

43. 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.

44. How to Select a Random Node from a Tree

Childhood moments with father

45. How To Make Your Own Game in Python

Hi there !

46. Computer Science Degrees: Are they Worth Getting in 2021?

Is a computer science degree worth it? For me, partially. For you? You tell me.

47. 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!

48. The Ultimate Guide To Design Patterns And Generic Composite In Python

Generic implementation of the Composite Design Pattern in Python.

49. 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?

50. 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”.

51. Becoming A Programmer: Starter Pack

How and where to start learning to program. What do programmers do in their work?

52. Programming as Theory Building

Building models and solutions in software is not just about programming. We will review Peter Naur's classic paper.

53. 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.

54. Algorithms And Big O Notation In An Understandable Manner

Such scary words. It oozes math all over them…

55. 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.

56. 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.

57. 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.

58. 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.

59. 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!

60. 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.

61. 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!

62. What Is Dynamic Programming and Memoization?

Learning Dynamic Programming and Memoization in Under 5 Minutes

63. 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.

64. 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.

65. "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).

66. 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.

67. 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

68. 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.

69. 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.

70. 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.

71. 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.

72. 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.

73. Knitting Helps You Understand Programming Patterns

There is a rich history of fiber arts and programming influencing each other.

74. 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.

75. 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

76. In Conversation With Ozge Yoluk

Ozge Yoluk is a computational biologist working at ProteinQure, running molecular simulations to create pharmaceutical drugs.

77. 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.

78. 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.

79. Gradually Shift Traffic With AWS Route 53 Weighted Routing Policy

Gradually Shift Traffic with AWS Route 53 Weighted Routing Policy

80. 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.

81. 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.

82. 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.

83. #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.

84. 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.

85. 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.

86. 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.

87. 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.

88. 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!

89. 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.

90. 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!

91. 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.

92. 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.

93. 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.

94. 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.

95. 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.

96. A Deeper Look at Exceptions in Java

97. 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.

98. #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.

99. 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.

100. How to Correctly Use Variables When Coding in Python

understanding variables when programming will help you become a better programmer

101. 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

102. 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.

103. 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.

104. All You Need To Know About Computer Hardware

PC equipment alludes to the physical segments that make up a PC framework.

105. 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.

106. 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.

107. 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

108. Taking On Computer Science

ʺDon’t compare yourself with anyone in this world…if you do so, you are insulting yourself. ʺ -Bill Gates

109. 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.

110. 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.

111. How I Keep Sane While Earning My PhD 🧠 

Hello All 👋,

112. 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!

113. 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.

114. "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.

115. 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.

116. 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 .

117. 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

118. 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.

119. 📚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.

120. The Big O Notation in JavaScript

Understanding the Bachmann-Landau notation

121. 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.

122. 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.

123. 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.

124. 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.

125. 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.

126. 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.

127. Algorithms vs. Heuristics (with Examples)

Algorithms and heuristics are not the same. In this post, you'll learn how to distinguish them.

128. 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.

129. 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.

130. Difference Between Inheritance And Composition

With the introduction of OOPs, Inheritance and Composition entered our senses and still confusing us.

131. 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.

132. 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.

133. 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.

134. 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.

135. 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.

136. Stop Fearing the Whiteboard: Conquer It!

It's time we stopped fearing, complaining, and arguing about whiteboard coding interviews.

137. 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.

138. Does Consistent Hashing Help?

Let’s start by understanding about few terminologies and some facts related to this article and come on common ground.

139. 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?

140. Secure Enclaves and ML using MC²

Announcing the official release of MC², a platform for secure analytics and machine learning.

141. The Case for Rho-Calculus in AI

Does theory of mind dictate a particular model of computation has colonized the architecture of our brains?

142. 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.

143. 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.

144. 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.

145. An Introduction to Object Pascal and Java: A Winning Crew Boat Team

A comprehensive introduction to modern Object Pascal and Java.

146. 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.

147. 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.

148. 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.

149. 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.

150. 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?

151. 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).

152. 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.

153. Developments In Developing: Computer Scientists vs Engineers

Software Engineering != Computer Science

154. 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.

Thank you for checking out the 154 most read stories about Computer Science on HackerNoon.

Visit the /Learn Repo to find the most read stories about any technology.