Computer Scientists are fundamentally problem-solvers. They analyze problems, design efficient solutions(often in the forms of algorithms), and then use programming languages to implement those solutions.
Computer Science is the study of computation and information. It's all about solving complex problems using computational tools and techniques, breaking problems in to manageable parts(work break-down structure), and designing efficient solutions. It's not just about writing code or fixing computers, although those are practical applications. It's a much broader academic discipline that encompasses:
Algorithms: The systematic procedures or sets of rules used to solve problems. This is arguably the most fundamental concept in CS.
Data Structures: The ways in which data is organized and stored to facilitate efficient access and modification.
Theory of Computation: Exploring the limits and capabilities of computation – what can be computed, and how efficiently.
Artificial Intelligence: Designing intelligent agents that perceive their environment and take actions to maximize their chance of achieving goals.
Computer Architecture: The design of computer systems, from the hardware components to their interconnection.
Programming Languages: The formal languages used to express algorithms and interact with computers.
Software Engineering: The systematic approach to designing, developing, operating, and maintaining software.
Networking: The study of how computers communicate with each other.
Databases: The organized collection of data, and the systems for managing it.
----
Basics(videos):
1. Computer science in 15min @ https://www.youtube.com/watch?v=CxGSnA-RTsA
2. Computer & Technology Basics Course for Absolute Beginners @ https://www.youtube.com/watch?v=y2kg3MOk1sY
3. What's an algorithm? @ https://www.youtube.com/watch?v=6hfOvs8pY1k
4. Harvard Professor Explains Algorithms in 5 Levels of Difficulty @ https://www.youtube.com/watch?v=fkIvmfqX-t0
Basics(long videos):
1. FreeCodeCamp Introduction to Programming and Computer Science @ https://www.youtube.com/watch?v=zOjov-2OZ0E
2. NPTEL Introduction to Computer Architecture @ https://www.youtube.com/watch?v=4TzMyXmzL8M
3. Carnegie Mellon Introduction and Basics: Computer Architecture @ https://www.youtube.com/watch?v=BJ87rZCGWU0
4. Harvard CS50 (2023) Full Computer Science University Course @ https://www.youtube.com/watch?v=LfaMVlDaQ24
5. FreeCodeCamp Operating System Course for Beginners @ https://www.youtube.com/watch?v=yK1uBHPdp30
6. MIT OpenCourseWare Algorithmic Thinking, Peak Finding @ https://www.youtube.com/watch?v=HtSuA80QTyo
7. Stanford CS229 I Machine Learning I Building Large Language Models (LLMs) @ https://www.youtube.com/watch?v=9vM4p9NN0Ts
Basics (using Python):
1. MIT OpenCourseWare Introduction to CS and Programming @ https://www.youtube.com/watch?v=xAcTmDO6NTI
2. MIT OpenCourseWare Introduction to Computer Science and Programming @ https://www.youtube.com/watch?v=k6U-i4gXkLM
3. MIT OpenCourseWare Object Oriented Programming @ https://www.youtube.com/watch?v=-DP1i2ZU9gk
4. Harvard CS50’s Artificial Intelligence @ https://www.youtube.com/watch?v=5NgNicANyqM
Basics (playlists):
1. MIT OpenCourseWare Introduction to CS and Programming using Python @ https://www.youtube.com/playlist?list=PLUl4u3cNGP62A-ynp6v6-LGBCzeH3VAQB
2. MIT OpenCourseWare Introduction to Algorithms @ https://www.youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY
3. MIT OpenCourseWare Fundamentals of Systems Engineering @ https://www.youtube.com/playlist?list=PLUl4u3cNGP60jIMmB53zl6awCKMnABhYx
4. MIT OpenCourseWare Learn Differential Equations @ https://www.youtube.com/playlist?list=PLUl4u3cNGP63oTpyxCMLKt_JmB0WtSZfG
5. MIT OpenCourseWare Probabilistic Methods in Combinatorics @ https://www.youtube.com/playlist?list=PLUl4u3cNGP61cYB5ymvFiEbIb-wWHfaqO
6. MIT OpenCourseWare Mathematics of Machine Learning @ https://www.youtube.com/playlist?list=PLUl4u3cNGP62uI_DWNdWoIMsgPcLGOx-V
7. MIT OpenCourseWare Introduction to Psychology @ https://www.youtube.com/playlist?list=PLUl4u3cNGP615Y1j9Ok3szAH5DxhFjTHo
Advanced (playlists):
1. Stanford CS229: Machine Learning Full Course taught by Andrew Ng | Autumn 2018 @ https://www.youtube.com/playlist?list=PLoROMvodv4rMiGQp3WXShtMGgzqpfVfbU
2. Stanford CS229: Machine Learning Course | Summer 2019 (Anand Avati) @ https://www.youtube.com/playlist?list=PLoROMvodv4rNH7qL6-efu_q2_bPuy0adh
3. Stanford CS221: Artificial Intelligence: Principles and Techniques | Autumn 2019 @ https://www.youtube.com/playlist?list=PLoROMvodv4rO1NB9TD4iUZ3qghGEGtqNX
4. Stanford CS109 Introduction to Probability for Computer Scientists | 2022 (Chris Piech) @ https://www.youtube.com/playlist?list=PLoROMvodv4rOpr_A7B9SriE_iZmkanvUg
NPTEL Courses (playlists):
Please refer https://coloryourcareer.blogspot.com/2021/06/national-programming-on-technology.html