We may earn an affiliate commission when you visit our partners.
Course image
Wade Fagen-Ulmschneider

This course teaches learners how to write a program in the C++ language, including how to set up a development environment for writing and debugging C++ code and how to implement data structures as C++ classes. It is the first course in the Accelerated CS Fundamentals specialization, and subsequent courses in this specialization will be using C++ as the language for implementing the data structures covered in class.

Enroll now

What's inside

Syllabus

Orientation; Writing a C++ Program
Understanding the C++ Memory Model
Developing C++ Classes
Read more
Engineering C++ Software Solutions

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores data structures and algorithms, which is a core topic in computer science
Beginners to C++ can start here as the course presumes no prior knowledge required
Builds a strong foundation for intermediate learners in C++
Taught by Wade Fagen-Ulmschneider, who are experts in the field of computer programming

Save this course

Save Object-Oriented Data Structures in C++ to your list so you can find it easily later:
Save

Reviews summary

Object-oriented data structures in c++

learners say this course effectively introduces Object-Oriented programming in C++, including important concepts like pointers, OOP syntax, and memory management, while offering engaging assignments and a well-structured curriculum. However, it is recommended for those with some prior programming experience and a basic understanding of C++ syntax.
The course features challenging assignments that test learners' understanding of the material and help them apply their knowledge.
"The assignments were pretty easy and were totally derived from the lessons done."
"Great course with a great lecture from the professor."
"Programming assignments for all the weeks were pretty easy and were totally derived from the lessons done."
"The final programming assignment was actually a normal coding assignment rather than pure C++ object oriented programming."
The course is concise and engaging, presenting the material in a clear and understandable way.
"The course is fun, challenging and fast paced."
"I have been having a really hard time dealing with C++ pointer and reference."
"I really love how this course is organized a punch of well-chosen topics instructed by brilliant professor filled a lot of gaps in my understanding "
"This course has been really a great help for my C++ programming skills."
The course places a strong emphasis on memory management, helping learners understand pointers, stack and heap memory, and memory allocation.
"The course and the 2 that follow in the specialization are exactly what I needed to fill in gaps in my understanding and knowledge between a BSEE and a MSCS."
"This course and the 2 that follow in the specialization are exactly what I needed to fill in gaps in my understanding and knowledge between a BSEE and a MSCS."
"The most well-laid out and documented course I have ever done on Coursera."
"I really liked this course. It is not a basic intro to programming course so you should have some exposure to programming before, otherwise it might be a little be challenging, otherwise it is a great course to expose you to the basic concepts of OOP in C++."
The course is taught by an experienced professor who provides clear explanations.
"Great course with a great lecture from the professor."
"Really great explanations and well written source code."
"The lecture of this course is outstanding."
"One of the best explanations of the memory model I have ever seen."
The course moves quickly through the material, which may be challenging for beginners.
"This course provided one of the best primers on C++ I've ever experienced."
"This course is indeed one of kind I would really recommand it to anyone seeking to improve their knowledge and hone their skills in the field of computer science more specifically in C++ programming."
"Courses is nice but they lock my course and i have reset my deadline but nothing happens now I'm trying to restet my deadline something even wrong problem is coming"
"I really found the discussion on pointers, memory allocation, and the address operators to be very useful, especially compared to other explanations that I have seen."
The course assumes some prior programming experience and a basic understanding of C++ syntax.
"This is a great course for anyone who wants to learn basics concepts of Object-Oriented Programming, without any prior knowledge."
"The course is focused on a fast-paced learning and it is expected to have at least some previous experience with strong-typed programming languages."
"This is a great course for those who have programming experience and want to learn something about C++, especially suitable for the engineering students not majoring in Computer Science but be willing to study the basic idea about C++."
"Definitely not for beginners."

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 Object-Oriented Data Structures in C++ with these activities:
Review C++ syntax and data structures
Review the basics of C++ syntax and data structures to strengthen your foundation and prepare for the course.
Browse courses on C++ Syntax
Show steps
  • Read through the official C++ documentation
  • Go through online tutorials and examples
  • Practice writing simple C++ programs
  • Review your notes from previous courses or textbooks on C++
Follow online tutorials and video lectures
Supplement your learning by following online tutorials and video lectures to reinforce concepts covered in the course and explore additional topics.
Show steps
  • Find reputable online resources and tutorials
  • Set aside time each week to watch videos or read tutorials
  • Take notes and practice implementing the concepts covered
Create a C++ resource collection
Compile a collection of useful resources, including tutorials, documentation, and code examples, to create a comprehensive reference for C++ development.
Browse courses on Compilation
Show steps
  • Identify and gather relevant resources
  • Organize the resources into a structured format
  • Share your resource collection with others
Four other activities
Expand to see all activities and additional details
Show all seven activities
Read 'Effective C++' by Scott Meyers
Deepen your understanding of C++ best practices and gain insights into effective software development by reading this highly recommended book.
Show steps
  • Purchase or borrow the book
  • Read through the book and take notes
  • Apply the concepts learned in your own C++ projects
Solve coding challenges and practice problems
Regularly practice solving coding challenges and practice problems to improve your problem-solving skills and deepen your understanding of C++ concepts.
Browse courses on Coding Challenges
Show steps
  • Find online coding challenges and practice platforms
  • Set aside time each week to work on practice problems
  • Review solutions and learn from your mistakes
Mentor a junior C++ developer
Share your knowledge and expertise by mentoring a junior C++ developer, fostering their growth and enhancing your own understanding through teaching.
Browse courses on Mentoring
Show steps
  • Identify a junior developer who needs guidance
  • Set up regular meetings or communication channels
  • Provide support and guidance on C++ concepts and best practices
  • Review their code and provide constructive feedback
Contribute to open-source C++ projects
Apply your C++ skills and contribute to the larger open-source community by actively participating in C++ projects.
Browse courses on Open-Source
Show steps
  • Find open-source C++ projects that align with your interests
  • Review the project documentation and codebase
  • Identify areas where you can contribute
  • Submit pull requests with your contributions

Career center

Learners who complete Object-Oriented Data Structures in C++ will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers design, develop, test, and maintain software systems. This course may be useful for learning the C++ programming language, which is often used in developing software systems. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Software Engineers.
Data Analyst
Data Analysts collect, clean, and analyze data to identify trends and patterns. This course may be useful for learning the C++ programming language, which is often used in developing data analysis applications. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Data Analysts.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. This course may be useful for learning the C++ programming language, which is often used in developing data science applications. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Data Scientists.
Software Developer
Software Developers write, maintain, and test software applications that run on various devices, such as personal computers, mobile phones, and embedded systems. This course may be useful for learning the C++ programming language, which is often used in developing software applications. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Software Developers.
Computer Programmer
Computer Programmers write, modify, and test code that allows computer applications and software programs to run. This course may be useful for learning the C++ programming language, which is often used in developing computer applications and software programs. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Computer Programmers.
Computer Hardware Engineer
Computer Hardware Engineers design, develop, and test computer hardware. This course may be useful for learning the C++ programming language, which is sometimes used in developing computer hardware drivers. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Computer Hardware Engineers.
Database Administrator
Database Administrators design, implement, and maintain databases. This course may be useful for learning the C++ programming language, which is sometimes used in developing database applications. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Database Administrators.
Web Developer
Web Developers design and develop websites and web applications. This course may be useful for learning the C++ programming language, which is sometimes used in developing web applications. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Web Developers.
Network Administrator
Network Administrators design, implement, and maintain computer networks. This course may be useful for learning the C++ programming language, which is sometimes used in developing network administration tools. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Network Administrators.
Information Security Analyst
Information Security Analysts plan and implement security measures to protect information systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. This course may be useful for learning the C++ programming language, which is sometimes used in developing information security applications. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Information Security Analysts.
Computer Systems Analyst
Computer Systems Analysts design, implement, and maintain computer systems. This course may be useful for learning the C++ programming language, which is sometimes used in developing computer systems. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Computer Systems Analysts.
Database Manager
Database Managers plan, direct, and coordinate activities in database administration departments. This course may be useful for learning the C++ programming language, which is sometimes used in developing database applications. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Database Managers.
Computer and Information Systems Manager
Computer and Information Systems Managers plan, direct, and coordinate activities in computer and information systems departments. This course may be useful for learning the C++ programming language, which is sometimes used in developing computer systems. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Computer and Information Systems Managers.
Information Technology Project Manager
Information Technology Project Managers plan, direct, and coordinate information technology projects. This course may be useful for learning the C++ programming language, which is sometimes used in developing information technology projects. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Information Technology Project Managers.
Computer Support Specialist
Computer Support Specialists provide technical support to computer users. This course may be useful for learning the C++ programming language, which is sometimes used in developing computer support tools. The course also teaches learners how to implement data structures as C++ classes, which is a fundamental skill for Computer Support Specialists.

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 Object-Oriented Data Structures in C++.
This classic book is commonly used to teach C++ at academic institutions. It provides good insight into the language and constructs as they were originally conceived and how they are implemented.
By the author of C++ introduces you to object oriented programming, the C++ language, and the standard template library.
Teaches the general principles of C++ and includes an introduction to its standard library. It is commonly used as a textbook or reference book.
Is suitable for developers with at least some programming experience as it covers C++ in detail. It provides valuable insight into the complexities of modern C++.
This advanced-level book is suitable for developers with significant experience. It explores modern C++ concepts and provides a deep dive into the language.
Suitable as a reference textbook, this book introduces you to C++ using practical examples. It good book for readers with some programming experience.
Collection of essays on the topic of exception handling in C++. It is not a comprehensive guide to C++, but it provides a deep dive into a critical aspect of the language.
Can be useful if you plan to work with concurrency in C++. It is commonly used by professional developers or at the post-graduate level.
This is an exhaustive reference book on C++ templates. It is more useful as a reference to look up specific things, rather than as a cover-to-cover read.

Share

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

Similar courses

Here are nine courses similar to Object-Oriented Data Structures in C++.
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