Skip to content

Monsieur-Nico/Self-Education-in-Computer-Science

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Self-Education-in-Computer-Science

A completely free program to learn computer science course by course

Introduction to Computer Science (1-2 weeks)

  • Overview of computer science
  • Introduction to programming
  • Overview of algorithms and data structures
  • Basic computer organization and architecture

Resources:

Programming Fundamentals (4-6 weeks)

Resources:

Data Structures and Algorithms (12-16 weeks)

  • Basic data structures (arrays, linked lists, stacks, queues)
  • Advanced data structures (trees, graphs, hash tables)
  • Algorithm analysis and design
  • Searching and sorting algorithms
  • Recursion
  • Dynamic programming
  • Greedy algorithms
  • Divide and conquer algorithms

Resources:

Computer Architecture and Systems (8-12 weeks)

  • Overview of computer hardware and software
  • Operating systems
  • Memory management
  • Input/output systems
  • Computer networks
  • Distributed systems

Resources:

Database Systems (8-12 weeks)

  • Introduction to databases
  • Relational database systems (SQL)
  • Database design and normalization
  • Querying and manipulating data
  • Database administration

Resources:

Web Development (8-12 weeks)

  • Front-end development (HTML, CSS, JavaScript)
  • Back-end development (web frameworks, server-side programming)
  • Database integration (SQL, ORM)
  • Security and authentication

Resources:

Software Engineering (8-12 weeks)

  • Software development life cycle
  • Software project management
  • Requirements engineering
  • Testing and quality assurance
  • Software maintenance and evolution

Resources:

Artificial Intelligence and Machine Learning

  • Overview of artificial intelligence and machine learning
  • Supervised learning algorithms (linear regression, logistic regression, decision trees, support vector machines, k-nearest neighbors, naive Bayes) (4-6 weeks)
  • Unsupervised learning algorithms (clustering, dimensionality reduction) (4-6 weeks)
  • Reinforcement learning
  • Neural networks and deep learning (4-6 weeks)
  • Natural language processing
  • Computer vision

Resources:

Computer Graphics and Visualization (8-12 weeks)

  • Graphics pipelines
  • Geometric transformations
  • 2D and 3D graphics primitives
  • Rendering techniques (ray tracing, rasterization)
  • Animation and simulation
  • Visualization techniques

Resources:

Human-Computer Interaction (8-12 weeks)

  • Principles of user interface design
  • User-centered design processes
  • Usability testing and evaluation
  • Interaction design
  • Information visualization
  • Accessibility

Resources:

Cybersecurity (8-12 weeks)

  • Network security
  • Cryptography
  • Authentication and access control
  • Malware analysis and detection
  • Security risk assessment and management

Resources:

Software Development Tools (4-6 weeks)

  • Version control systems (Git)
  • Integrated development environments (IDEs)
  • Debugging and profiling tools
  • Build automation and continuous integration (Jenkins)

Resources:

Mathematics for Computer Science (8-12 weeks)

  • Discrete mathematics
  • Linear algebra
  • Probability and statistics
  • Calculus
  • Number theory

Resources:

Ethics and Society in Computing (8-12 weeks)

  • Ethical issues in computing
  • Social and political implications of computing
  • Privacy and security issues
  • Intellectual property and copyright
  • Global impact of computing

Resources:

Hope this will be beneficial to all of the readers as much as it has been beneficial for me as well. Please keep in mind all the estimated times to finish these courses are based on having a full-time job while studying.

About

A completely free program to learn computer science course by course

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published