Skip to content

Latest commit

 

History

History
630 lines (470 loc) · 62.4 KB

computer-science.md

File metadata and controls

630 lines (470 loc) · 62.4 KB

drawing

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.

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.

In this article, you will learn how to code a Binary Tree Right side view in LeetCode.

Design your implementation of the linked list. You can choose to use a singly or doubly linked list.

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

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.

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.

Today I’m going to share with you how to build a simple desktop application to identify and track country information from phone numbers.

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.

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.

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.

Let's take a look at the common approaches for implementing image contrast adjustments. We'll go over histogram stretching and histogram equalization.

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.

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.

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.

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.

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.

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.

An explanation of arbitrage and a look at an efficient algorithm to find riskless instantaneous arbitrage opportunities across markets.

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

This article will demonstrate how to quickly write simple language that compile to JavaScript using free tools and PEG.js parser generator.

Chances are you regularly use Notepad, Visual Studio, or Sublime to write code and edit text. Here's why you should use Emacs instead.

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.

Learning Dynamic Programming and Memoization in Under 5 Minutes

Sending a message on Twitter is easy, Emails are not! Let's now see how emails reach an inbox.

Build scalable, reliable, and maintainable applications. Understand basics of scalability with focus on performance and load, vertical and horizontal scaling!

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

Kristy is a computer science major student who is finding community at University of Waterloo with big dreams of giving back by organzing hackthons.

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!

Computer-controlled robots are monotonous. They are mostly able to perform a sequence of processing operations that is fixed by the equipment configuration and

API (Application programming interface), an intermediary between two or more services, provides a set of rules that define communication between services

Virtual functions are normal C++ methods with virtual keyword. Checkout the working and implementation of these methods in this blog.

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.

Linked lists are more flexible and adaptable, and are best suited for situations where the size of the collection is not known.

The three layers of software applications can help you visualise a software application's design and implementation as a non-developer.

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

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

This blog showcases 8 best YouTube channels for developers with tutorials, discussions & advice from experienced professionals.

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.

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:

We'll take a look at the algorithm behind Unix's compress utility. We'll implement Lempel Ziv Welch and learn all about it.

Biomimicry is a powerful approach that allows to solve the problems of cybersecurity by looking at it through the lens of nature.

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.

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

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

Researchers use an algebraic acme called “Losses” in order to optimise the machine learning space defined by a specific use case.

Nebullvm 0.3.0 features more deep learning compilers and now supports additional optimization techniques, including quantization and half precision.

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.

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. 

In this interview, Kristina Cahojova, CEO of Kegg.Tech talks about how she got her start in the tech world.

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.

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.

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.

Explore these basic Linux commands for beginners. Start Linux journey with these must-know commands in Linux.

Gradually Shift Traffic with AWS Route 53 Weighted Routing Policy

Different types of programming languages based on their levels and type security alongside syntax, generally reserved keywords, statements, etc.

In this interview, Sanchali Pal, Founder, Joro.Tech, talks about how she got her start in the tech world.

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

Hi there !

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.

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.

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.

A preambular article describing the fundamental principles & intuition behind the “LIME” concept in Artificial Intelligence & Machine learning.

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.

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.

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.

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

Why do computer science curriculums require you to learn more than one programming language? Here's the answer.

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.

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.

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.

Childhood moments with father

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

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.

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.

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

So You Want to Get Into Data Science

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

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.

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.

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?

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

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

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.

This article will introduce the concepts and topics common to all programming languages, that beginners and experts must know!

Such scary words. It oozes math all over them…

Error-Correcting Code (ecc), protects your system from potential crashes and inadvertent changes. So how about it be a ram server? Worth or not?

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.

Generic implementation of the Composite Design Pattern in Python.

If we build our entire paradigm on a single rule, we can keep it simple and make excellent models.

The 10 most interesting computer vision papers in 2021 with video demos, articles, code, and paper reference.

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.

Software Engineering != Computer Science

The Japanese are good at most things. Now they’re starting to find their feet with the hardest of hard tech niches around

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.

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.

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.

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.

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.

Threads & Processes are some of the least-understood topics in Linux. Make yourself stand out by starting learning them today. See yourself transform!

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.

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.

We'll take a look at how computers generate random numbers and the limitations of pseudo-random number generators.

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

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!

understanding variables when programming will help you become a better programmer

In this world of technology, there are various apps built to ease the life and work of student developers.

Why hard-to-read code can be a good code. A complex criticism to the “keep it simple” universal coding advice

Understanding the Bachmann-Landau notation

To explore the MFT records, learn how to locate date and time values in the metadata of a file we create.

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 .

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.

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. 

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.

Let's conduct a penetration testing on a file with a detailed study analysis of system passwords as part of an ethical hacking engagement.

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.

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!

Fundamental building blocks that one must give emphasized first who is just getting started on learning how to code.

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.

"I hear and I forget. I see and I remember. I do and I understand" ~Confucius. 

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.

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.

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.

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.

Hello All 👋,

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

ACID stands for Atomicity, Consistency, Isolation and Durability and each of these have a specific purpose when it comes to databases.

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.

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

If you’ve been reading my posts, you would know my love for Machine Learning and Self Driving Cars.

By 2020, the total number of Internet-connected devices will be between 25-50 billion.

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.

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?

Data science came a long way from the early days of Knowledge Discovery in Databases (KDD) and Very Large Data Bases (VLDB) conferences.

Vibhor Thakral from India has been nominated for a 2020 #Noonie in the Future Heroes and Technology categories.

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.

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. 

A comprehensive introduction to modern Object Pascal and Java.

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

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.

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

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.

An offline activity for teaching CS concepts: programs, algorithms, sorting, assumptions, correctness, computational complexity etc. etc. Requires: pen, paper and a deck of cards.

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

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.

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.

This is going to be a low-level article, but I guess you already knew that since you landed here, right?

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

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.

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.

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.

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

.Tech Domains has launched #MyStartInTech, a campaign dedicated to drawing attention to the lack of diversity in Computer Science education in the US.