دليل تعلم البرمجة بالطريقة الصحيحة: خمس خطوات لتعلم البرمجة ستغير مجرى حياتك

دليل تعلم البرمجة بالطريقة الصحيحة: خمس خطوات لتعلم البرمجة ستغير مجرى حياتك

How to Succeed in Programming: Key Steps and Insights

Introduction to the Importance of Programming

  • The speaker emphasizes the significance of programming as a profession, highlighting its global demand, especially in Jordan and America.
  • With over 20 years of experience, the speaker shares insights from working with numerous clients and large-scale projects worth millions.

Learning Programming Effectively

  • The speaker encourages viewers to take small steps towards learning programming, suggesting that even minor knowledge can significantly impact their careers.
  • Emphasizes self-reliance in learning; success is achievable through personal effort rather than relying solely on formal education.

Overcoming Negative Influences

  • Advises removing negative influences from one’s life; surrounding oneself with successful individuals is crucial for motivation and growth.
  • Stresses the importance of asking successful people for advice instead of listening to those who have not achieved success in programming.

Understanding Programming Fundamentals

  • Highlights the need to grasp what programming truly entails; many confuse programming languages with actual programming concepts.
  • Clarifies that understanding algorithms and logical thinking is more important than merely knowing a specific programming language.

Building Strong Foundations

  • Discusses how mastering foundational concepts like logic will facilitate easier learning of any programming language later on.
  • Warns against focusing too much on specific languages without understanding core principles; emphasizes that problem-solving skills are paramount.

Continuous Improvement and Learning

Understanding Programming Fundamentals

The Importance of Logic in Programming

  • The speaker emphasizes that programming is not just about learning programming languages; it requires a focus on foundational logic and problem-solving skills.
  • Modern programming languages can simplify tasks but should be used wisely. They save time and effort when applied correctly, especially for beginners.
  • Using tools like Visual Basic can help beginners understand basic concepts, but reliance solely on these tools without understanding the underlying logic is discouraged.
  • The speaker warns against becoming overly dependent on ready-made solutions, stressing the importance of grasping fundamental principles to avoid being merely a "copy-paster."
  • A solid foundation in programming basics is crucial before moving on to more advanced topics or modern languages.

Learning Pathways in Programming

  • Beginners are encouraged to start with simple projects that reinforce their understanding of core concepts rather than jumping into complex frameworks or libraries.
  • The speaker suggests that while modern languages have their advantages, they should only be learned after establishing a strong foundational knowledge in programming.
  • It’s important to choose a language based on personal interest and relevance, such as Python or C++, while ensuring that one has the necessary fundamentals first.

Practical Application and Problem Solving

  • Engaging with practical problems—like writing programs for simple tasks—helps solidify understanding and application of learned concepts.
  • The speaker encourages tackling numerous practice questions (thousands if possible), which helps build confidence and competence in coding skills over time.

Overcoming Challenges in Learning

  • New learners may face difficulties initially but should persist through challenges by practicing consistently and seeking out resources for support.
  • Emphasizing the need for resilience, the speaker notes that repeated attempts at solving problems will lead to improvement and mastery over time.

Conclusion: Building Strong Foundations

Programming Learning Path

Understanding Problem-Solving in Programming

  • The speaker emphasizes the importance of problem-solving skills in programming, suggesting that each individual can find their unique approach to solving problems.
  • It is recommended to tackle foundational questions without relying on external resources initially, as this builds confidence and understanding.
  • The speaker notes that reading about data structures is crucial for grasping programming concepts effectively.

Building a Strong Foundation

  • Programming may seem difficult at first, but persistence and practice lead to improvement; patience is key during the learning process.
  • A solid foundation in logic and algorithms is essential before moving on to more complex languages or frameworks.

Choosing the Right Language

  • After establishing a strong base, learners should select a modern programming language that aligns with market demands and personal interests.
  • The speaker suggests starting with languages like Visual Basic or JavaScript for beginners due to their accessibility.

Practical Application through Projects

  • Engaging in practical projects helps reinforce learning; creating simple applications can solidify understanding of concepts learned.
  • Developing a database application as a project can provide hands-on experience with real-world scenarios.

Advanced Learning Strategies

  • Once foundational knowledge is established, learners should focus on advanced topics and continue building upon their skills through consistent practice.
  • It's important to avoid distractions from newer technologies until one has mastered the basics; focusing on core principles will yield better results.

Overcoming Challenges in Learning

  • Learners are encouraged not to get discouraged by initial difficulties; perseverance leads to eventual mastery of programming concepts.

Learning Programming: Key Insights and Strategies

Importance of Programming Skills

  • The speaker emphasizes that programming is a challenging yet essential skill, distinguishing it from other tools that can be learned more easily.
  • Acknowledges the growing demand for programming skills in the job market, highlighting its relevance over the next few years.
  • Encourages learners to engage with programming projects to solidify their understanding and application of concepts.

Effective Learning Pathways

  • The speaker outlines a structured approach to learning programming, suggesting that beginners should focus on foundational languages first.
  • Mentions the importance of not getting overwhelmed by modern languages; instead, one should build confidence through practice and gradual learning.
  • Discusses how mastering basic concepts leads to better problem-solving abilities in programming.

Common Pitfalls in Learning

  • Warns against relying solely on copying code without understanding its functionality, as this hinders true learning and comprehension.
  • Stresses the necessity of grasping core principles rather than just memorizing syntax or commands, which can lead to confusion later on.

Recommendations for Aspiring Programmers

  • Advises starting with online courses or tutorials but cautions that these should serve as a guide rather than complete education in programming.
Video description

اشترك معنا في قناتنا على التليجرام https://t.me/ProgrammingAdvices هذه السلسة هي نقطة البداية في عالم البرمجة رابط السلسة هنا https://youtube.com/playlist?list=PL3X--QIIK-OHgMV2yBz3GLfM5d_5BxOSj منعا لتشتتكم ولتوفير عليكم وقتكم لقد صممت لكم منهاج متكاملا لتعليم البرمجه من الاساس وبتدرج وترابط غير مسبوق في جميع المستويات تجعلكم تجدون البرمجه في غايه السهوله، من تدرج للاسئلة والمشاكل البرمجيه والعديد من المشاريع التي ترتقي بالمنطق البرمجي لديكم وتغنيكم عن حل ٢٠٠٠ سؤال ، خارطة الطريق في الرابط أدناه اتبعتها خطوه بخطوه ولن تحتاج اي شيء آخر https://programmingadvices.com/p/roadmap تعلم برمجة وليس لغات برمجة، لا تقع في فخ اللغات وتهدر وقتك في المكان الخطأ دليل تعلم البرمجة بالطريقة الصحيحة: خمس خطوات لتعلم البرمجة بالطريقة الصحيحه ستغير مجرى حياتك هذه الحلقة تقدم دليل وخارطة طريق لتعلم البرمجة بالطريقة الصحيحة من واقع خبرة 24 سنة من النجاح في هذا المجال، وتجيب على اسئلة مثل.. ما هي البرمجة؟ من اين ابدأ تعلم البرمجة؟ كيف اختار لغة البرمجة المناسبة؟ لماذا يفشل الناس في تعلم البرمجة؟ وغيرها الكثير. ملخص خبرة اكثر من 24 سنه من النجاح في هذا المجال اضعها بين يديك على طبق من ذهب Video Content: _______________________________________________ 00:00 – Important Introduction. 03:10 - First Step : Stay away from negative people. 04:57 - Second Step : Programming is not a language you learn, programming is logic. 10:36 - Third Step : Never start with modern languages. 16:17 - Fourth Step : Solve 2000 problems using old languages Like C++ or Java. 25:35 - Fifth Step : Learn a modern language with a database and apply one project from A to Z. 30:48 - Summary and conclusion. _______________________________________________ How to learn programming the right way? do not waste your time in the wrong place This is to summarise it: 1- Stay away from negative people: negative people will make you disappointed about programming, they will say: ” its hard, it has no future, you will never find jobs , Salaries are low …etc” , never ask people who failed in this field; always ask successful people. 2- You should know that programming is different than programming language: programming is logic, analysis , and thinking to find solutions; while programming language is only a tool to use to apply your logic and thinking. Learn programming and never waste your time learning programming languages, because if you are good in programming you can learn any programming language in less than a month’s time. 3- Never start with a modern programming languages why? Modern programming languages have a lot of ready-made functions, methods, and tools that will deceive you and prevent you from learning logic and programming the right way… For example: students from grade 1 to 6 in schools they study math (addition, subtraction, multiplications, dividing, fractions…etc) why they study this while we have a calculator?? They study this to strengthen their logic and thinking, imagine you give them a calculator from grade 1 , they will never strengthen their logic. Modern programming languages are good and you have to learn them but you need to learn them in the right time after you strengthen your logic/thinking, exactly like the calculator you can use it but in the right time. 4- Learn C++ , Java, or Python : only one language , just learn the fundamentals, and then start solving problems on it, you should solve not less than 2000 problems. • Before you finish 500 to 700 problems, never read or learn anything else. • After you finish 500 to 700 problems then start read about Data structure, algorithms, object oriented, in this stage you will understand them easily. 5- After you finish solving 2000 problems; this will take you not less than a year; • Start learning any modern programming language it will take you a month to learn it • and start learning Database (any database will do) : this will take you 1 to 3 weeks. • Start your first project:I highly recommend to start with a desktop project like the University Registration: Students, Courses, Doctors, Lectures, Exams…etc . Make it simple in the beginning then make it larger and functionality to it. After you finish all aforementioned steps, you will be strong enough to learn anything and choose any technology or programming language you want. I wish you the best. كل التوفيق للجميع محمد ابوهدهود LinkedIn: https://www.linkedin.com/in/abuhadhoud Facebook: https://www.facebook.com/ProgrammingAdvices