Updates

Discoveries

Organizations

Top Tech Organizations that are doing research which will change the way our technology works.

Arxiv

Nvidia

Google

Microsoft

IBM

Meta

Intel

Amazon

OpenAI

Artificial Intelligence

Artificial Intelligence describes tools that allow machines and software to exhibit human-like intelligence

As We May Think (1945)

Computing Machinery and Intelligence (1950)

Steps Toward Artificial Intelligence (1960)

ELIZA—A Computer Program For the Study of Natural Language Communication Between Man And Machine (1966)

A Formal Basis for the Heuristic Determination of Minimum Cost Paths (1968)

Reinforcement Learning: An Introduction (1998)

Gradient-based learning applied to document recognition (1998)

A fast learning algorithm for deep belief nets (2006)

Learning Deep Architectures for AI (2009)

A Few Useful Things to Know about Machine Learning (2012)

ImageNet Classification with Deep Convolutional Neural Networks (2012)

Sequence to Sequence Learning with Neural Networks (2014)

Generative Adversarial Nets (2014)

Human-level control through deep reinforcement learning (2015)

Attention is All You Need (2017)

The Malicious Use of Artificial Intelligence: Forecasting, Prevention, and Mitigation (2018)

The Annotated Transformer (2022)

How To Build A Thinking AI (2022)

ImageBind: a new way to ‘link’ AI across the senses (2023)

AnyGPT: Unified Multimodal LLM with Discrete Sequence Modeling (2024)

Quantum Computing

Quantum Computers work on quantum bits and can manipulate atoms, electrons, or photons states

Quantum mechanical computers (1982)

Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer (1994)

A fast quantum mechanical algorithm for database search (1996)

Scalable Ion Traps for Quantum Information Processing (2003)

Topological Quantum Computation (2008)

Quantum Supremacy Using a Programmable Superconducting Processor (2019)

Internet

The Internet is a global system of interconnected computer networks that allows computers around the world to communicate and exchange information with each other

Information Flow in Large Communication Nets (1961)

A Protocol for Packet Network Intercommunication (1974)

End-to-End Arguments in System Design (1981)

World-Wide Web: Information Universe (1992)

ActivityPub (2018)

Above the Clouds: A Berkeley View of Cloud Computing (2018)

Web 3.0: The Future of Internet (2023)

Will Admins Cope? Decentralized Moderation in the Fediverse (2023)

Information Consumption and Boundary Spanning in Decentralized Online Social Networks: the case of Mastodon Users (2023)

Cybersecurity

Cybersecurity ensures the protection of computers, servers, mobile devices, electronic systems, networks, and data from digital attacks, damage, or unauthorized access

A Mathematical Theory of Communication (1948)

Communication Theory of Secrecy Systems (1949)

New Directions in Cryptography (1978)

A Method for Obtaining Digital Signatures and Public-Key Cryptosystems (1979)

How to Share a Secret (1980)

Cryptographic Communications System and Method

Minimum Disclosure Proofs of Knowledge (1986)

Proofs of Partial Knowledge and Simplified Design of Witness Hiding Protocols (1994)

The Rational Rejection of Security Advice by Users (2009)

Wikileaks and the Battle Over the Soul of the Networked Fourth Estate (2011)

Towards data justice? The ambiguity of anti-surveillance resistance in political activism (2016)

Privacy Leakage of Location Sharing in Mobile Social Networks(2018)

INTERNET ORGANISED CRIME THREAT ASSESSMENT (2021)

Creative beyond TikToks: Investigating Adolescents’ Social Privacy Management on TikTok (2023)

China content on TikTok: the influence of social media videos on national image (2023)

TIKTOK SHOWS WHY SOCIAL MEDIA COMPANIES NEED MORE REGULATION (2023)

Programming Languages

Programming languages are sets of instructions, commands, and syntax used to create software programs, scripts, and other sets of instructions for computers to execute

Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I (1960)

The Next 700 Programming Languages (1966)

Go To Statement Considered Harmful (1968)

Monitors: An Operating System Structuring Concept (1974)

Communicating Sequential Processes (1978)

Lambda Calculus: Its Syntax and Semantics (1981)

A Theory of Objects (1997)

Type classes: an exploration of the design space (1997)

Dependent Types in Practical Programming (1999)

Ownership Types for Safe Programming: Preventing Data Races and Deadlocks (2002)

RustBelt: Securing the Foundations of the Rust Programming Language (2018)

Narrow AI

AI trained for a specific non-physical task

Opensource

Search

Text

Code

Image

Video

Motion

Music

Audio

Bonus

AI Databases

Robotics

AI trained for physical tasks

Industrial Robotics

Spot

Animated Button

Stretch

Animated Button

YuMi

Animated Button

Military and Defense Robotics

Atlas

Animated Button

PackBot

Animated Button

MUTT

Animated Button

Consumer and Household Robotics

Roomba

Animated Button

Automower

Animated Button

Aibo

Animated Button

BB-8

Animated Button

Vector

Animated Button

Moley

Animated Button

Bot Handy

Animated Button

Healthcare Robotics

da Vinci

Animated Button

Hero Arm

Animated Button

HAL Exoskeleton

Animated Button

Commercial and Retail Robotics

Pepper

Animated Button

Bellabot Waiter

Animated Button

Henn na Hotel

Animated Button

Bartender Robot

Animated Button

Kiva Robots

Animated Button

Agricultural Robotics

Robot Weed Killer

Animated Button

Drone Fruit Picker

Animated Button

Educational and Research Robotics

NAO

Animated Button

Entertainment Robotics

AquaJelly

Animated Button

BattleBots Competitors

Animated Button

Assistive and Accessibility Robotics

Human Support Robot

Animated Button

Construction and Infrastructure Robotics

3D Systems' Printers

Animated Button

Transportation Robotics

Waymo

Animated Button

Tesla

Animated Button

Exploration and Environmental Robotics

Perseverance Rover

Animated Button

Spy in the Wild

Animated Button

Drones

Phantom

Animated Button

Prime Air

Animated Button

MQ-9 Reaper

Animated Button

General AI

AI trained for human intelligence

Futuristic AI

Futuristic AI

Neural Interfaces

Animated Button Animated Button Animated Button Animated Button Animated Button Animated Button Animated Button Animated Button Animated Button Animated Button Animated Button

Dream/Thought

Animated Button Animated Button Animated Button Animated Button Animated Button

Bias Detection

Quantum Computing

Animated Button Animated Button Animated Button Animated Button Animated Button

Social Networks

Textboards

Imageboards

Forums

Messaging

Microblogs

Macroblogs

Media Sharing

Websites

Other

Buttons

BASIC CS GUIDE

Techniques For Learning

Common Questions

Why is this so hard?

Because you're learning it for the first time. The more consistent you're the easier it will become. Everything is hard at the start.

Why do I suck at #?

Because you are not consistent and you do not put in the effort.

How do I get better at #?

Consistency & Effort. Read, Write, & Solve complex programs/problems/projects everyday and understand how the concepts relate to each other. No other way.

Master One Area > Know Foundations > Nothing

Information Systems, Networks, Databases, Cybersecurity, Cloud, DevOps, Machine Learning/Data Science, Game/Mobile/Software/Web Development

IT Certifications Map

CompTIA Map

Applied CS Map

CS Foundations Map

Always Remember

"Sometimes it is the people no one imagines anything of who do the things that no one can imagine." - Alan Turing

"Everything was made up by people that were no smarter than you” - Steve Jobs

"You have to communicate. And a lot of sort of caricature nerds forget that. They think that if they can just write the best code, they'll change the world. But you have to be able to listen. You have to be able to communicate with your would-be users and learn from them. And you have to be able to communicate your ideas to them." - Bjarne Stroustrup

Useful learning strategies

Iceberg Model

First Priniciples

Concept Map

Issue Trees

Socratic Method

CHATGPT (USE AI AS A LEARNING TOOL)

Useful Models

Layers of Abstraction

How MicroChips Work

Inside The Miracle Of The Micro Chip

Client-Server Model

Onion Model

Internet protocol packet

The Internet protocol suite

Programming Paradigms

CPU

Network security

Projects To Work On

*List of Projects
1. Build Your Own Website (Web Development)
2. Build Your Own Web Server (Web Development)
3. Build Your Own Network Stack (Networks)
4. Build Your Own Database (Databases)
5. Build Your Own Self Hosted Network (Networks)
6. Build Your Own BitTorrent Client (Networks)
7. Build Your Own Model (Machine Learning/Data Science)
8. Build Your Own Blockchain (Cybersecurity)
9. Build Your Own Docker (DevOps/Cloud Computing)
10. Build your Own Encryption Tool (Cybersecurity)
11. Build Your Own Compiler (Software Development)
12. Build Your Own Video Game (Game Development)
13. Build Your Own 3D Renderer (Game Development)
14. Build Your Own Augmented Reality (Game Development)
15. Build Your Own Neural Network (Machine Learning)
16. Build Your Own Text Editor (Software Development)
17. Build Your Own Cloud-based Service (DevOps/Cloud Computing)
18. Build Your Own Search Engine

Basic Fundamentals

Programming Languages

Python

Libraries (NumPy, Pandas, Matplotlib, Requests, BeautifulSoup, SciPy, Scikit-Learn, TensorFlow, PyTorch)

Frameworks (Django, Flask)

Java

Libraries (Apache Commons, Google Guava, Junit, SLF4J/Logback, Spring/Spring Boot, Hibernate, Apache Maven)

Frameworks (Spring Boot, JavaServer Faces (JSF), Hibernate, Struts)

C & C++

Libraries (POSIX, glibc, Boost, Eigen, OpenCV)

General Atmosphere of all Languages

100+ Programming Languages
High-level

Python, Java-Family (Scala, Kotlin, Groovy), C#, JavaScript-Family (TypeScript, CoffeeScript, Dart), Ruby, Swift

System Programming Language

C++, Go, Rust, Zig

Low-level

Assembly Language, C-Family

Scripting

Bash, PowerShell, Python, Perl, JavaScript, PHP

DSL (Domain-Specific Language)

SQL, HTML, CSS, R

Web Development

HTML

CSS

Frameworks (Bootstrap) (Tailwind CSS)

Javascript

Frontend Development (React) (Angular) (Vue.js) (Next.js) (Nuxt.js)

Backend Development (Node.js) (Express.js)

Operating Systems

Linux

Mac

Windows

iOS

Android

Unix

FreeBSD

OpenBSD

NetBSD

Basic Terminology

File Systems, Permissions, Process Management, Kernel, Memory Management, Device Drivers, System Calls, Multitasking, Inter-process Communication (IPC), User Interface (UI), Command Line Interface (CLI), Graphical User Interface (GUI), Virtualization

Terminals, Command Prompt, & Shell Scripting

Basic Commands

touch (filename)

mkdir (directory)

cd (directory)

rm (filename)

rm -r (directory)

Git

Basic Commands

git add

git commit

git push origin

git pull

git branch

git checkout

Basic Terminology

README.md

Markdown

commit, push, pull, branch, merge, rebase

.gitignore

repos

cloning

forking

Git Hosting

Github

Gitlab

Codeberg

Basic Text Editors

Visual Studio Code

Vim

Artificial Intelligence

Turing Machines

Machine Learning

Deep Learning

Hugging Face

(NumPy, Pandas, Matplotlib, SciPy, SymPy, IPython, Scikit-Learn, TensorFlow, Pytorch)

ChatGPT

Basic Terminology

Supervised Learning, Unsupervised Learning, Linear Regression, Deep Learning, Neural Networks, Gradient Descent, Backpropagation, Reinforcement Learning, Reinforcement Learning, Pipeline, AutoClass, AutoTokenizer, AutoModel, Saving Models, Custom Models, Trainer

Internet

Pretty Meta

The Internet (Khan Academy's Course)

Networks

Servers

Browsers

Internet Protocols

HTTP, HTTPS, DNS, IP, TCP, UDP

Basic Terminology

cookies, sessions, web servers, client-server model, CDN (Content Delivery Network), IP Address, domain names

OOP

Classes

Objects

Libraries

Frameworks

Inheritance

Polymorphism

Encapsulation

Abstraction

SOLID principles (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion)

Design patterns (Factory, Singleton, Observer)

Cybersecurity

Attacks

SQL injection, Cross-site scripting (XSS), Cross-Site Request Forgery (CSRF), Phishing, Man-in-the-middle (MitM), Denial of Service (DoS), Distributed Denial of Service (DDoS), Malware, Brute Force, Social Engineering, Advanced Persistent Threats (APT), Zero-day Exploits, DNS Tunneling, Insider Threats

Cryptography

Symmetric Cryptography, Asymmetric Cryptography, Hash Functions, Digital Signatures, Key Exchange, Digital Certificates, Cryptocurrency

Cryptography Libraries (OpenSSL for C) (Crypto++ for C++) (PyCrypto for Python)

Security

Network security, Application security, Information security, Firewall, VPN (Virtual Private Network), Encryption, Decryption, Two-factor authentication, Privacy Policy, Intrusion Detection System (IDS), Intrusion Prevention System (IPS), Antivirus and Antimalware Software, Secure Sockets Layer (SSL) / Transport Layer Security (TLS), Security Information and Event Management (SIEM), Security Policy, Incident Response, Password Management Tools, Multi-factor Authentication, Security by Design

Databases

SQL

MySQL, PostgreSQL, Oracle, SQL Server

NoSQL

MongoDB, Apache Cassandra, Google Firebase

Basic Terminology

normalization, transactions, ACID properties, SQL queries, indexing, joins, primary key, foreign key, schema

Cloud

Cloud Services

AWS, Google Cloud, Azure, Digital Ocean, Heroku, IBM Cloud, Oracle Cloud

DevOps and CI/CD tools

Jenkins, Docker, Kubernetes

Basic Terminology

Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), virtualization, load balancing, scalability, elasticity, disaster recovery

Game & App Development

Android (Java, Kotlin)

Android Developer

iOS and macOS (Swift, Objective-C)

Apple Developer, Swift Resources

Windows (C#, C++)

Windows Developer

Engines

Godot (C++) (Uses GDScript, similar to Python, and C#)

Unreal Engine (C++)

GameMaker (Uses GML, similar to JavaScript)

Libraries/Frameworks

SDL (Simple DirectMedia Layer, for C++)

Pygame (for Python)

Monetization Platforms

Steam , Steam Partner

Epic Games

App Store

Google Play

Basic Terminology

Game loop, sprites, assets, animations, scenes, prefabs, colliders, rigid bodies, vectors, game physics

Math Fundamentals

Algebra

*Algebra Cheatsheet

Solving linear equations and inequalities

Graphing and interpreting linear and quadratic functions

Polynomial, rational, and radical expressions

Trigonometry

*Trig Cheatsheet

*Trig Review

Trigonometric ratios and identities

Graphs of trigonometric functions

Trigonometric equations and applications

Laws of sines and cosines

Calculus

*Calc Cheatsheet

Limits and continuity

Differentiation and its applications

Integration and its applications

Sequences and series

2D/3D Differentiation

2D/3D Integration

Linear Algebra

*Linear Algebra Book

Vectors and vector spaces

Matrices and determinants

Linear transformations and eigenvalues

Systems of linear equations

Statistics and Probability

*Probability Cheatsheet

Properties of Probability (Methods of Enumeration, Conditional Probability, Independent Events, Bayes' Theorem, Mathematical Expectation, Random Variables, PMF, CDF, PDF, Mean = E[x] = u, Variance = Var[x] = σ^2, MGF, Indicator, Standard Deviation, Covariance, Correlation)

Discrete Distributions (Hypergeometric Distribution, Binomial Distribution, Bernoulli Distribution, Geometric Distribution, Negative Binomial Distribution, Poisson Distribution)

Continuous Distributions (Uniform Distribution, Normal Distribution, Exponential Distribution, Gamma Distribution, Beta Distribution, Chi-Square Distribution)

Multivariate Distributions (Bivariate Distribution, Multinomial Distribution, Multivariate Uniform Distribution, Multivariate Normal (MVN) Distribution)

Discrete Mathematics

Logic and proofs

Sets, functions, and relations

Graph theory

Combinatorics and counting

Discrete probability

Physics

Mechanics

*Mechanics Workbook

Unit Conversions, Metric System, Scientific Method

Vectors in 2D and 3D

Newton's laws of motion

Conservation laws (energy, momentum)

Motion in one and two dimensions (kinematics)

Circular motion and rotational dynamics

Oscillations and waves

Electricity & Magnetism

*Electricity/Magnetism Workbook

Electric forces and fields

Electric potential and voltage

Electric current, resistance, and Ohm's law

Circuits and their elements (resistors, capacitors, inductors)

Magnetic forces and fields

Electromagnetic induction and Faraday's law

Maxwell's equations (basic understanding)

Chemistry

Valence Electrons
Silicon
Transistors & Semiconductors

Doping Materials (n-type: phosphorus, arsenic, antimony p-type: boron, gallium, indium)

Gallium Arsenide

Conductive Materials

Copper

Gold

Insulators and Dielectrics

Silicon Dioxide

Silicon Nitride

Assembly and Packaging

Solder Materials

Thermal Interface Materials (TIMs)

Computer Engineering

Analog vs Digital

Basics of Semiconductors

Transistors (CMOS) (NMOS) (PMOS)

Resistors

Capacitors

Inductors

Diodes

Binary

Logical Circuits

Boolean Algebra (De Morgan's)

SOP/POS

Truth Tables

Logic Gates (AND) (OR) (NOT) (NOR) (XOR) (NAND) (XNOR)

Combinational Circuits

Multiplexers (2:1) (4:1) (8:1) (16:1) (32:1)

Decoders (1-Hot) (0-Cold) (2:4) (3:8) (4:16)

Encoders

Arithmetic Circuits

Adder (Half) (Full)

Sequential Circuits

Latches (SR) (Gated) (D)

Flip-flops (D) (JK) (T)

Clocks

Counters

Registers

Asynchronous Circuits

Computer Design Tools

Computer-Aided Design (CAD) tools

Verilog (Hardware Description Language - HDL)

Testing Logic Circuits

Integrated Circuits

Digital ICs

Projects To Work On

Computer Hardware

Central Processing Unit (CPU) (Arithmetic Logic Unit (ALU)) (Control Unit) (Registers) (Cache)

Graphics Processing Unit (GPU) (Shader Cores) (Memory) (Rasterization Circuits) (Parallel Processing Units)

Hard Drives (Read/Write Heads) (Spindle Motor Control) (Data Encoding/Decoding) (Cache Memory)

Motherboards (Bus) (Clock Circuit) (Voltage Regulators) (BIOS/UEFI Firmware)

Random Access Memory (RAM) (Memory Cells) (Address Decoder) (Data Bus)

Power Supply Unit (PSU) (Transformers) (Rectifiers) (Voltage Regulators)

Input/Output (I/O) Ports and Controllers (Serial and Parallel Ports) (USB Controllers) (Audio and Video Ports)

Network Interface Cards (NICs) (Data Link Controller) (MAC Address Circuit) (PHY (Physical Layer) Circuit)

Cooling Systems (Fan Controllers) (Thermal Sensors)

Solid-State Drives (SSDs) (Flash Memory) (Wear Leveling Circuit) (Controller)

Interfacing and Communication Protocols (SPI, I2C, UART) (Ethernet) (Wi-Fi and Bluetooth)

Microcontrollers and Microprocessors (Architecture) (Programming) (Peripheral Interfacing)

FPGA Programming and Design (HDL Programming) (Digital System Design)

Analog Electronics (Amplifiers) (Oscillators)

Power Electronics (Converters) (Motor Drives)

Electronic Measurement and Instrumentation (Measurement Techniques) (Instrumentation)

Control Systems (Control Theory) (PID Controllers)

Embedded Systems Design (RTOS) (Embedded C Programming)

Algorithms

Sorting Algorithms

QuickSort

MergeSort

Search Algorithms

Binary Search

Breadth-First Search (BFS)

Depth-First Search (DFS)

Graph Algorithms

Dijkstra’s Algorithm

Floyd-Warshall Algorithm

Machine Learning Algorithms

Linear Regression

Gradient Descent

Convolutional Neural Networks (CNNs)

Cryptographic Algorithms

RSA Algorithm

AES (Advanced Encryption Standard)

Dynamic Programming Algorithms

Fibonacci Sequence (using memoization)

Knapsack Problem

Divide and Conquer Algorithms

QuickSort

MergeSort

Greedy Algorithms

Huffman Coding

Prim’s and Kruskal’s Algorithms

Geometric Algorithms

Convex Hull Algorithms (Graham Scan)

Network Flow Algorithms

Ford-Fulkerson Algorithm

String Matching Algorithms

KMP (Knuth-Morris-Pratt)

Rabin-Karp Algorithm

NP-Complete Problems and Approximation Algorithms

Travelling Salesman Problem (TSP)

Randomized Algorithms

QuickSort

Randomized Quicksort

Compression Algorithms

Lempel-Ziv-Welch (LZW)

Huffman Coding

Game Theory and Minima Algorithms

Minimax Algorithm

Computational Geometry Algorithms

Line Intersection and Polygon Triangulation

Scheduling Algorithms

Round-Robin Scheduling

Earliest Deadline First (EDF)

Parsing Algorithms

LR and LL Parsers

Numerical Algorithms

Newton-Raphson Method

Gaussian Elimination

Optimization Algorithms

Gradient Descent

Simulated Annealing

Graduate Jobs

Systems Analyst

IT Project Manager

Network Administrator

Database Administrator

Cybersecurity Analyst

Cloud Engineer

DevOps Engineer

Front-end Developer

Back-end Developer

Full Stack Developer

Data Scientist

Artificial Intelligence

Books

Remember, you don't have to actually buy them - only focus on the information you need for the area you're going into (use the iceberg model in combination with first principles). You can always copy and paste pdf text into chatgpt and use it for basic summaries if you need help

Mathematical Foundations

Algorithms and Data Structures

Artificial Intelligence and Machine Learning

Computer Architecture and Systems

Computer Graphics and Visualization

Databases and Data Mining

Human-Computer Interaction (HCI)

Networks and Security

Programming Languages and Compilers

Robotics

Scientific Computing

Software Engineering

Theory of Computation

Online Resources

Certifications

Coding Interview University

Teach Yourself Computer Science

FreeTechBooks

Open Textbook Library

FreeProgrammingBooks

Brutalist Report

Tech Urls

MIT

Stanford

Berkeley

Carnegie Mellon

Academia

Coursera

arxiv (GET USE TO READING RESEARCH PAPERS)

CS Rankings (Uni)

Trending AI/ML Papers

Codecademy

edX

LeetCode

Golden

Dzone

GeeksForGeeks

Learn Cybersecuirty

Learn DevOps

Guru99

Nesoacademy

Stackoverflow

Ben Eater

3blue1brown

Computer Science

Sizeofcat

Kaggle

Cool Binary Tool

HackerRank

Pluralsight

Carbon

Exercism

Codesandbox

Vimawesome

Vim Themes

MDN Web Docs

Github Skills

Chatgpt

Narrow AI Tools

Udacity

Udemy

freeCodeCamp

W3schools

Wikipedia

Codeprojects

Math For Machine Learning Map

Design Patterns

Data Science Tutorial

Data Science Toolkit

CS Map