We may earn an affiliate commission when you visit our partners.
Course image
Ira Pohl

هذه الدورة مخصصة لمبرمجي اللغة C ذوي الخبرة الذين يرغبون في البرمجة بلغة C++. تتطلب الأمثلة والتمارين فهمًا أساسيًا للخوارزميات والبرمجيات الموجّهة للكائنات.

Enroll now

What's inside

Syllabus

STL ولعبة Hex
تبحث هذه الوحدة في بنية مكتبة النماذج القياسية. من المهم بشكل خاص فهم كيفية استخدام التكرارات للوصول إلى الحاوية لإنتاج خوارزميات عامة عالية الكفاءة. تتضمن الوحدة أيضًا النمط الجديد المهم لكائن الدالة - التعبير lambda.
Read more
Hex كرسم بياني والوراثة
توضح هذه الوحدة كيف يمكن لعب Hex كلعبة على الرسم البياني. يتضمن هذا تمثيلها كرسم بياني غير موجه في C++. تستكشف الوحدة منطق وصيغة الوراثة في لغة ++C. والمثال الرئيسي هو طالب الفئة الأساسية والفئة المشتقة grad_student.
Hex واستخدام الذكاء الاصطناعي ودلالات حركات لغة C++
تشرح هذه الوحدة Min-Max وخوارزمية Alpha-Beta للعب اللعبة. تتضمن موضوعات البرمجة الخاصة بها دلالات حركات C++ 11 ومثالًا تفصيليًا لجمع البيانات المهملة المرجعية.
برنامج Monte Carlo Hex، مواضيع وأنماط C++ المتقدمة
توضح هذه الوحدة كيفية استخدام تقييم مونت كارلو في الألعاب المعقدة مثل Hex وGo. وقد أدى ذلك إلى أعلى مستوى في البطولة في كلتا اللعبتين. تناقش الوحدة تأكيدات واستثناءات C++ لمعالجة الأخطاء والتأكيدات الثابتة لميزة C++ 11 الجديدة. أخيرًا، يقدم الجزء الأخير من الوحدة فكرة "نمط التصميم"، وهي سمة من سمات برمجة OO الحديثة.
الاختبار النهائي
تحتوي هذه الوحدة على ثلاثة اختبارات تدريبية (والتي يمكنك إجراؤها عدة مرات كما تريد) والامتحان النهائي، والذي يساوي X% من درجاتك في هذه الدورة التدريبية.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Assumes learners have mastered beginner-level Computer Science and Object-Oriented programming fundamentals
This course is designed for learners who are experienced with C

Save this course

Save لغة البرمجة C++ لمبرمجي C، الجزء (ب) to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in لغة البرمجة C++ لمبرمجي C، الجزء (ب) with these activities:
Organize Course Resources
Helps students stay organized by providing a structured approach to compiling and reviewing course materials, improving accessibility and retention.
Show steps
  • Create folders for different topics
  • File and organize notes, assignments, and resources
  • Review materials regularly to reinforce understanding
Review Basic C++ Concepts
Helps students refresh their understanding of basic C++ concepts, ensuring a strong foundation for learning advanced C++ topics in this course.
Browse courses on Variables and Data Types
Show steps
  • Review variables, data types, and operators
  • Practice writing simple control flow statements (if-else, loops)
  • Create a small C++ program to demonstrate understanding
الوظائف الأساسية ل ++C
مارس أساسيات لغة ++C لتعزيز فهمك للمبادئ الأساسية للغة.
Show steps
  • حل التمارين والأمثلة المقدمة في وحدة STL.
  • اختبار نفسك من خلال حل مشكلات الممارسة من الإنترنت أو الكتب.
  • المشاركة في منتديات المناقشة لطرح الأسئلة والحصول على المساعدة.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Peer Code Review and Discussion
Encourages students to collaborate and learn from each other by reviewing and discussing code, fostering critical thinking and knowledge sharing.
Browse courses on Code Review
Show steps
  • Form study groups
  • Assign code review tasks
  • Conduct peer reviews and provide feedback
  • Discuss code optimizations and best practices
STL Container Drills
Provides hands-on practice with STL containers, reinforcing understanding of their functionality and applications.
Browse courses on Standard Template Library
Show steps
  • Implement a vector to store and manipulate a set of data
  • Create a list and perform operations like insertion, deletion, and searching
  • Utilize a map to store key-value pairs and demonstrate its usage
أنماط تصميم C++ المتقدمة
استكشف أنماط التصميم المتقدمة في ++C لتعزيز مهاراتك في كتابة الكود القابل لإعادة الاستخدام والصيانة.
Show steps
  • اتباع البرامج التعليمية عبر الإنترنت أو الفيديو حول أنماط تصميم ++C.
  • قراءة الكتب ومدونات المدونات حول الموضوع.
  • المشاركة في مشاريع مفتوحة المصدر تستخدم أنماط تصميم ++C.
مدونة حول خوارزميات Hex AI
قم بإنشاء مدونة تشرح بالتفصيل خوارزميات الذكاء الاصطناعي المستخدمة في لعبة Hex، مما يعزز فهمك وتطبيقك لهذه التقنيات.
Show steps
  • إجراء بحث حول خوارزميات الذكاء الاصطناعي المستخدمة في Hex.
  • كتابة مسودة أولية توضح الخوارزميات الرئيسية.
  • مراجعة المسودة وإضافتها بالتفاصيل والرسوم التوضيحية.
  • نشر المدونة ومشاركتها مع الآخرين.
Small C++ Game Project
Challenges students to apply their C++ knowledge by creating a simple game, fostering creativity and practical implementation.
Show steps
  • Design the game mechanics and rules
  • Implement game objects and their interactions
  • Develop the game loop and handle user input
  • Test and refine the game for playability
Advanced C++ Workshop
Provides an opportunity to delve deeper into advanced C++ concepts and techniques, enhancing understanding and extending knowledge beyond the course material.
Browse courses on Design Patterns
Show steps
  • Attend the workshop sessions
  • Participate in hands-on exercises
  • Engage in discussions with experts and peers
  • Implement learned concepts in personal projects

Career center

Learners who complete لغة البرمجة C++ لمبرمجي C، الجزء (ب) will develop knowledge and skills that may be useful to these careers:
Game Designer
Game Designers plan, design, and develop the gameplay and mechanics of video games. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex game algorithms and AI. The course also covers topics like graph theory and object-oriented design, which can be useful in designing and implementing game systems.
Software Architect
Software Architects design and develop the overall architecture of software systems. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex software systems and applications. The course also covers topics like graph theory and object-oriented design, which can be useful in designing and implementing scalable and efficient software architectures.
Systems Analyst
Systems Analysts design, develop, and implement computer systems and applications. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex software systems. The course also covers topics like graph theory and object-oriented design, which can be useful in designing and implementing scalable and efficient systems.
Computer Programmer
Computer Programmers write and maintain computer code. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex software systems and applications. The course also covers topics like graph theory and object-oriented design, which can be useful in designing and implementing scalable and efficient code.
Software Engineer
Software Engineers are tasked with designing, developing, implementing, and maintaining computer software. This course can help someone in this role by covering the basics of C++ programming, with an emphasis on advanced topics like STL, lambda expressions, and object-oriented inheritance. These concepts may be useful in developing complex software systems and applications.
Machine Learning Engineer
Machine Learning Engineers develop and implement machine learning models to solve complex problems. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex machine learning algorithms. The course also covers topics like graph theory and object-oriented design, which can be useful in designing and implementing scalable and efficient machine learning models.
Web Developer
Web Developers design, develop, and maintain websites and web applications. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex web applications. The course also covers topics like graph theory and object-oriented design, which can be useful in designing and implementing scalable and efficient web apps.
Data Scientist
Data Scientists use data to extract insights and build predictive models. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex data processing and analysis algorithms. The course also covers topics like graph theory and object-oriented design, which can be useful in designing and implementing scalable and efficient data processing pipelines.
Data Analyst
Data Analysts collect, analyze, and interpret data to identify trends and patterns. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex data processing and analysis algorithms. The course also covers topics like graph theory and object-oriented design, which can be useful in designing and implementing scalable and efficient data analysis pipelines.
Mobile Developer
Mobile Developers design, develop, and maintain mobile applications. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex mobile applications. The course also covers topics like graph theory and object-oriented design, which can be useful in designing and implementing scalable and efficient mobile apps.
UX Designer
UX Designers design and evaluate the user experience of products and services. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex software systems and applications. The course also covers topics like graph theory and object-oriented design, which can be useful in understanding and designing user interfaces and experiences.
Project Manager
Project Managers plan and execute projects to achieve specific goals. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex software systems and applications. The course also covers topics like graph theory and object-oriented design, which can be useful in understanding and managing complex projects.
IT Consultant
IT Consultants provide advice and guidance to organizations on how to use technology to improve their operations. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex software systems and applications. The course also covers topics like graph theory and object-oriented design, which can be useful in understanding and advising organizations on how to use technology effectively.
Business Analyst
Business Analysts analyze business processes and systems to identify areas for improvement. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex software systems and applications. The course also covers topics like graph theory and object-oriented design, which can be useful in understanding and analyzing complex business processes and systems.
Technical Writer
Technical Writers create documentation and other materials to explain complex technical concepts. This course can help someone in this role by covering the basics of C++ programming and exploring its use in developing complex software systems and applications. The course also covers topics like graph theory and object-oriented design, which can be useful in understanding and explaining technical concepts.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in لغة البرمجة C++ لمبرمجي C، الجزء (ب).
Is the definitive reference on the C++ programming language. It provides a comprehensive overview of the language, from its basic syntax to its most advanced features.
Comprehensive introduction to the C++ programming language. It is suitable for both beginners and experienced programmers.
Comprehensive guide to C++ templates. It covers everything from the basics to the most advanced techniques.
Practical guide to C++ concurrency. It covers a wide range of topics, from basic concurrency concepts to advanced synchronization techniques.
Comprehensive guide to C++ templates. It covers everything from the basics to the most advanced techniques.
Comprehensive introduction to the C++ programming language. It is suitable for both beginners and experienced programmers.
Comprehensive introduction to the C++ programming language. It is suitable for both beginners and experienced programmers.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser