Coder Social home page Coder Social logo

rsd-cppcourse's Introduction

Intensive C++ for Research

Training course in research programming provided by UCL Research IT Services.

This content is copyright (C) University College London 2013.

It is licensed under the CC-BY-SA license (see LICENSE file)

The terms of the legal text in the LICENSE file state the license, but here is a human-readable summary:

You are free:

to Share — to copy, distribute and transmit the work
to Remix — to adapt the work
to make commercial use of the work

Under the following conditions:

Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

With the understanding that:

Waiver — Any of the above conditions can be waived if you get permission from the copyright holder.
Public Domain — Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license.
Other Rights — In no way are any of the following rights affected by the license:
    Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations;
    The author's moral rights;
    Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.
Notice — For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to http://creativecommons.org/licenses/by-sa/3.0/

rsd-cppcourse's People

Contributors

jamespjh avatar jenshnielsen avatar

Stargazers

Mark Pinnock avatar Pierre Kestener avatar Spiros Denaxas avatar

Watchers

Robert Vickerstaff avatar  avatar Mosè Giordano avatar James Cloos avatar David Pérez-Suárez avatar Florian Oswald avatar Sinan Shi avatar  avatar Sarah Keating avatar Jonathan Cooper avatar alexsavio avatar Stephen Thompson avatar Gary Macindoe avatar Roma Klapaukh avatar Tom Couch avatar Benjamin Laken avatar Ben Thomas avatar Mashy Green avatar Ed Lowther avatar  avatar Miguel Xochicale, PhD avatar Tuomas Koskela avatar Krishnakumar Gopalakrishnan, PhD avatar  avatar Devaraj Gopinathan avatar Milan Malfait avatar Harry Moss avatar

rsd-cppcourse's Issues

Consider adding a "where we're going to" at the beginning.

On softwarecarpentry-discuss EthanWhite said:

On Sun, Nov 3, 2013 at 10:34 PM, Damien Irving
[email protected] wrote:
I was speaking with some people who attended a bootcamp a few weeks ago and
they were lamenting the fact that until the afternoon of the second day,
they didn't really understand the point of a lot of what was being taught.

This is definitely a very common piece of feedback.

To combat this problem, I was thinking that an ideal way to open a bootcamp
would be to give a brief demonstration of the final product. In other words,
the instructor would come in with a pre-prepared, gold-standard Python
script. They would demonstrate the utility of this script by first using the
-h option at the command line (which would print instructions about the
required command line arguments and options to the screen). They could then
execute the script using some example input data, just to show that it
works. They would then proceed to make a simple change to the script, and
then demonstrate that it still passes its unit tests (i.e. using some
pre-prepared tests). Finally, they would commit the changed script to
version control and view the changes via an external hosting service like
GitHub.

This kind of motivating demonstration to keep folks motivated during
the initial phases of learning is something that I use frequently in
my university courses. I've received lots of positive feedback in this
context. However in that case I'm typically showing them where they
are going to get over the next week or month and so I'm not clear how
well this would translate to bootcamps.

Ethan

Upgrade gtest to v 1.7.0?

This includes some fixes needed for c++11. Otherwise it breaks compilation.
After upgrading you will most likely need to nuke the build dir.

Member initialisation and assignment not the exact same thing.

Hi,

Nice materials! Anyway, I was having a look and found a comment in the section https://github.com/UCL/rsd-cppcourse/blob/master/lessons/03classes.md#defining-constructors.

It says that member initialisation and assignment are the exact same thing. This is not true though. Please have a look at the Item 12 in Effective C++, for example.

Member initialisation through the initialisation list is more efficient and is the correct way of doing it. The member assignment is hiding one step more, which is the initialisation of the string with an empty string. I understand that this is a course for beginners and you might not want to go into deep details, but I wouldn't say they are the exact same thing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.