GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - lunarc/cpp_course: C++ Course Source Code

BranchesTags
Open more actions menu

Latest commit

 

History

178 Commits
178 Commits

Folders and files

NameName
Last commit message
Last commit date
.idea
.idea
 
 
.vscode
.vscode
 
 
archive
archive
 
 
benchmarks
benchmarks
 
 
ch_arrays
ch_arrays
 
 
ch_arrays_modern
ch_arrays_modern
 
 
ch_boost_python
ch_boost_python
 
 
ch_cmake
ch_cmake
 
 
ch_concurrency
ch_concurrency
 
 
ch_control_structures
ch_control_structures
 
 
ch_cpp_fortran
ch_cpp_fortran
 
 
ch_data_structures
ch_data_structures
 
 
ch_functions
ch_functions
 
 
ch_input_output
ch_input_output
 
 
ch_iterating
ch_iterating
 
 
ch_matrices
ch_matrices
 
 
ch_mixed_language
ch_mixed_language
 
 
ch_modern
ch_modern
 
 
ch_of
ch_of
 
 
ch_oop
ch_oop
 
 
ch_operators
ch_operators
 
 
ch_qt
ch_qt
 
 
ch_strings
ch_strings
 
 
ch_variables
ch_variables
 
 
ch_vector_and_lists
ch_vector_and_lists
 
 
ch_vtk
ch_vtk
 
 
data
data
 
 
docs
docs
 
 
exercises
exercises
 
 
hello_world
hello_world
 
 
include
include
 
 
mk_docs
mk_docs
 
 
swig
swig
 
 
.clang-format
.clang-format
 
 
.gitignore
.gitignore
 
 
.readthedocs.yaml
.readthedocs.yaml
 
 
BUILD.md
BUILD.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CMakePresets.json
CMakePresets.json
 
 
LICENSE
LICENSE
 
 
MIGRATION.md
MIGRATION.md
 
 
QUICK_REFERENCE.md
QUICK_REFERENCE.md
 
 
README.md
README.md
 
 
build-course.py
build-course.py
 
 
build-debug.cmd
build-debug.cmd
 
 
build-release.cmd
build-release.cmd
 
 
clean.cmd
clean.cmd
 
 
config_debug_build.cmd
config_debug_build.cmd
 
 
config_release_build.cmd
config_release_build.cmd
 
 
configure.cmd
configure.cmd
 
 
cpp-build
cpp-build
 
 
cpp-build.cmd
cpp-build.cmd
 
 
cppbuild-old.cmd
cppbuild-old.cmd
 
 
ln-modules.sh
ln-modules.sh
 
 
vcpkg.json
vcpkg.json
 
 
vcpkg.json.bak
vcpkg.json.bak
 
 

Repository files navigation

C++ for Scientists and Engineers

This course is intended as an introduction to C++ for engineers or researchers using the language to develop computational applications or workflows requiring a high-performance language. The target audience are existing users of Python, NumPy and Matplotlib.

The course gives a thorough introduction to C++ covering both classic as well modern features of the language. The focus is on tools required to develop computational codes using established libraries for array computing (Eigen), user interface design (Qt) and visualization (VTK).

The course focuses a lot on complete examples of code that are ready to run. In addition, the course documentation is complemented with a complete source code tree on GitHub with all of the examples described in the course.

Jonas Lindemann, 2024

Building the Examples

This project uses a modern CMake-based build system with vcpkg package management. For detailed build instructions, see BUILD.md.

Quick Start

Prerequisites: CMake 3.20+, vcpkg, and a C++ compiler

Set vcpkg location (if not in standard location):

# Windows
set VCPKG_ROOT=E:\vcpkg

# Linux/macOS
export VCPKG_ROOT=/path/to/vcpkg

Build:

# Using presets (recommended)
cmake --preset debug
cmake --build --preset debug

# Or using standard CMake
cmake -B build-debug -DCMAKE_BUILD_TYPE=Debug
cmake --build build-debug

Executables will be in the bin/ directory.

About

C++ Course Source Code

c-for-scientists-and-engineers.readthedocs.io

Topics

array-computingcmakecppcpp23eigen3mixed-languageoopqtscientific-computing

Resources

Readme
MIT license
Activity
Custom properties

Stars

5 stars

Watchers

4 watching

Forks

3 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.