adi-20 / awesome_computer_science

The complete syllabus of Computer Science and Engineering. Roadmap for Beginners.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Computer Science and Engineering Roadmap and Checklist

This is the complete syllabus of Computer Science and Engineering UG.

Do not get overwhelmed by the long list. This is the roadmap for 4 years of degree course.

You could finish this all in just 1 year with continuity

Computer Science is divided in 4 parts

Discrete Mathematics is necessary for understanding Graphs.

Mathematics is not mandatory but will be of good help while programming

Table of Contents

Computer Science - 1

Digital Electronics

  • Boolean Algebra

    • 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.
    • Input - Output Devices.
  • Computer Architecture

    • Stack.
    • Registers.
    • Endian_ness.
    • Floating Point Numbers.
    • Addressing Modes.
    • Pipelining.
    • Interrupts.
    • RISC - CISC.
    • aarch64, Intel_x86, MIPS. (Know the Architectures)
    • Assembly Language. (only basic instructions are enough)

Theory of Computation and Automata

  • Automata and Languages
    • NFA - DFA - NDFA.
    • Regular Expressions.
    • Context-Free Languages and Grammers.
    • Pushdown Automata.
    • Turing Machines.
    • Decidability of Languages.
    • Reducibility of Languages.
    • Complexity Theory : P vs NP

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.

Programming

  • Learn C

    The language every computer knows.

    • Character constants, escape sequences, and string constants
    • Data types
    • Type conversion
    • Precedence and associativity of operators
    • C identifiers
    • Functions
    • Mathematical functions <Math.h>
    • 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, argc argv
    • file iO, streams
  • C++

    Used in almost everything from Games to Browsers to Machine learning and beyond.

    • Everything C
    • Classes and Objects
    • Member Functions
    • Function Overloading
    • Constructor and Destructors
    • Inheritence
    • Access Controls
  • RubyOptional

    GitHub is made in Ruby.

  • PythonOptional

    Because Tensorflow, Numpy, Pandas and easy syntax.

Data Structures

  • Searching
    • Breadth First Search
    • Depth First Search
  • Sorting
    • Merge Sort
    • Quick Sort
  • Graph Traversal
    • Minimum Spanning Trees
    • Shortest Paths
  • space-time Complexity

Computer Science - 3

DBMS and SQL

  • SQL

    • 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
    • JOINS
    • FULL OUTER JOIN
    • LEFT JOIN
    • RIGHT JOIN
    • NATURAL JOIN
    • LEFT OUTER JOIN
    • RIGHT OUTER JOIN
  • DataBase Management Systems

    • 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
  • 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

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

Computer Science - 4

This is what gets you high paycheck

Cryptography

  • Encryption Algorithms
    • DES
    • AES
    • Whirlpool
    • One Time Pad
  • Hashing Algorithms
    • SHA family
  • Key Distribution
    • RSA
  • Digital Signatures
    • Message Digest
  • Compression

Artificial Intelligence

  • Knowledge Representation and Reasoning
  • State Space search
  • Search
    • Hill Climbing.
    • A*.
    • MinMax.
  • Neural Networks

Machine Learning

  • Bias and Variance

  • Supervised Learning

    • [Classification]
    • [Regression]
  • Un-supervised Learning

    • [Clustering]
    • [k-Nearest Neighbours]

Not mandatory but just get the overview

Web Dev

It is highly recommended that you study Web Development from Mozilla Developer Network Website.

LICENSE

Mozilla-Public-License

About

The complete syllabus of Computer Science and Engineering. Roadmap for Beginners.

License:Mozilla Public License 2.0