Skip to content

Commit 5b57cd6

Browse files
Create README.md from template
1 parent 7872a63 commit 5b57cd6

1 file changed

Lines changed: 158 additions & 0 deletions

File tree

README.md

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
<img src="./images/UCAM_ICCS_Logo.png" width="600">
2+
3+
# Reproducibility in Computing
4+
5+
This repository contains documentation, resources, and code for the `<your course title>` session
6+
designed and delivered by Jack Franklin and Marion Weinzierl of [ICCS](https://github.com/Cambridge-ICCS).
7+
All materials, including slides and videos, are available such that individuals can cover the
8+
course in their own time.
9+
10+
A website for this workshop can be found at [\<Link to website or slides if available\>](https://iccs.cam.ac.uk/).
11+
12+
13+
## Contents
14+
15+
- [Learning Objectives](#learning-objectives)
16+
- [Teaching material](#teaching-material)
17+
- [Preparation and prerequisites](#preparation-and-prerequisites)
18+
- [Installation and setup](#installation-and-setup)
19+
- [License information](#license)
20+
- [Contribution Guidelines and Support](#contribution-guidelines-and-support)
21+
22+
23+
## Learning Objectives
24+
25+
The key learning objective from this workshop is to
26+
_Provide participants with \<Your workshop objective here\>_.
27+
28+
However, more specifically we will achieve this through to:
29+
30+
* add more detailed objectives here,
31+
* list any specific tools and techniques to be used,
32+
* add any other sub-skills that will be covered,
33+
* state what the outcome of the exercises/lecture will be.
34+
35+
With regards to specific content we cover:
36+
37+
* optionally, consider adding specific takeaway skills here
38+
* for example, classification and regression with neural networks
39+
* for example, how to add and commit files to git
40+
41+
## Teaching Material
42+
43+
### Slides
44+
The slides for this workshop can be viewed here: [\<Link to your slides\>](https://iccs.cam.ac.uk/)
45+
46+
### Exercises
47+
The exercises for the course can be found in the [exercises](exercises/) directory.
48+
These take the form of \<partially completed jupyter notebooks/downloadable code/online tasks or games etc.\>.
49+
50+
### Worked Solutions
51+
Worked solutions for all of the exercises can be found in the [worked solutions](worked-solutions/) directory.
52+
These are for recapping after the course in case you missed anything, and contain example solutions.
53+
54+
55+
## Preparation and prerequisites
56+
57+
### Prerequisites
58+
59+
To get the most out of the session we assume a basic understanding in a few areas and
60+
for you to do some preparation in advance.
61+
This expected knowledge is outlined below, along with resources for reading if you
62+
are unfamiliar with any areas.
63+
64+
- List here any key skills or knowledge that will be assumed of a user for the course,
65+
- for example, basic calculus (integration and differentiation of a function) and matrix algebra
66+
- Provide resources where appropriate,
67+
- for example, Basic Neural Networks - we recommend the
68+
[video series by 3Blue1Brown](https://www.3blue1brown.com/topics/neural-networks), at least chapters 1-3.
69+
- Also include any programming expectations
70+
- for example, the course will be taught in Python using [`numpy`](https://numpy.org/)
71+
and [`pandas`](https://pandas.pydata.org/docs/getting_started/index.html).
72+
- We assume users are familiar with the basics of Python. This includes:
73+
- Basic mathematical operations
74+
- Writing and running scripts/programs
75+
- Writing and using functions
76+
- If users need to clone the repository from GitHub/Lab using git also note this.
77+
The [ICCS Summer School](https://www.youtube.com/watch?v=ZrwzK4CnJ3Q) should provide the necessary knowledge.
78+
79+
80+
### Preparation
81+
82+
List here anything that you expect participants to have on their computer in advance of the course in order to participate.
83+
For example:
84+
85+
- A text editor - e.g. vim/[neovim](https://neovim.io/), [gedit](https://gedit.en.softonic.com/), [vscode](https://code.visualstudio.com/), [sublimetext](https://www.sublimetext.com/) etc. to open and edit code files
86+
- A terminal emulator - e.g. [GNOME Terminal](https://help.gnome.org/users/gnome-terminal/stable/), [wezterm](https://wezfurlong.org/wezterm/index.html), [Windows Terminal (windows only)](https://learn.microsoft.com/en-us/windows/terminal/), [iTerm (mac only)](https://iterm2.com/)
87+
- A Python 3 installation
88+
89+
Remember that participants will have a mix of Unix and Windows systems, and these should be covered
90+
to ensure smooth delivery. Whilst Unix may be a presumed first choice, provide links to information
91+
for setup on Windows, for example
92+
[Windows' getting-started with python information](https://learn.microsoft.com/en-us/windows/python/beginners).
93+
94+
If you require assistance or further information with any of these please reach out to
95+
us before the session.
96+
97+
98+
## Installation and setup
99+
100+
Here you should include any instructions required for setup in preparation for the course.
101+
These may be followed during the sesison as a walkthrough, but you should provide clear
102+
instructions here for participants who take longer, needs additional help, or return to work
103+
in their own time.
104+
It is possible that many participants will not have done this in advance,
105+
which you should be prepared for, but having these clear instructions means
106+
that they can be pointed at this instead of holding up the session.
107+
108+
Things to include are:
109+
110+
- obtaining the code, for example instructions on how to clone the code locally:
111+
```
112+
git clone https://github.com/Cambridge-ICCS/<your-repository>.git
113+
```
114+
or fork the repository if this is required.
115+
- Setup of a computing environment if appropriate.
116+
e.g. in Python:
117+
```
118+
python3 -m venv my-workshop-venv
119+
source my-workshop-venv/bin/activate
120+
deactivate
121+
```
122+
- Installation of any dependencies
123+
- Provide links and instructions
124+
- If using Python, Julia, R etc. package these or use a `requirements.txt` file
125+
- getting started instructions
126+
- instructions on how to get started with the first exercises of the workshop.
127+
for example, loading the first jupyter notebook, or building andnrunning the first exercise
128+
129+
Note that you might consider providing a [Google Colab](https://colab.research.google.com/)
130+
or binder implementation that can be run online in case participants have issues using the
131+
code on their local machine. Instructions for this approach should also be provided.
132+
133+
134+
## License
135+
136+
The code materials in this project are licensed under the [MIT License](LICENSE).
137+
138+
139+
## Contribution Guidelines and Support
140+
141+
If you spot an issue with the materials please let us know by
142+
[opening an issue](https://github.com/Cambridge-ICCS/<your-repository>/issues)
143+
here on GitHub clearly describing the problem.
144+
145+
If you are able to fix an issue that you spot, or an
146+
[existing open issue](https://github.com/Cambridge-ICCS/<your-repository>/issues)
147+
please get in touch by commenting on the issue thread.
148+
149+
Contributions from the community are welcome.
150+
To contribute back to the repository please first
151+
[fork it](https://github.com/Cambridge-ICCS/<your-repository>/fork),
152+
make the necessary changes to fix the problem, and then open a pull request back to
153+
this repository clearly describing the changes you have made.
154+
We will then preform a review and merge once ready.
155+
156+
If you would like support using these materials, adapting them to your needs, or
157+
delivering them please get in touch either via GitHub or via
158+
[ICCS](https://github.com/Cambridge-ICCS).

0 commit comments

Comments
 (0)