<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Resources | Shaorong Wang | Visual Computing</title><link>https://www.shaorongwang.com/courses/cpp-programming/materials/</link><atom:link href="https://www.shaorongwang.com/courses/cpp-programming/materials/index.xml" rel="self" type="application/rss+xml"/><description>Resources</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-US</language><image><url>https://www.shaorongwang.com/media/sharing.png</url><title>Resources</title><link>https://www.shaorongwang.com/courses/cpp-programming/materials/</link></image><item><title>Learning Resources</title><link>https://www.shaorongwang.com/courses/cpp-programming/materials/learning-resources/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.shaorongwang.com/courses/cpp-programming/materials/learning-resources/</guid><description>&lt;h3 id="reference-materials"&gt;Reference Materials&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/courses/cpp-programming/materials/practices/"&gt;Programming practices and examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/reference/CPluPlusPPT-BJFU.zip"&gt;Reference slides&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/methods/guides/Learning-Motivation.pdf"&gt;Learning Motivation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/methods/guides/Programming-Fundamentals-Tips.pdf"&gt;Programming Fundamentals: Practical Tips&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/methods/C-Programming-Mind-Map.pdf"&gt;C Programming Mind Map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/methods/Guide-to-Programming-Fundamentals.pdf"&gt;Guide to Programming Fundamentals&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/methods/Introduction-to-Object-Oriented-Programming.pdf"&gt;Introduction to Object-Oriented Programming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://flowus.cn/visualcomputing/share/3e0c5636-deaf-40e4-883f-0e7b516f6c0f"&gt;Supplementary materials&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="books"&gt;Books&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Stephen Prata, &lt;em&gt;C++ Primer Plus&lt;/em&gt;, 6th ed., Posts &amp;amp; Telecom Press, 2020.&lt;/li&gt;
&lt;li&gt;Bruce Eckel, &lt;em&gt;Thinking in C++&lt;/em&gt;, Vol. 1, China Machine Press, 2002.&lt;/li&gt;
&lt;li&gt;Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo, &lt;em&gt;C++ Primer&lt;/em&gt;, 5th ed., Publishing House of Electronics Industry, 2013.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Focused Examples</title><link>https://www.shaorongwang.com/courses/cpp-programming/materials/examples/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.shaorongwang.com/courses/cpp-programming/materials/examples/</guid><description>&lt;ul class="vcg-course-resource-list"&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2FSimpleClass.cpp&amp;amp;title=Simple&amp;#43;class#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Simple class&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Basic class definitions, data members, and member functions&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2Fstring.cpp&amp;amp;title=Strings#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Strings&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;std::string conversion, searching, parsing, and word-frequency counting&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2FfileIO.cpp&amp;amp;title=Text-file&amp;#43;input&amp;#43;and&amp;#43;output#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Text-file input and output&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Reading and writing text files&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2Fvector.cpp&amp;amp;title=std%3A%3Avector#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;std::vector&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Basic vector operations, traversal, and sorting&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2Flist.cpp&amp;amp;title=std%3A%3Alist#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;std::list&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Basic list operations, traversal, and erasure&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2Fconst.cpp&amp;amp;title=const#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;const&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Common uses of const&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2FCopyConstructor.cpp&amp;amp;title=Copy&amp;#43;constructors#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Copy constructors&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Copy construction, assignment, and pass-by-value&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2FDynamicMemoryAndCopyConstructor.cpp&amp;amp;title=Dynamic&amp;#43;memory&amp;#43;and&amp;#43;copy&amp;#43;constructors#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Dynamic memory and copy constructors&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Dynamic-memory management and deep copying&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2FPolymorphism.cpp&amp;amp;title=Polymorphism#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Polymorphism&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Inheritance and runtime polymorphism&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2Fstatic.cpp&amp;amp;title=static#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;static&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Function-local static variables and static class members&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2Ftemplate.cpp&amp;amp;title=Templates#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Templates&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Fundamentals of function and class templates&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2Ffriend.cpp&amp;amp;title=Friend&amp;#43;functions&amp;#43;and&amp;#43;classes#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Friend functions and classes&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Friend functions, friend classes, and template friends&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2FSTL.cpp&amp;amp;title=STL&amp;#43;example#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;STL example&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Integrated examples of STL containers and algorithms&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/examples/?kind=code&amp;amp;language=cpp&amp;amp;resource=%2Fcourse-resources%2Fcode%2Fcpp%2FCompositePattern.cpp&amp;amp;title=Composite&amp;#43;pattern#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Composite pattern&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Basic object composition and operator overloading&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Programming Practices</title><link>https://www.shaorongwang.com/courses/cpp-programming/materials/practices/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.shaorongwang.com/courses/cpp-programming/materials/practices/</guid><description>&lt;ul&gt;
&lt;li&gt;Write code for readability, maintainability, efficiency, and robustness.&lt;/li&gt;
&lt;li&gt;Store computed results in variables before formatting and displaying them.&lt;/li&gt;
&lt;li&gt;When Microsoft Visual C++ warns about functions such as &lt;code&gt;strcpy&lt;/code&gt;, understand the safer alternatives first. Legacy exercises may require &lt;code&gt;_CRT_SECURE_NO_WARNINGS&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Compare floating-point values with an appropriate tolerance instead of exact equality.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;std::fixed&lt;/code&gt;, &lt;code&gt;std::setprecision&lt;/code&gt;, and related &lt;code&gt;&amp;lt;iomanip&amp;gt;&lt;/code&gt; tools to control numeric output.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="programming-style"&gt;Programming Style&lt;/h3&gt;
&lt;ul class="vcg-course-resource-list"&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/practices/?kind=markdown&amp;amp;language=text&amp;amp;resource=%2Fcourse-resources%2Fmarkdown%2Fcpp-best-practices.md&amp;amp;title=C%2B%2B&amp;#43;Best&amp;#43;Practices#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;C&amp;#43;&amp;#43; Best Practices&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Common C&amp;#43;&amp;#43; programming practices and code-quality guidance&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li class="vcg-course-resource-item"&gt;
&lt;a
class="vcg-course-resource-link"
href="https://www.shaorongwang.com/courses/cpp-programming/materials/practices/?kind=markdown&amp;amp;language=text&amp;amp;resource=%2Fcourse-resources%2Fmarkdown%2Fnaming-conventions.md&amp;amp;title=Naming&amp;#43;Conventions#course-resource-viewer"
data-vcg-course-resource-link
&gt;
&lt;span class="vcg-course-resource-label"&gt;Naming Conventions&lt;/span&gt;
&lt;span class="vcg-course-resource-description"&gt;Naming conventions for variables, functions, classes, and other identifiers&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Additional Resources</title><link>https://www.shaorongwang.com/courses/cpp-programming/materials/additional-resources/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.shaorongwang.com/courses/cpp-programming/materials/additional-resources/</guid><description>&lt;h3 id="projects--demonstrations"&gt;Projects &amp;amp; Demonstrations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/methods/From-Modules-to-Object-Oriented-Programming.pdf"&gt;From modules to object-oriented programming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/demo/KeepPet.pdf"&gt;KeepPet&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/demo/PlugIn.pdf"&gt;PlugIn&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/demo/Music-0701-1300.rar"&gt;Music demonstration source archive&lt;/a&gt;
· &lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/demo/Midi.zip"&gt;MIDI version&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/resource/Qt%20Demo/Demo.zip"&gt;Qt game demo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/demo/Shape.zip"&gt;Qt Shape example&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/demo/MarketQT.zip"&gt;Qt MVC example: MarketQT&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="development-environment"&gt;Development Environment&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/info/Visual-Studio-2019-Cpp-Environment.pdf"&gt;Visual Studio 2019 C++ environment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/resource/Qt%20Demo/Visual-Studio-2022-and-Qt-Tutorial.pdf"&gt;Visual Studio 2022 + Qt tutorial&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/info/Qt-Quick-Start.pdf"&gt;Qt introduction&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/CPlusPlus/info/OpenCV-Setup-Guide.pdf"&gt;OpenCV setup guide&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shaorongwang.com/course-resources/files/C-CPlusPlus/Developing-Multi-File-Projects.pdf"&gt;Visual Studio multi-file projects&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>