Skip to content

Commit 75d3ef4

Browse files
add links and summarises to the self study notes for the courses
1 parent c523c44 commit 75d3ef4

File tree

10 files changed

+115
-41
lines changed

10 files changed

+115
-41
lines changed

course_homepages/R.ipynb

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,40 @@
2929
]
3030
},
3131
{
32-
"cell_type": "code",
33-
"execution_count": null,
34-
"id": "4e1826b4-ccc0-4823-be9f-aaae569a997a",
32+
"cell_type": "markdown",
33+
"id": "ffffdfd4-3e45-49c2-877b-f078c8abe7ea",
3534
"metadata": {
3635
"editable": true,
3736
"slideshow": {
3837
"slide_type": ""
3938
},
4039
"tags": []
4140
},
42-
"outputs": [],
43-
"source": []
41+
"source": [
42+
"## Introduction to R Self Study Notes\n",
43+
"\n",
44+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/introduction_to_r.md)\n",
45+
"\n",
46+
"The course introduces students to using RStudio for writing scripts and executing R commands, emphasizing the importance of various data types and object structures for effective data storage. Participants will learn how to read, manipulate, and save data, visualize it through commonly used figures, and perform basic inferential statistical tests. Additionally, the course covers fundamental programming terminology and concepts, such as variables, functions, and for loops, which are transferable to other programming languages.\n",
47+
"\n",
48+
"## Regression Analysis with R Self Study Notes\n",
49+
"\n",
50+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/regression_analysis_with_R.md)\n",
51+
"\n",
52+
"The course provides a thorough understanding of regression analysis, including the types of questions it can address and the principles behind different regression models. Students will learn to fit both linear and logistic regression models with multiple predictor variables, as well as extract and summarize results from a variety of regression analyses. Additionally, the course emphasizes designing regression models that are tailored to specific research questions, ensuring that students can apply these techniques effectively in their own studies.\n",
53+
"\n",
54+
"## Advanced Regression Analysis with R Self Study Notes\n",
55+
"\n",
56+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/advanced_regression_analysis_with_R.md)\n",
57+
"\n",
58+
"The course equips students to use regression analysis to address a wide range of research questions, including fitting models with interactions between predictor variables and multi-level regression models. Participants will learn to extract and summarize results from various regression models, ensuring they can effectively interpret and communicate their findings. Additionally, the course emphasizes designing regression models tailored to specific research questions, enabling students to apply these techniques accurately in their own studies.\n",
59+
"\n",
60+
"## Working With Data in R Self Study Notes\n",
61+
"\n",
62+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/working_with_data_in_R.md)\n",
63+
"\n",
64+
"The course introduces the principles of the ‘tidy’ data format, a widely recognized convention for structuring data, and teaches how to read tabular data from files into dataframes. Students will learn to manipulate datasets by creating new variables, filtering, summarizing, sorting, joining multiple datasets, and reshaping data, as well as working with strings and dates when time permits. Additionally, the course provides hands-on experience with R notebooks for conducting and documenting data analysis effectively."
65+
]
4466
}
4567
],
4668
"metadata": {

course_homepages/computational_thinking.ipynb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,22 @@
1717
]
1818
},
1919
{
20-
"cell_type": "code",
21-
"execution_count": null,
22-
"id": "405e2487-a0a0-46a5-ae07-09555bd7f90f",
20+
"cell_type": "markdown",
21+
"id": "ccd1c890-bbe5-41fb-adac-814e0554af12",
2322
"metadata": {
2423
"editable": true,
2524
"slideshow": {
2625
"slide_type": ""
2726
},
2827
"tags": []
2928
},
30-
"outputs": [],
31-
"source": []
29+
"source": [
30+
"## Computational Thinking Self Study Notes\n",
31+
"\n",
32+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/computational_thinking.md)\n",
33+
"\n",
34+
"The course introduces the concept of algorithms and their essential role in coding, providing a solid foundation for understanding computational processes. Students will explore various computational thinking approaches and concepts for developing effective algorithms, enhancing their problem-solving skills. Additionally, the course teaches how to differentiate between syntax-related bugs and those stemming from the underlying algorithm, enabling more efficient and effective troubleshooting."
35+
]
3236
}
3337
],
3438
"metadata": {

course_homepages/high_performance_computing.ipynb

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,28 @@
2929
]
3030
},
3131
{
32-
"cell_type": "code",
33-
"execution_count": null,
34-
"id": "404ed0ff-3f41-43bb-a44f-add46cf661d6",
32+
"cell_type": "markdown",
33+
"id": "fd6e537e-d20c-4c5b-b619-1cf111ba7ec1",
3534
"metadata": {
3635
"editable": true,
3736
"slideshow": {
3837
"slide_type": ""
3938
},
4039
"tags": []
4140
},
42-
"outputs": [],
43-
"source": []
41+
"source": [
42+
"## Introduction to HPC Self Study Notes\n",
43+
"\n",
44+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/introduction_to_hpc.md)\n",
45+
"\n",
46+
"The course introduces high-performance computing (HPC) clusters, explaining their functionality and the types of tasks they are best suited for. Students will learn how to access and navigate HPC environments, including logging onto clusters, managing the file system, and submitting and overseeing job tasks within the scheduler’s queue. Additionally, the course covers the array jobs syntax, a powerful tool for efficiently parallelizing repetitive tasks, enabling effective management of large computational workloads.\n",
47+
"\n",
48+
"## Parallel Computing Self Study Notes\n",
49+
"\n",
50+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/parallel_computing.md)\n",
51+
"\n",
52+
"The course offers an in-depth understanding of distributed and shared-memory parallelism, enabling participants to explain these concepts clearly. Students will learn to write software that runs across multiple processes using MPI and develop code that utilizes multithreading for parallel execution. Additionally, the course focuses on effectively dividing and parallelizing problems, providing hands-on experience in writing and optimizing parallel code."
53+
]
4454
}
4555
],
4656
"metadata": {

course_homepages/julia.ipynb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,22 @@
2929
]
3030
},
3131
{
32-
"cell_type": "code",
33-
"execution_count": null,
34-
"id": "dfe38367-7b5c-424c-9fcc-0a89b8cd8def",
32+
"cell_type": "markdown",
33+
"id": "33fc6106-5ac0-41aa-b1dc-bfcb1ceb098f",
3534
"metadata": {
3635
"editable": true,
3736
"slideshow": {
3837
"slide_type": ""
3938
},
4039
"tags": []
4140
},
42-
"outputs": [],
43-
"source": []
41+
"source": [
42+
"## Introduction to Julia Self Study Notes\n",
43+
"\n",
44+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/introduction_to_julia.md)\n",
45+
"\n",
46+
"The course provides a comprehensive understanding of Julia’s high-level and high-performance features, including multiple dispatch. Students will learn to create and manipulate one-dimensional and multi-dimensional arrays, utilize conditional statements and loops to control program flow, and develop functions with various parameters and return types, including lambda functions. Additionally, the course covers performing input and output operations with different file types such as text, CSV, Excel, and JSON, enabling effective data handling and manipulation."
47+
]
4448
}
4549
],
4650
"metadata": {

course_homepages/python.ipynb

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,24 @@
2727
"source": [
2828
"The following set of courses discuss Python. The details for each of the courses can be found on their respective pages. "
2929
]
30+
},
31+
{
32+
"cell_type": "markdown",
33+
"id": "1ff412eb-15fc-4112-b5c1-fd7b8876aa86",
34+
"metadata": {},
35+
"source": [
36+
"## Introduction to Python Self Study Notes\n",
37+
"\n",
38+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/introduction_to_python.md)\n",
39+
"\n",
40+
"The course provides a foundational understanding of Python’s basic data types and the fundamental principles of control flow, including the use of for loops. Students will learn to define and implement functions with user-specified parameters, as well as perform simple data analysis and visualize tabular data effectively. Additionally, the course highlights how Python concepts relate to those in other programming languages, enhancing cross-language comprehension.\n",
41+
"\n",
42+
"## Python for Data Analysis Self Study Notes\n",
43+
"\n",
44+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/python_for_data_analysis.md)\n",
45+
"\n",
46+
"The course offers a comprehensive foundation in Python programming, covering essential topics such as data types, control structures, and functions, alongside advanced data manipulation using Pandas and NumPy for handling large datasets efficiently. Students will learn to create both static and interactive visualizations with Matplotlib and Plotly, apply machine learning techniques using Scikit-Learn for predictive modeling, and implement testing frameworks and virtual environments to manage dependencies effectively. Additionally, the course emphasizes reproducibility and validation of research by teaching methods to ensure that analyses can be replicated and validated by others.\n"
47+
]
3048
}
3149
],
3250
"metadata": {

course_homepages/software_development.ipynb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,22 @@
2929
]
3030
},
3131
{
32-
"cell_type": "code",
33-
"execution_count": null,
34-
"id": "53c77588-aa4d-4d40-acd9-97b1034d696f",
32+
"cell_type": "markdown",
33+
"id": "4e78a55f-9041-4ac5-9534-1f945f5039a3",
3534
"metadata": {
3635
"editable": true,
3736
"slideshow": {
3837
"slide_type": ""
3938
},
4039
"tags": []
4140
},
42-
"outputs": [],
43-
"source": []
41+
"source": [
42+
"## Software Development Best Practice Self Study Notes\n",
43+
"\n",
44+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/software_development_best_practice.md)\n",
45+
"\n",
46+
"The course provides a high-level understanding of software development tailored for research, enabling participants to collaborate on code effectively. Students will learn how to enhance the reproducibility of their research by creating code that is accessible and useful to others. Additionally, the course establishes the necessary foundations for intermediate-level courses that delve deeper into advanced software development topics."
47+
]
4448
}
4549
],
4650
"metadata": {

course_homepages/unix.ipynb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,22 @@
2929
]
3030
},
3131
{
32-
"cell_type": "code",
33-
"execution_count": null,
34-
"id": "d2b0c13e-f974-4d86-ab2b-2576828d40ea",
32+
"cell_type": "markdown",
33+
"id": "8102ce3d-d1cc-4066-bcc4-2c25069abb55",
3534
"metadata": {
3635
"editable": true,
3736
"slideshow": {
3837
"slide_type": ""
3938
},
4039
"tags": []
4140
},
42-
"outputs": [],
43-
"source": []
41+
"source": [
42+
"## Introduction to UNIX Self Study Notes\n",
43+
"\n",
44+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/introduction_to_unix.md)\n",
45+
"\n",
46+
"The course introduces the fundamentals of the Unix shell, explaining what it is and how to access it effectively. Students will learn to navigate the Unix filesystem, inspect and manipulate files, and automate tasks through scripting. Additionally, the course covers running programs outside of integrated development environments (IDEs) and notebooks, enabling efficient command-line workflow management."
47+
]
4448
}
4549
],
4650
"metadata": {

course_homepages/version_control.ipynb

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,28 @@
2929
]
3030
},
3131
{
32-
"cell_type": "code",
33-
"execution_count": null,
34-
"id": "a50a26c8-f891-45df-ab49-6784b6b8ca7a",
32+
"cell_type": "markdown",
33+
"id": "6b2c4fda-ea2d-4114-97e9-6602cbc1773a",
3534
"metadata": {
3635
"editable": true,
3736
"slideshow": {
3837
"slide_type": ""
3938
},
4039
"tags": []
4140
},
42-
"outputs": [],
43-
"source": []
41+
"source": [
42+
"## Introduction to Version Control Self Study Notes\n",
43+
"\n",
44+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/introduction_to_version_control.md)\n",
45+
"\n",
46+
"The course teaches students how to effectively manage software development using Git, including understanding repositories and commits and applying essential Git commands such as cloning, pulling, pushing, adding, and committing changes. Participants will learn best practices for what should and should not be included in Git repositories, understand the relationship and differences between Git and platforms like GitHub and GitLab, and gain the skills to share their work publicly or collaboratively through GitHub. Additionally, the course builds confidence to explore and utilize more advanced Git and GitHub features, such as branches and pull requests, to enhance their development workflows.\n",
47+
"\n",
48+
"## Intermediate Version Control Self Study Notes\n",
49+
"\n",
50+
"[Clickable Link to Self Study Notes](../individual_modules/section_landing_pages/intermediate_version_control.md)\n",
51+
"\n",
52+
"The course delves into advanced Git configurations, enabling participants to understand and tailor Git settings to their development needs. Students will master branching and merging strategies, implement effective GitHub workflows for collaboration, and manage remote repositories while synchronizing local changes seamlessly. Additionally, the course covers techniques for rewriting Git history and recovering from mistakes, ensuring robust and resilient version control practices.\n"
53+
]
4454
}
4555
],
4656
"metadata": {

individual_modules/section_landing_pages/parallel_computing.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
This course will provide an introduction to parallel programming. Participants will gain practical experience in writing parallel software, understanding how to decompose problems for efficient execution across multiple processes and threads.
88

99
## Course Objectives
10-
On completion of this series of workshops, participants will:
1110
- Be able to explain what is meant by distributed and shared-memory parallelism.
1211
- Know how to write software that can run across multiple processes using MPI.
1312
- Be able to write code that utilizes multithreading for parallel execution.

individual_modules/section_landing_pages/software_development_best_practice.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ The course is designed to be interactive, though all related resources are avail
77
This course comprises two two-hour sessions. The course is designed to be interactive and so will be delivered within a seminar style with live demonstrations and activities. We have allowed plenty of time for discussion and questions throughout - please simply shout out any questions/comments you have or raise your physical/virtual hand. We will also have a short comfort break approximately three quarters of the way through the session. We will also share the slides and there is a list of resources on the website for this course.
88

99
## Course Objectives
10-
- On completion of this course, we will:
11-
- have a high-level understanding of software development for research.
12-
- be able to collaborate on code effectively.
13-
- be able to improve the reproducibility of our research by understanding how to make our code useful to others.
14-
- have the necessary foundations for intermediate level courses that will delve deeper into software development topics.
10+
- have a high-level understanding of software development for research.
11+
- be able to collaborate on code effectively.
12+
- be able to improve the reproducibility of our research by understanding how to make our code useful to others.
13+
- have the necessary foundations for intermediate level courses that will delve deeper into software development topics.
1514

1615
## Pre-requisite Knowledge
1716

0 commit comments

Comments
 (0)