bitscs's profile picture.

bits that every computer scientist must know

@bitscs

A linked list is a linear collection of data elements that are not stored at contiguous memory locations. Instead, each element points to the next. In its most basic form, each node contains data, and a reference (a link) to the next node. #computerscience #cs #datastructures


Deadlock is a problematic state in which each process waits for another to take action, such as sending a message or more commonly releasing a lock. It is confronted with in multiprocessing systems, parallel computing, and distributed systems. #computerscience #cs #deadlock


A distributed denial-of-service (DDoS) attack aims at making a machine or network resource connected to the Internet unavailable by overwhelming it with superfluous requests from multiple compromised computers (bots or zombies). #computerscience #cs #cybersecurity #hacking #ddos


Distributed computing happens via multiple programs running on connected (by LAN, WAN, etc.) computers and aims at solving a (often large) problem as a single computer. Its features include scalability, fault tolerance, concurrency, etc. #computerscience #cs #distributedcomputing


Python is an interpreted, high-level, general-purpose, multi-paradigm, dynamically-typed, garbage-collected programming language. It was released by @gvanrossum first in 1991 as Python 0.9.0 and is one of the most popular tools today. #computerscience #cs #programminglanguages


Object-oriented programming (OOP) is a programming paradigm based on the concept of interacting "objects", which can contain data (fields) and code (methods). Some popular programming languages supporting OOP are Java, C++, C#, Python, JavaScript, Ruby. #computerscience #cs #oop


Agile software development (in contrast to waterfall model) is a set of practices based on the principles such as adaptive planning, early and frequent delivery, flexibility. Scrum and Kanban are examples of Agile frameworks. #computerscience #cs #softwaredevelopment #agile


Millions of times faster than supercomputers, quantum computers do computation by exploiting properties of quantum mechanics: superposition and entanglement. The basic unit of information in quantum computing is qubit (in contrast to bit). #computerscience #cs #quantumcomputing


Load balancer distributes incoming network traffic (e.g. high-traffic websites or apps) across multiple backend servers efficiently. It can use static or dynamic balancing algorithms (Round robin, least connections, hash-based or some other). #computerscience #cs #systemsdesign


Transformer is a deep learning architecture primarily used in natural language processing and computer vision based on attention mechanism. Replacing RNN-based models, their use led to the giant pretrained models such as BERT and GPT. #computerscience #cs #ai #deeplearning


During a phishing attack, a criminal impersonates someone else by link (URL) manipulation or some other technique in order to trick victim into revealing sensitive information. Some variants are spear phishing, email phishing, whaling. #computerscience #cs #cybersecurity #hacking


The time complexity of bubble sort is O(n²), meaning that its running time increases quadratically in relation to the growth in the input size. Bubble sort is considered impractical and mostly serves educational purposes. #computerscience #cs #algorithms #sorting #timecomplexity


A Unix-like OS is designed to function like Unix, while not being certified to use the trademark "UNIX". It is multiuser and multitasking, supports hierarchical file system and portability. Some examples are FreeBSD, MINIX, Linux. #computerscience #cs #operatingsystems #unix


A consensus algorithm provides the agreement on a single data value to achieve reliability in a network involving multiple unreliable nodes in multi-agent or distributed systems. Applications include PageRank, drone control, blockchain. #computerscience #cs #consensus #blockchain


Cryptology is the study of cryptography - the process of communicating secretly through the use of ciphers, and cryptanalysis - the process of cracking or deciphering such secret communications. #computerscience #cs #cryptology #cryptography #cryptanalysis


Dynamic programming (DP) is an algorithmic technique that solves a problem by combining the solutions to its overlapping subproblems. Popular DP applications are to knapsack, longest common subsequence, rod cutting problems. #computerscience #cs #algorithms #dynamicprogramming


Abstract data types (ADT) such as integers, lists, stacks, queues are logical models for objects whose behaviour is defined by sets of certain values and operations. Data structures are concrete implementations of ADTs. #computerscience #cs #abstractdatatype #datastructures


The least significant bit (LSB) is the lowest bit in a binary sequence. Depending on the computer's architecture, it is either the leftmost (little-endian architecture) or the rightmost (big-endian architecture) bit. #computerscience #cs #endianness #architecture #binary #bits


The unsolved "P vs NP" problem is one of the 7 Millennium Prize Problems selected by the Clay Mathematics Institute. It asks whether problems whose solutions can be verified in polynomial time can also be solved in polynomial time. #computerscience #cs #computationalcomplexity


The term "computer science" was coined by American mathematician George E. Forsythe in his 1961 paper "Engineering Students Must Learn both Computing and Mathematics". #computerscience #cs #cshistory


United States Trends

Loading...

Something went wrong.


Something went wrong.