Difference between revisions of "One-Day Scientific C++ Class"

From oldwiki.scinet.utoronto.ca
Jump to navigation Jump to search
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
__TOC__
 +
== Goal ==
 
This was a full-day course given on March 15, 2011 at SciNet, covering using C++ for scientific programming, with a focus on those features that are useful for scientific software development. We took to C-to-C++ route, so
 
This was a full-day course given on March 15, 2011 at SciNet, covering using C++ for scientific programming, with a focus on those features that are useful for scientific software development. We took to C-to-C++ route, so
 
familiarity with C, in particular with pointers, was a prerequisite.
 
familiarity with C, in particular with pointers, was a prerequisite.
  
* Videos:
+
A second iteration covering the same content, was given on April 23, 2012.
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/morning_intro/morning_intro.mp4 Introduction]
+
 
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/morning_Creview/morning_Creview.mp4 A basic refresher of C]
+
== Slides (PDF) ==
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/morning_Cexample/morning_Cexample.mp4 Running example]
+
# [[Media:CppIntroduction.pdf | Introduction: programming strategies and brief history of C++]]
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/morning_cpp_basics/morning_cpp_basics.mp4 The nice features of C++]
+
# [[Media:CppBasicReview.pdf | A basic review of C]]
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_classes/afternoon_cpp_classes.mp4 Big C++: classes]
+
# [[Media:CppRunningExample.pdf| Running example]]
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_polymorphism/afternoon_cpp_polymorphism.mp4 Big C++: polymorphism]   
+
# [[Media:CppNice.pdf | The nice features of C++]]
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_inheritance/afternoon_cpp_inheritance.mp4 Big C++: Inheritance]
+
# [[Media:CppClasses.pdf | Big C++: classes]]
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_virtual/afternoon_cpp_virtual.mp4 Big C++: polymorphism in inheritance]
+
# [[Media:CppPolymorphism.pdf | Big C++: polymorphism]]
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_templates Big C++: templates]
+
# [[Media:CppInheritance.pdf | Big C++: Inheritance]]
# [https://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_libraries Useful libraries]
+
# [[Media:CppPolyInheritance.pdf | Big C++: polymorphism in inheritance]]
* [https://support.scinet.utoronto.ca/wiki/images/4/49/Scientific-c%2B%2B.pdf Slides]
+
# [[Media:CppTemplates.pdf | Big C++: Generic programming with templates]]
 +
# [[Media:CppLibraries.pdf | Useful libraries]]
 +
Or:
 +
*[https://support.scinet.utoronto.ca/wiki/images/4/49/Scientific-c%2B%2B.pdf Complete set of slides] (updated on Apr 26, 2012)
 +
 
 +
== Videos ==
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_intro/morning_intro.html Introduction: programming strategies and brief history of C++]<br/>[[File:Morning_intro.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_intro/morning_intro.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_intro/morning_intro.mp4 direct link]
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_Creview/morning_Creview.html A basic review of C]<br/>[[File:Morning_Creview.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_Creview/morning_Creview.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_intro/morning_Creview.mp4 direct link]
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_Cexample/morning_Cexample.html Running example]<br/>[[File:Morning_Cexample.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_Cexample/morning_Cexample.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_Cexample/morning_Cexample.mp4 direct link]
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_cpp_basics/morning_cpp_basics.html The nice features of C++]<br/>[[File:Morning_cpp_basics.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_cpp_basics/morning_cpp_basics.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/morning_cpp_basics/morning_cpp_basics.mp4 direct link]
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_classes/afternoon_cpp_classes.html Big C++: classes]<br/>[[File:Afternoon_cpp_classes.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_classes/afternoon_cpp_classes.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_classes/afternoon_cpp_classes.mp4 direct link]
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_polymorphism/afternoon_cpp_polymorphism.html Big C++: polymorphism]  <br/>[[File:Afternoon_cpp_polymorphism.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_polymorphism/afternoon_cpp_polymorphism.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_polymorphism/afternoon_cpp_polymorphism.mp4 direct link]
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_inheritance/afternoon_cpp_inheritance.html Big C++: Inheritance]<br/>[[File:Afternoon_cpp_inheritance.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_inheritance/afternoon_cpp_inheritance.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_inheritance/afternoon_cpp_inheritance.mp4 direct link]
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_virtual/afternoon_cpp_virtual.html Big C++: polymorphism in inheritance]<br/>[[File:Afternoon_cpp_virtual.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_virtual/afternoon_cpp_virtual.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_virtual/afternoon_cpp_virtual.mp4 direct link]
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_templates/afternoon_cpp_templates.html Big C++: Generic programming with templates]<br/>[[File:Afternoon_cpp_templates.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_templates/afternoon_cpp_templates.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_templates/afternoon_cpp_templates.mp4 direct link]
 +
# [http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_libraries/afternoon_cpp_libraries.html Useful libraries]<br/>[[File:Afternoon_cpp_libraries.png|180px|Click for Video|link=http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_libraries/afternoon_cpp_libraries.html]]<br/>[http://support.scinet.utoronto.ca/CourseVideo/C++course/afternoon_cpp_libraries/afternoon_cpp_libraries.mp4 direct link]
 +
 
 +
== Code ==
 
* [https://support.scinet.utoronto.ca/wiki/images/3/38/Scinetcppexamples.tgz Hands-on example code]
 
* [https://support.scinet.utoronto.ca/wiki/images/3/38/Scinetcppexamples.tgz Hands-on example code]

Latest revision as of 10:53, 7 February 2013