- Notifications
You must be signed in to change notification settings - Fork51
The complete syllabus of Computer Science and Engineering. Roadmap, Checklist for Beginners.
License
apeman/awesome_computer_science
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This is the complete syllabus ofComputer Science and Engineering UG.
- 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.
- Mathematics Syllabus can be found here
- Cloud computing can be a subject in itself. The basics are listed under Computer Networks
- Design and Analysis of AlgorithmsOpens in new Tab
- Operating Systems
- Computer Networks
- DBMS and SQL
- Software Engineering
- 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
- 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)
- Automata and Languages
- 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
The language almost every computer knows
- Character constants, escape sequences, string constants
- Data types and Type conversion
- Precedence and associativity ofOperators
- Functions
- storage class andvariable 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 tryPython for same topics)
Used in almost everything from Games to Browsers to Machine learning and beyond
- Arrays
- Linked Lists
- Skip ListsPDF
- Skip-Lists done rightSuggested Reading
- Hash Tables,2
- stack andqueue andset
- Trees andTries
- Self Balancing Trees (BST, AVL, Splay)
- Red-Black Trees
- Segment Trees
- Graphs ,Some Code
- Adjacency matrix vs Adjacency list
- Searching
- Binary Search
- Priority Queues
- Sorting
- Merge Sort
- Quick Sort
- Insertion Sort
- Selection Sort
- Graph Traversal
- Breadth First Search
- Depth First Search
- Dijkstra's Algorithm
- Bellman Ford (Cycle detection & Negative edges)
- Shortest Paths
- Minimum Spanning Trees
- space-time Complexity
- Book Recommendations:
- The Algorithm Design Manual by Steven Skiena
- Algorithms by Jeff Erickson
- Knowledge Representation andReasoning
- 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
FCC quick commands |Graphical view |ALL SQL Commands
- 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
- SUBQUERIES
- Subqueries
- WINDOW FUNCTIONS(Optional) Advanced SQL
- Window Functions
- 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
- 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
- IO Scheduling
- Shortest Seek Time First
- Disk Scheduling Algorithms
- File Systems
- File Allocation Tables.
- OS Security
- Firewall
- Malware and Antiviruses
- Unix commands
- Multithreading and Context Passing in Programming languages
Layers of TCP and OSI
- Application.
- Presentation.
- Session.
- Transport.
- Network.
- Data.
- Physical.
Flow and Congestion Control
- Flow Control
- Congestion Control
- Error Control
Routers and Routing Algorithms
- DHCP and static routing
- DHCP | ICMP
- Bellman Ford
- Round Robin and others
UDP and Sockets
IPv4 | IPv6
Autonomous Systems
Application Layer Protocols
- HTTP | FTP
- DNS | SMTP
- Email MIME Types | POP | IMAP
Cloud Computing
- SAAS | PAAS | IAAS (AAS : As A Service)
- Full and Para Virtualization : KVM/QEMU
- Virtual Machines and Hypervisors ( Bare Metal | Hosted )
- Clones | Snapshots | Horizontal and Vertical Scaling
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
You will need these when you make projects
- Encryption Algorithms
- DES, AES, Blowfish, Whirlpool, One Time Pad
- Avalanche effect, Entropy
- Hashing Algorithms
- SHA family, MD5
- Key Distribution
- RSA, Kerberos
- Digital Signatures
- Compression
- Firewalls
- Steganography
- Network Security
Supervised Learning
Un-supervised Learning
Image ProcessingWorth learning
You can study Web Development fromMozilla Developer Network Website.
Front-End
BackEndChoose any language
- Golang ORTodd Mcleod's Udemy Course
- Python Flask
- Git internals
- Messaging Queues
Not mandatory, just get the overview
- Concepts and principles
After you are done with all this and want to make projects, check outProjects you can make
About
The complete syllabus of Computer Science and Engineering. Roadmap, Checklist for Beginners.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.