M3aarf Telegram

تعلم البرمجة

منهج كامل لدراسة علوم الحاسوب ذاتياً ومجاناً

6 مايو 2020

منهج كامل لدراسة علوم الحاسوب ذاتياً ومجاناً

Path to a free self-taught education in Computer Science 

 

منهج كامل لدراسة علوم الحاسوب ذاتياً ومجاناً

 

جامعة مجتمع المصدر المفتوح OSS UNIVERSITY

ما تقدمه جامعة مجتمع المصدر المفتوح ليس مجرد مجموعة من الكورسات ولكن هذا المنهج يعادل المحتوى الأساسي لمنهج درجة البكالوريوس في علوم الحاسوب .

 

التعريف بالفكرة:

هي فكرة بدأت في الموقع الشهير Github منذُ فترة وجيزة٬ حيثُ قام بعض المبرمجين – يطلقون على أنفسهم “جامعة مجتمع المصدر المفتوح OSS” – بتصميم منهج متكامل من مصادر مجانية كلياً لدراسة علوم الحاسوب كأنك تدرس في أحد الجامعات النظامية تماماً.

 

تم تصميم هذا المنهج بالاعتماد على توصيات شركة جوجل لمن يريدون تعلّم علوم الحاسوب٬ كما ويحتوي المنهج على كل المواضيع الحديثة حالياً٬ ومرّ المشروع بعديد من التغييرات منذ أن بدأ حتى تم الوصول للصورة النهائية المستقرة له التي سنقدمها لكم.

 

التجهيز:

قبل أن تبدأ في دراسة المنهج ربما يفيدك هذا الــ MOOC بعنوان “تعلّم كيف تتعلم” على منصة كورسيرا٬ حيثُ سيعلمك تقنيات التعلّم بكفاءة والتي يستخدمها الخبراء في كل المجالات

https://www.coursera.org/learn/learning-how-to-learn

 

كيف تقوم بالدراسة:

يفترض أن تسير بطريقة خطية في هذه المقررات٬ فعليك أن تأخذها بالترتيب٬ كمثال تبدأ بمقدمة إلى علوم الحاسوب وتدخل إلي الرابط سوف تجد مجموعة من الكورسات الفرعية تنتهي منها بترتيبها المقرر في الموقع٬ ويجبُ عليكَ أن تنتهي من كل الكورسات الفرعية في كل موضوع رئيسي.

 

مدة دراسة هذا المنهج سوف تختلفُ من شخص لآخر تبعاً للحافز والتفاني والعوامل الشخصية الأخرى٬ ولكن نصيحتنا أن تركز على جعل دراسة هذا المنهج عادة ولا تفكر في الأهداف حالياً٬ استثمر من وقتك على الأقل ساعتان يومياً.

 

كُنّ مبدعاً! تستطيع أن ترفع كفاءة تعلمك بعديد من الطرق كمثال قم بكتابة تدوينات تلخص فيها ما تتعلمه بانتظام وقم بنشر أكوادك البرمجية وملفات مشاريعك كي يستفيد منها الآخرين٬ يمكنك حتى أن تكون مجموعة دراسية وتسيرون معاً خلال هذه الرحلة.

 

بعد نهاية الرحلة قم باستخدام ما تعلمته لحل مشاكل في العالم الواقعي٬ ليس شرطاً أن تعمل علي مشاريع كبيرة٬ ولكن الهدف أن تقوم بالتأكيد على ما تحصلت عليه من علم.

 

-Curriculum المنهج 

 

A-Introduction to Computer Science 

 

1-Introduction to Computer Science - CS50

https://www.edx.org/course/cs50s-introduction-computer-science-harvardx-cs50x#!

 

2-Introduction to Computer Science and Programming using Python

https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-11

 

---------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------

B-Core Computer Science 

 

1-Core programming:-

 

1.1-How to Code - Simple Data

https://www.edx.org/course/how-code-simple-data-ubcx-htc1x

 

1.2-How to Code - Complex Data

https://www.edx.org/course/how-code-complex-data-ubcx-htc2x

 

1.3-Software Construction - Data Abstraction

https://www.edx.org/course/software-construction-data-abstraction-ubcx-softconst1x

 

1.4-Software Construction - Object-Oriented Design

https://www.edx.org/course/software-construction-object-oriented-ubcx-softconst2x

 

1.5-Programming Languages, Part A

https://www.coursera.org/learn/programming-languages

 

1.6-Programming Languages, Part B

https://www.coursera.org/learn/programming-languages-part-b

 

1.7-Programming Languages, Part C

https://www.coursera.org/learn/programming-languages-part-c

 

---------------------------------------------------------------------------------------

2-Core math:-

 

2.1-Essence of Linear Algebra

https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab

 

2.2-Linear Algebra - Foundations to Frontiers

https://www.edx.org/course/laff-linear-algebra-foundations-to-frontiers#!

 

2.3-Calculus One

https://www.coursera.org/learn/calculus1

 

2.4-Calculus Two: Sequences and Series

https://www.coursera.org/learn/advanced-calculus

 

2.5-Mathematics for Computer Science

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2015/index.htm

 

---------------------------------------------------------------------------------------

 

3-Core systems:-

 

3.1-Build a Modern Computer from First Principles: From Nand to Tetris

https://www.coursera.org/learn/build-a-computer

 

3.2-Build a Modern Computer from First Principles: Nand to Tetris Part II

https://www.coursera.org/learn/nand2tetris2

 

3.3-Introduction to Computer Networking

https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/about

 

3.4-ops-class.org - Hack the Kernel

https://www.ops-class.org/

 

---------------------------------------------------------------------------------------

 

4-Core theory:-

 

4.1-Algorithms: Design and Analysis, Part I

https://lagunita.stanford.edu/courses/course-v1:Engineering+Algorithms1+SelfPaced/about

 

4.2-Algorithms: Design and Analysis, Part II

https://lagunita.stanford.edu/courses/course-v1:Engineering+Algorithms2+SelfPaced/about

 

---------------------------------------------------------------------------------------

 

5-Core applications:-

 

5.1-Databases

https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/about

 

5.2-Machine Learning

https://www.coursera.org/learn/machine-learning

 

5.3-Computer Graphics

https://www.edx.org/course/computer-graphics-uc-san-diegox-cse167x-3

 

5.4-Cryptography I

https://www.coursera.org/learn/crypto

 

5.5-Software Engineering: Introduction

https://www.edx.org/course/software-engineering-introduction-ubcx-softeng1x

 

5.6-Software Development Capstone Project

https://www.edx.org/course/software-development-capstone-project-ubcx-softengprjx

 

---------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------

 

C-Advanced Computer Science 

 

1-Advanced programming:-

 

1.1-Compilers

https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about

 

1.2-Software Debugging

https://eg.udacity.com/course/software-debugging--cs259

 

1.3-Software Testing

https://eg.udacity.com/course/software-testing--cs258

 

1.4-LAFF: Programming for Correctness

https://www.edx.org/course/laff-programming-correctness-utaustinx-ut-p4c-14-01x

 

1.5-Introduction to Parallel Programming

https://eg.udacity.com/courses/all

 

1.6-Software Architecture & Design

https://eg.udacity.com/course/software-architecture-design--ud821

 

---------------------------------------------------------------------------------------

 

2-Advanced math:-

 

2.1-Calculus: Parametric Equations and Polar Coordinates

https://ocw.mit.edu/courses/mathematics/18-01sc-single-variable-calculus-fall-2010/unit-4-techniques-of-integration/part-c-parametric-equations-and-polar-coordinates/

 

2.2-Multivariable Calculus

https://ocw.mit.edu/courses/mathematics/18-02sc-multivariable-calculus-fall-2010/index.htm

 

2.3-Introduction to Probability - The Science of Uncertainty

https://www.edx.org/course/introduction-probability-science-mitx-6-041x-2

 

---------------------------------------------------------------------------------------

 

3-Advanced systems:-

 

3.1-Reliable Distributed Systems, Part 1

https://www.edx.org/course/reliable-distributed-algorithms-part-1-kthx-id2203-1x-0

 

3.2-Reliable Distributed Systems, Part 2

https://www.edx.org/course/reliable-distributed-algorithms-part-2-kthx-id2203-2x

 

3.3-Electricity and Magnetism, Part 1

https://www.edx.org/course/electricity-magnetism-part-1-ricex-phys102-1x-1

 

3.4-Electricity and Magnetism, Part 2

https://www.edx.org/course/electricity-magnetism-part-2-ricex-phys102-2x-0

 

3.5-Computation Structures 1: Digital Circuits

https://www.edx.org/course/computation-structures-part-1-digital-mitx-6-004-1x-0

 

3.6-Computation Structures 2: Computer Architecture

https://www.edx.org/course/computation-structures-2-computer-mitx-6-004-2x

 

3.7-Computation Structures 3: Computer Organization

https://www.edx.org/course/computation-structures-3-computer-mitx-6-004-3x-0

 

---------------------------------------------------------------------------------------

 

4-Advanced theory:-

 

4.1-Introduction to Logic

https://www.coursera.org/learn/logic-introduction

 

4.2-Automata Theory

https://lagunita.stanford.edu/courses/course-v1:ComputerScience+Automata+Fall2016/about

 

4.3-Computational Geometry

https://www.edx.org/course/ji-suan-ji-he-computational-geometry-tsinghuax-70240183x

 

4.4-Introduction to Formal Concept Analysis

https://www.coursera.org/learn/formal-concept-analysis

 

4.5-Game Theory

https://www.coursera.org/learn/game-theory-1

 

---------------------------------------------------------------------------------------

 

5-Advanced applications:-

 

5.1-Robotics (Specialization)

https://www.coursera.org/specializations/robotics

 

5.2-Data Mining (Specialization)

https://www.coursera.org/specializations/data-mining

 

5.3-Big Data (Specialization)

https://www.coursera.org/specializations/big-data

 

5.4-Internet of Things (Specialization)

https://www.coursera.org/specializations/internet-of-things

 

5.5-Cloud Computing (Specialization)

https://www.coursera.org/specializations/cloud-computing

 

5.6-Full Stack Web Development (Specialization)

https://www.coursera.org/specializations/full-stack-mobile-app-development

 

5.7-Data Science (Specialization)

https://www.coursera.org/specializations/jhu-data-science

 

5.8-Functional Programming in Scala (Specialization)

https://www.coursera.org/specializations/scala

 

---------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------

 

D-Final project

 

You can create something entirely new, or you can find an existing project that needs help via websites like

CodeTriage

https://www.codetriage.com/

or

First Timers Only.

https://github.com/shanselman/firsttimersonly

or other

 

---------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------

Groub:- (علم يُنتفع به)

https://www.facebook.com/groups/539941523592573/

-----------------------------------------------------------------------------

 

Source

https://github.com/ossu/computer-science#summary

-----------------------------------------------------------------------------

 

 

 

 

Data Science Curriculum 

 

 

 

 

 

انظر أيضاً : كورسات برمجة اون لاين