0% found this document useful (0 votes)
22 views10 pages

GitHub - Apeman - Awesome - Computer - Science - The Complete Syllabus of Computer Science and Engineering. Roadmap, Checklist For Beginners.

The document outlines a comprehensive syllabus for Computer Science and Engineering, divided into four main parts covering hardware, programming, daily applications, and real-life uses of computer science. It includes detailed topics such as digital electronics, compiler design, data structures, algorithms, operating systems, and machine learning. Additionally, it provides resources for further learning and project ideas, all under the Mozilla Public License.

Uploaded by

theaccursedsage
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views10 pages

GitHub - Apeman - Awesome - Computer - Science - The Complete Syllabus of Computer Science and Engineering. Roadmap, Checklist For Beginners.

The document outlines a comprehensive syllabus for Computer Science and Engineering, divided into four main parts covering hardware, programming, daily applications, and real-life uses of computer science. It includes detailed topics such as digital electronics, compiler design, data structures, algorithms, operating systems, and machine learning. Additionally, it provides resources for further learning and project ideas, all under the Mozilla Public License.

Uploaded by

theaccursedsage
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

apeman / awesome_computer_science Public

Code Issues Pull requests Actions Projects Security Insights

main Go to file Code About

The complete syllabus of Computer


apeman Update README.md … on Oct 23 145 Science and Engineering. Roadmap,
Checklist for Beginners.
LICENSE Create LICENSE 3 years ago
# css # computer-science # ui-design
Mathematics.md Update Mathematics.md last year
# cryptography # cloud # compression

README.md Update README.md 2 months ago # programming # computer-vision # algorithms

# graphics # game-development
what-should-i-c… Update what-should-i-code.md 8 months ago
# artificial-intelligence # data-structures

# assembly-language # database-management

README.md # awesome-list # operating-systems

# browsers # compiler-design

Computer Science and # computer-networks

Engineering Roadmap and Readme

MPL-2.0 license
Checklist Activity

106 stars
This is the complete syllabus of Computer Science and
1 watching
Engineering UG.
12 forks

Computer Science is divided in 4 parts Report repository

Computer Science 1 : Hardware and Engineering part.


Computer Science 2 : Everything that is required to write Contributors 3
Programs.
Computer Science 3 : Daily Computer Science. apeman The Enlightened

Computer Science 4 : Real Life Applications of CS. Tyuzu Tyuzu

Discrete MathematicsPDF is necessary for understanding Graphs.

Mathematics Syllabus can be found here

Table of Contents

Computer Science 1

Digital Electronics
Computer Organization and Architecture
Theory of Computation and Automata

Computer Science 2

Compiler Design
Programming
Data Structures
Algorithms
Artificial Intelligence

Computer Science 3

Operating Systems
Computer Networks
DBMS and SQL
Software Engineering

Computer Science 4

Cryptography
Machine Learning
Computer Graphics
Web Dev

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


NFA - DFA
Regular Expressions
Context-Free Languages and Grammers
Pushdown Automata
Turing Machines
Decidability of Languages
Reducibility of LanguagesIgnore if too complex
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
Golang reference specificationsIf you want to red an easy
specification
Programming

Learn C

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

Everything mentioned in C
namespaces
Classes and Objects
Access Controls : Public, Private, Protected
Member Functions and Friend Functions
Function Overloading
Constructor and Destructors
Inheritence, Polymorphism
Templates

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

Artificial Intelligence

Knowledge Representation and Reasoning


First Order Logic
Predicate Logic
Forward Chaining and backward chaining
State Space
State Space Search
Search
Simulated annealing
Hill ClimbingMust know
A*Must know
MinMaxEasiest Algorithm in AI
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

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

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
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
Message Digest
Compression
History.
Firewalls
Network Security
Honeypots
Man in the middle attacks
DDOS prevention
SSL and TLS

Data Science and Machine Learning

Bias and Variance

Supervised Learning

Classification
Regression

Un-supervised Learning

Clustering
k-Nearest Neighbours

Image ProcessingWorth learning

Transformation and Translation

Web Development

You can study Web Development from Mozilla Developer


Network Website.

MDN Getting Started Guide

Front-End

HTML5
CSS3
JavaScript
Web Forms
Accessibility
Tools and Testing
DNS and Domain Names
JSON and other formats and YAML

BackEnd

Golang

Computer Graphics

Not mandatory, just get the overview

Concepts and principles


OpenGL basics : lines, planes, vertex and edges
Pixels
Rendering
Shading
Texturing
Ray Tracing
Raycasting

After you are done with all this and want to make projects, check out
Projects you can make

LICENSE

Mozilla-Public-License

You might also like