Computer Science and Engineering Roadmap and Checklist
This is the complete syllabus of Computer Science and Engineering UG.
Computer Science is divided in 4 parts
- Computer Science 1 : Hardware and Engineering part.
- Computer Science 2 : Everything that is required to write Programs.
- Computer Science 3 : Daily Computer Science.
- Computer Science 4 : Real Life Applications of CS.
Discrete MathematicsPDF is necessary for understanding Graphs.
Table of Contents
Computer Science 1
Computer Science 2
- Compiler Design
- Programming
- Data Structures
- Algorithms
- Design and Analysis of AlgorithmsOpens in new Tab
- Artificial Intelligence
Computer Science 3
Computer Science 4
Computer Science - 1
Digital Electronics
-
- Number System
- Addition, Subtraction
- Multiplication, Division
- 1's, 2's compliments
- k-maps
-
Hardware
- Logic Gates
- Flip-Flops and Latches
- Adder - Subtractor
- Encoder - Decoder
- Multiplexer - Demultiplexer
- Integrated Circuits
- Printed Circuit Boards
Computer Organization and Architecture
-
Computer Organization
- Address Bus, Data Bus
- ROM, EPROM, RAM
- Memory Hierarchy, Cache Memory, Virtual Memory
- Secondary Storage
- Programmable Logic Devices and Controllers
- Input - Output Devices
-
Computer Architecture
- Stack
- Registers
- Endianness (Big, Little)
- Floating Point Numbers
- Addressing Modes
- Pipelining
- Interrupts
- RISC - CISC
- aarch64, Intel_x86 / AMD64, MIPS / RISC-V (learn the differences)
- Assembly Language (basic instructions)
Theory of Computation and Automata
- Automata and Languages
Computer Science - 2
Compiler Design
- Compiler Design
- Lexical analysis
- Syntax analysis
- Type Checking
- Intermediate code generation
- Machine code generation
- Assembly and linking
- Analysis and optimisation
- Memory management
- Interpreters
- Golang reference specificationsIf you want to read an easy specification
Programming
-
The language almost every computer knows
- Character constants, escape sequences, string constants
- Data types and Type conversion
- Precedence and associativity of Operators
- Functions
- storage class and variable scope
- if, for, while, switch_case
- break, continue, goto
- Arrays, Strings, Pointers
- Structs, Union, enum, typedef
- Header files, #MACROS
- malloc, calloc, realloc | 2, new, argc argv
- input/output, file io, streams
- <Math.h>
-
C++ (You can try Python for same topics)
Used in almost everything from Games to Browsers to Machine learning and beyond
Data Structures
- Arrays
- Linked Lists
- Skip ListsPDF
- Skip-Lists done rightSuggested Reading
- Hash Tables, 2
- stack and queue and set
- Trees and Tries
- Self Balancing Trees
- n-ary Trees
- 2-3 Trees
- Graphs , Some Code
- Adjacency matrix vs Adjacency list
Algorithms
- Searching
- Breadth First Search
- Depth First Search
- Sorting
- Merge Sort
- Quick Sort
- Insertion Sort
- Selection Sort
- Graph Traversal
- Minimum Spanning Trees
- Shortest Paths
- space-time Complexity
https://xlinux.nist.gov/dads/Opens in new tab
[Design and Analysis of Algorithms](Artificial Intelligence
- Knowledge Representation and Reasoning
- First Order Logic
- Predicate Logic
- Forward Chaining and backward chaining
- State Space
- Search
- Simulated annealing
- Hill ClimbingMust know
- A*Must know
- MinMax
- Bayes' Theorem of Probability
- Neural Networks
- Weights and Layers (Neural Networks)
- Gradient Descent
- Convolutional neural networks(https://towardsdatascience.com/convolutional-neural-networks-from-the-ground-up-c67bb41454e1)
- Backpropagation
- Game Dev Basics
Computer Science - 3
DBMS and SQL
FCC quick commands | Graphical view
-
- Data Definition Language
- CREATE
- DROP
- ALTER
- TRUNCATE
- Data Query Language
- SELECT
- Data Manipulation Language
- INSERT
- UPDATE
- DELETE
- Data Control Language
- GRANT
- REVOKE
- Transction Control Language
- COMMIT
- ROLLBACK
- SAVEPOINT
- AGGREGATE FUNCTIONS
- COUNT | SUM | AVG | MAX | MIN
- JOINS
- FULL OUTER JOIN
- INNER JOIN
- LEFT JOIN | RIGHT JOIN
- NATURAL JOIN
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
-
- Entity-Relationship model.
- Integrity Constraints
- Primary Key and Foreign key
- Composite keys
- All other types of keys
- Normal Forms : 1NF to 4 NF
- File Organization.
- Indexing (B- Trees and B+ Trees)
- Transactions and Concurrency Control
- Conflict Serializability
- Locking
- ACID | BASE
- Database security
- SQL Injection
- Flat file / document database
- Object / JSON based database
Operating Systems
- The Boot Process
- Processes and Threads
- Process Control Block
- Dispatcher and Scheduler
- Inter Process Communication
- Mesage Passing
- Shared Memory
- Scheduling Algorithms
- Round Robin.
- Shortest Remaining Time First.
- Least Recently Used.
- Deadlocks
- MutEx and Locks
- Semaphores
- Banker's Algorithm
- Memory Management
- Paging and Page tables
- Segmentation
- First Fit, Next Fit, Best Fit
- Non-continuous Allocation
- Virtual memory
- Page Faults
- Page Replacement Algorithms
- Beladyโs Anomaly
- File Systems
- File Allocation Tables.
- Disk Scheduling Algorithms
- OS Security
- Firewall
- Malware and Antiviruses
- Unix commands
Computer Networks
-
Layers of TCP and OSI
- Application.
- Presentation.
- Session.
- Transport.
- Network.
- Data.
- Physical.
-
Flow Control
- Flow Control
- Congestion Control
- Error Control
-
Routers and Routing Algorithms
- DHCP and static routing
- Round Robin and others
- DHCP | ICMP
-
UDP and Sockets
-
IPv4 | IPv6
-
Application Layer Protocols
- HTTP | FTP
- DNS | SMTP
- Email MIME Types | POP | IMAP
Software Engineering After learning the above
-
Software development models
- Waterfall
- Spiral
- Iterative
- Agile
-
Software Cost Estimation
-
COCOMO Model
-
Risk Management
-
Software Requirement
- Software Requirement Specifications
- Data Flow Diagrams
-
Software Quality
- ISO standards 9001, 14001
- SEICMM
- Six Sigma
-
Software Design
- Software Design Principles
- Coupling and Cohesion
- Object-Oriented Design
- User Interface Design
-
Testing
Computer Science - 4
You will need these when you make projects
Cryptography and Network Security
- Encryption Algorithms
- DES, AES, Whirlpool, One Time Pad
- Hashing Algorithms
- SHA family
- Key Distribution
- RSA, Kerberos
- Digital Signatures
- Compression
- Firewalls
- Network Security
Data Science and Machine Learning
-
Supervised Learning
-
Un-supervised Learning
-
Image ProcessingWorth learning
Web Development
You can study Web Development from Mozilla Developer Network Website.
-
Front-End
-
BackEnd
Computer Graphics
Not mandatory, just get the overview
- Concepts and principles
After you are done with all this and want to make projects, check out Projects you can make