Complete syllabus of Computer Science and Engineering (UG), structured as a practical checklist.
Computer Science is divided into 4 parts:
- Computer Science 1 – Hardware & Engineering
- Computer Science 2 – Programming & Core CS
- Computer Science 3 – Daily / Systems CS
- Computer Science 4 – Real-World Applications
📘 Discrete Mathematics PDF is required for understanding graphs
📐 Mathematics Syllabus
☁️ Cloud computing basics are covered under Computer Networks
- Design and Analysis of Algorithms
- Operating Systems
- Computer Networks
- DBMS and SQL
- Software Engineering
-
- Number Systems
- Arithmetic Operations
- 1’s & 2’s Complement
- Karnaugh Maps
-
Hardware
- Logic Gates
- Flip-Flops & Latches
- Adder / Subtractor
- Encoder / Decoder
- Multiplexer / Demultiplexer
- Integrated Circuits
- Printed Circuit Boards
-
Computer Organization
- Address Bus, Data Bus
- ROM, EPROM, RAM
- Memory Hierarchy & Cache
- Virtual Memory
- Secondary Storage
- PLDs & Controllers
- Input / Output Devices
-
Computer Architecture
- Stack & Registers
- Endianness
- Floating Point Numbers
- Addressing Modes
- Pipelining
- Interrupts
- RISC vs CISC
- aarch64, x86 / AMD64, MIPS, RISC-V
- Assembly Language
- Automata and Languages
- Lexical Analysis
- Syntax Analysis
- Type Checking
- Intermediate Code Generation
- Optimization
- Code Generation
- Assembly & Linking
- Memory Management
- Interpreters
- Golang Specification
-
- Data Types & Type Conversion
- Operators & Precedence
- Functions & Scope
- Control Flow
- Arrays, Strings, Pointers
- Structs, Union, Enum
- Dynamic Memory
- File I/O
- math.h
-
- Namespaces
- Classes & Objects
- Access Control
- Constructors & Destructors
- Inheritance & Polymorphism
- Templates
-
Arrays
-
Linked Lists
-
Hash Tables
-
Stack, Queue, Set
-
Trees
- BST, AVL, Splay
- Red-Black Trees
- Segment Trees
- Tries
-
Graphs
- Adjacency Matrix
- Adjacency List
- Searching (Binary Search, Priority Queue)
- Sorting (Merge, Quick, Insertion, Selection)
- BFS / DFS
- Dijkstra
- Bellman-Ford
- Minimum Spanning Trees
- Time & Space Complexity
- Knowledge Representation
- First Order Logic
- State Space Search
- Hill Climbing
- Simulated Annealing
- A*
- Min-Max
- Bayes Theorem
- Neural Networks
- Gradient Descent
- CNNs
- Backpropagation
-
- DDL, DML, DQL, DCL, TCL
- Joins
- Subqueries
- Aggregate Functions
- Window Functions
-
- ER Model
- Keys & Constraints
- Normal Forms
- Indexing
- Transactions
- ACID / BASE
- SQL Injection
- NoSQL
- Boot Process
- Processes & Threads
- IPC
- Scheduling Algorithms
- Deadlocks & Synchronization
- Memory Management
- Virtual Memory
- File Systems
- OS Security
- Unix Commands
- OSI & TCP/IP Layers
- Flow & Congestion Control
- Routing Algorithms
- UDP & Sockets
- IPv4 / IPv6
- BGP & OSPF
- HTTP, FTP, DNS, SMTP
- Cloud Computing Basics
- SDLC Models
- Cost Estimation
- COCOMO
- Risk Management
- Requirements Engineering
- Design Principles
- Testing & QA
- Encryption Algorithms
- Hashing
- Key Distribution
- Digital Signatures
- Compression
- Firewalls
- Steganography
- SSL / TLS
- Bias & Variance
- Supervised Learning
- Unsupervised Learning
- k-NN
- Clustering
- Image Processing
-
Frontend
- HTML5
- CSS3
- JavaScript
- Browser APIs
- Accessibility
-
Backend
- Go / Python
- Git Internals
- Message Queues
- OpenGL Basics
- Rendering
- Shading
- Texturing
- Ray Tracing
- Ray Casting
👉 https://github.com/apeman/awesome_computer_science/blob/master/what-should-i-code.md