diff --git a/images/adriana.jpg b/images/adriana.jpg new file mode 100644 index 0000000..f6cd3c3 Binary files /dev/null and b/images/adriana.jpg differ diff --git a/index.md b/index.md index 5b2cde2..b7b553c 100644 --- a/index.md +++ b/index.md @@ -25,6 +25,7 @@ title: Object-Oriented Programming (5CCYB041) - [Jakub Grzelak](mailto:jakub.grzelak@kcl.ac.uk) - [Nashira Baena](mailto:paloma.rodriguez_baena@kcl.ac.uk) - [Dewmini Hasara Wickremasinghe](mailto:dewmini.wickremasinghe@kcl.ac.uk) +- [Adriana Namour](mailto:adriana.m.namour@kcl.ac.uk) --- diff --git a/week1A.md b/week1A.md index bf53224..c4cec37 100644 --- a/week1A.md +++ b/week1A.md @@ -42,18 +42,16 @@ name: team --- -# Teaching assistants - - .center[.teamcols[ .col[ -[Abhijit Adhikary](mailto:abhijit.adhikary@kcl.ac.uk) ] +## Teaching assistants +] +.col[ +  ] .col[ ![:scale 100%](images/abhijit.jpg) ] -.col[ -![:scale 100%](images/hasara.jpg) ] -.col[ -[Dewmini Hasara Wickremasinghe](mailto:dewmini.wickremasinghe@kcl.ac.uk) ] +.col[ +[Abhijit Adhikary](mailto:abhijit.adhikary@kcl.ac.uk) ] ] ] .center[.teamcols[ @@ -78,6 +76,20 @@ name: team [Nashira Baena](mailto:paloma.rodriguez_baena@kcl.ac.uk) ] ] ] +.center[.teamcols[ +.col[ +[Adriana Namour](mailto:adriana.m.namour@kcl.ac.uk) ] +.col[ +![:scale 100%](images/adriana.jpg) ] +.col[ +![:scale 100%](images/hasara.jpg) ] +.col[ +[Dewmini Hasara Wickremasinghe](mailto:dewmini.wickremasinghe@kcl.ac.uk) ] +] ] + + + + --- name: course @@ -158,7 +170,7 @@ C++ was first released in 1985 by Bjarne Stroustrup as an extension to the [C la -- -Secific features of C++: +Specific features of C++: - it supports [Object-Oriented Programming (OOP)](https://www.geeksforgeeks.org/introduction-of-object-oriented-programming/), as well as [generic](https://www.geeksforgeeks.org/generics-in-c/) and [functional programming](https://www.geeksforgeeks.org/functional-programming-paradigm/) - it is a [compiled language](https://www.geeksforgeeks.org/difference-between-compiled-and-interpreted-language/) @@ -180,7 +192,7 @@ On this course, we will be using the **C++20 version of the standard** -- -We will _not_ cover concepts that many other C++ courses would consider +We will *avoid* concepts that many other C++ courses would consider fundamental, including: -- @@ -604,37 +616,6 @@ $ ls a.exe main.cpp ``` ---- - -# Difference between compiled and interpreted languages - -[*Interpreted* programming languages](https://www.geeksforgeeks.org/difference-between-compiled-and-interpreted-language/) do not need to be compiled prior to execution -- examples include [Python](https://www.python.org/), [Java](https://www.java.com/), [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript), [Perl](https://www.perl.org/), [Ruby](https://www.ruby-lang.org/), and even our [`bash` shell](https://www.geeksforgeeks.org/bash-scripting-introduction-to-bash-and-bash-scripting/) - --- - -Programs written using interpreted languages cannot executed by themselves – -they need to be run via another program called the *interpreter* -- the source code needs to be [parsed](https://en.wikipedia.org/wiki/Parsing) by the interpreted at run-time -- if the code is deemed valid, the interpreter will perform the actions - specified -- the interpreter must be installed and available on all target systems - --- - -In contrast, *compiled* languages are first translated into native machine -instructions -- examples include [C](https://en.wikipedia.org/wiki/C_(programming_language%29), C++, [Fortran](https://en.wikipedia.org/wiki/Fortran), [Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language%29), [Rust](https://www.rust-lang.org/), [Go](https://go.dev/), ... -- this (in theory) provides the highest performance, avoiding the overhead of - interpreting the instructions at runtime -- it also provides an opportunity to detect certain classes of errors at an earlier stage -- it can also produce more efficient code through various optimisation - techniques that would be too time-consuming to perform at runtime --- -- ... but the compile cycle can be lengthy, slowing down the development process - - - --- # Running our program @@ -668,6 +649,37 @@ Hello, world! -- +--- + +# Difference between compiled and interpreted languages + +[*Interpreted* programming languages](https://www.geeksforgeeks.org/difference-between-compiled-and-interpreted-language/) do not need to be compiled prior to execution +- examples include [Python](https://www.python.org/), [Java](https://www.java.com/), [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript), [Perl](https://www.perl.org/), [Ruby](https://www.ruby-lang.org/), and even our [`bash` shell](https://www.geeksforgeeks.org/bash-scripting-introduction-to-bash-and-bash-scripting/) + +-- + +Programs written using interpreted languages cannot be executed by themselves – +they need to be run via another program called the *interpreter* +- the source code needs to be [parsed](https://en.wikipedia.org/wiki/Parsing) by the interpreted at run-time +- if the code is deemed valid, the interpreter will perform the actions + specified +- the interpreter must be installed and available on all target systems + +-- + +In contrast, *compiled* languages are first translated into native machine +instructions +- examples include [C](https://en.wikipedia.org/wiki/C_(programming_language%29), C++, [Fortran](https://en.wikipedia.org/wiki/Fortran), [Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language%29), [Rust](https://www.rust-lang.org/), [Go](https://go.dev/), ... +- this (in theory) provides the highest performance, avoiding the overhead of + interpreting the instructions at runtime +- it also provides an opportunity to detect certain classes of errors at an earlier stage +- it can also produce more efficient code through various optimisation + techniques that would be too time-consuming to perform at runtime +-- +- ... but the compile cycle can be lengthy, slowing down the development process + + + --- # Controlling the output of the compiler