We may earn an affiliate commission when you visit our partners.
Dr Matthew Yee-King

This course is the third of five courses aiming to help you to become confident working in the object-oriented paradigm in the C++ language.

This specialisation is for individuals who want to learn about objected oriented programming. It's an all-in-one package that will take you from the very fundamentals of C++, all the way to building a crypto-currency exchange platform.

Read more

This course is the third of five courses aiming to help you to become confident working in the object-oriented paradigm in the C++ language.

This specialisation is for individuals who want to learn about objected oriented programming. It's an all-in-one package that will take you from the very fundamentals of C++, all the way to building a crypto-currency exchange platform.

During the five courses, you will work with the instructor on a single project: a crypto-currency exchange platform. Whilst building the project, you will learn about a range of programming techniques from basic control flow and input/output through to file parsing, object-oriented techniques and user interaction on the console.

In this third course, you will start learning about C++ exception handling and reading data from files. You will learn about string processing, exception handling, data reading from a file, and how to convert pseudocode algorithms into working C++ code.

Upon completing the course, you will be able to:

* Convert pseudocode algorithms involving iteration, logic and string processing into working C++ code

* Use exception handling to gracefully recover when processing unreliable data

* Read text data from a file using the getline function

Enroll now

What's inside

Syllabus

File I/O, exception handling and algorithms: the CSVReader class, part 1
This week you will learn about translating pseudocode to C++, exception handling and file I/O.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Helps learners develop a foundation in object oriented programming (OOP)
Suitable for self-learners who want to grasp OOP concepts from the ground up
Leads learners on a step-by-step journey in building a crypto-currency exchange platform, providing practical application of OOP principles
Focuses on core programming techniques, starting with basic control flow and input-output, and gradually progressing to more advanced topics like file parsing and object-oriented techniques
Involves working on a single project throughout the five-course specialization, offering a comprehensive and cohesive learning experience

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

C++ oop: functions, files, and exceptions

According to learners, this course is a strong continuation of the C++ specialization, offering a practical, project-based approach to key OOP concepts. Students particularly value the clear explanations and helpful demos from the knowledgeable instructor. The integration of `exception handling`, `file I/O`, and `string processing` within the `crypto exchange platform project` is highlighted as a major strength. While many find the `hands-on activities` and `pseudocode conversion exercises` beneficial, some noted that parts, particularly `exception handling`, could benefit from more depth or a slower pace, especially for those with less prior C++ experience. Overall, it's considered a valuable step for developing robust C++ skills.
Exercises help translate algorithms into C++ code.
"I feel much more confident converting pseudocode into C++ after taking this course."
"The pseudocode conversion exercises were valuable."
"I struggled with converting some of the pseudocode without more detailed examples."
Solid coverage of essential C++ topics like file I/O and strings.
"The section on file I/O using `getline` was incredibly practical, especially with the `CSVReader` class."
"The course content is solid, covering essential C++ topics like string processing and file operations."
"I found the `CSVReader` implementation and `file parsing` aspects very useful, and the `string processing` was clear."
Important C++ error handling concepts are introduced.
"This course really helped solidify my understanding of C++ exception handling."
"I found the explanations on how to use exception handling to gracefully recover when processing unreliable data to be very strong."
"The concepts of exception handling are introduced well, but I wished for more advanced scenarios or debugging tips."
Instructor explains complex C++ concepts clearly.
"The instructor explains complex concepts clearly."
"Their explanations are precise and the demos are very helpful."
"I found the course very well structured and the instructor excellent; the lectures are clear."
Learning C++ features within a real-world project.
"It seamlessly integrates into the crypto exchange project, which is a big plus."
"The course provides the tools needed for robust C++ applications... The project integration makes learning very concrete."
"I found the emphasis on practical application through the crypto exchange project to be very motivating."
"Learning exception handling and file I/O in the context of the crypto platform made it click for me."
Some topics may require external study or prior experience.
"I found some parts of the exception handling a bit rushed; I had to do some external reading to fully grasp it."
"I felt the pace was inconsistent; some explanations were too brief, especially for someone new to these specific C++ features."
"I found this course quite difficult without stronger prior C++ experience, especially with the speed at which pseudocode algorithms were converted."

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 Programming in C++: Functions with these activities:
Review C++ basics
Review the basic concepts of C++ programming, such as variables, data types, operators, and control flow. This will help you refresh your memory and build a solid foundation for the course.
Show steps
  • Read through your old C++ notes or study materials.
  • Complete online tutorials or exercises on C++ basics.
  • Work on simple C++ coding challenges or practice problems.
Show all one activities

Career center

Learners who complete Object-Oriented Programming in C++: Functions will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers design, develop, test, and maintain software systems. They use programming languages, software development tools, and engineering principles to create high-quality software solutions. The skills you will learn in this course, such as file I/O, exception handling, and algorithms, are essential for success in this role. You will be able to convert pseudocode into working C++ code, read and write data to files, and handle exceptions gracefully, making you a valuable asset to any software engineering team.
Computer Programmer
Computer Programmers write, test, debug, and maintain computer programs. They translate algorithms into code and develop software applications. The skills and knowledge you will learn in this course, such as file I/O, exception handling, and algorithms, are fundamental to success in this role. You will be able to convert pseudocode into working C++ code, read data from files, and handle errors effectively, making you a valuable asset to any software development team.
Data Scientist
Data Scientists use scientific methods, algorithms, and programming languages to extract insights from data. They develop and apply statistical models to solve complex problems. The skills you will learn in this course, such as file I/O, exception handling, and algorithms, are essential for success in this role. You will be able to read and analyze large datasets, handle missing or corrupted data, and apply algorithms to extract meaningful insights.
Software Developer
Software Developers create, design, deploy, and maintain software applications. They write code that runs on computers, phones, tablets, and other electronic devices. The skills and knowledge you will learn in this course, such as file I/O, exception handling, and algorithms, are essential for success in this role. With the ability to convert pseudocode algorithms into working C++ code, read text data from a file, and handle exceptions gracefully, you will be well-equipped to contribute to software development projects and build high-quality software solutions.
Information Security Analyst
Information Security Analysts protect computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. They develop and implement security measures, monitor systems for security breaches, and respond to security incidents. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for information security. You will be able to develop and implement security measures, monitor systems for security breaches, and respond to security incidents.
Machine Learning Engineer
Machine Learning Engineers design, develop, and deploy machine learning models. They use programming languages, algorithms, and statistical techniques to train and evaluate models. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for machine learning engineering. You will be able to read and analyze data, handle missing or corrupted data, and apply algorithms to train and evaluate machine learning models.
Web Developer
Web Developers create and maintain websites and web applications. They use programming languages and technologies to design and code the front-end and back-end of websites. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, are transferable to web development. You will be able to work with data, handle user input, and create interactive web applications using these techniques.
Network Administrator
Network Administrators manage and maintain computer networks. They ensure that networks are available, reliable, and secure. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for network administration. You will be able to manage and maintain networks, ensure that networks are available, reliable, and secure.
Data Analyst
Data Analysts collect, clean, and analyze data to extract meaningful insights and trends. They use programming languages and statistical techniques to process and interpret data. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for data analysis. You will be able to read data from files, handle missing or corrupted data, and apply algorithms to analyze and extract insights from data.
Systems Analyst
Systems Analysts analyze and design business systems and processes. They use their knowledge of technology and business to improve efficiency and productivity. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for systems analysis. You will be able to analyze data, identify problems, and develop solutions using technology.
Business Analyst
Business Analysts use their knowledge of business and technology to analyze and improve business processes. They work with stakeholders to gather requirements, analyze data, and develop solutions. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for business analysis. You will be able to analyze data, identify problems, and develop solutions using technology.
Technical Writer
Technical Writers create and maintain technical documentation, such as user manuals, white papers, and training materials. They use their knowledge of technology and writing to communicate complex technical information to a variety of audiences. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for technical writing. You will be able to analyze data, identify problems, and develop clear and concise documentation.
Database Administrator
Database Administrators manage and maintain databases. They ensure that databases are available, reliable, and secure. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for database administration. You will be able to manage and maintain databases, ensure that databases are available, reliable, and secure.
Project Manager
Project Managers plan, organize, and execute projects. They work with stakeholders to define project goals, develop project plans, and track project progress. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for project management. You will be able to plan and execute projects, manage resources, and track progress.
Computer Support Specialist
Computer Support Specialists provide technical support to computer users. They troubleshoot hardware and software problems, install and maintain software, and train users on how to use computer systems. The skills you will gain in this course, such as file I/O, exception handling, and algorithms, will provide you with a solid foundation for computer support. You will be able to troubleshoot problems, install and maintain software, and train users on how to use computer systems.

Reading list

We've selected 13 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 Programming in C++: Functions.
This is the definitive reference book on the C++ programming language, written by its creator.
Provides a comprehensive guide to C++ templates.
Provides a unique approach to learning C++ by focusing on the thinking process behind the code.
Provides a comprehensive guide to exception handling in C++.
Provides a comprehensive introduction to C++ programming, including problem analysis and program design.
This classic book on C++ which provides a good introduction to the core language and object-oriented programming.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser