You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,8 @@ The course is a total beginner’s introduction to programming. It takes student
3
3
4
4
5
5
# Prerequisites:
6
-
-[ ] Create a GitHub account [here](https://github.com/).
7
-
-[ ] Create a Replit account through your GitHub account [here](https://replit.com/).
6
+
-[ ] Create a GitHub account [here](https://github.com/) if you don't have one already.
7
+
-[ ] Create a Replit account through your GitHub account [here](https://replit.com/). If you already have a Replit account, go to [Account](https://replit.com/account), and in the "Connected services" section, connect to GitHub.
Copy file name to clipboardExpand all lines: session_00/exercises_0.md
+6-4Lines changed: 6 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -29,11 +29,13 @@ Before you start, make sure that you are using the Shell 🐚 (not the console).
29
29
30
30
12. Write the line "Whippet" in the dogs.txt file using `echo <text> > <file_name.txt>`.
31
31
32
-
13. Display the date in the terminal using the `date` command.
32
+
13. Display what is inside the dogs.txt file by using `cat <file_name.txt>`.
33
33
34
-
14. Display the recent history of your bash commands using the `history` command.
34
+
15. Display the date in the terminal using the `date` command.
35
35
36
-
15. Clear your terminal with the `clear` command.
36
+
15. Display the recent history of your bash commands using the `history` command.
37
+
38
+
16. Clear your terminal with the `clear` command.
37
39
38
40
39
41
# Section B
@@ -42,7 +44,7 @@ Before you start, make sure that you are using the Shell 🐚 (not the console).
42
44
43
45
2. Create a Markdown file called "my_markdown_recipe" using `touch <file_name.md>`.
44
46
45
-
3. Inside the "my_markdown_recipe.md" file, type a recipe you like using the Markdown syntax. If you don't have any ideas, or writing up in Markdown seems too much of a chore, just ask [ChatGPT](https://chat.openai.com/) to write one for you (Ex: "Come up with a recipe in markdown format."), and then paste it into your file.
47
+
3. Inside the "my_markdown_recipe.md" file, type a recipe you like using the Markdown syntax. If you don't have any ideas, or writing up in Markdown seems too much of a chore, just ask [ChatGPT](https://chat.openai.com/) to write one for you (Ex: "Come up with a recipe in markdown format."), then paste it into your file.
46
48
- When you are done, click on the "open preview" option to see the formatted version.
47
49
48
50
Great job on getting so far, just one more section to go!
- Friday 11am - 11.30am —> Virtual drop in session.
15
+
16
+
---
17
+
18
+
## Any Questions?
19
+
20
+
---
21
+
22
+
# Operating Systems (OS), Command-line interface (CLI), Git & IDEs
7
23
8
24
---
9
25
10
26
# Objectives
11
27
12
28
- Brief overview of Operating Systems
13
-
- Understand Terminal/CLI
14
-
- Understand Source Control Management & Git
29
+
- Understand and use Terminal/CLI
30
+
- Understand and use Source Control Management & Git
15
31
- Brief overview of Markdown and IDEs
16
32
17
33
---
18
34
19
-
# [fit]Operating Systems (OS)
35
+
# Operating Systems (OS)
20
36
21
37
---
22
38
23
39
# Operating systems (OS)
24
40
25
-
-Software that communicates with machine hardware.
41
+
-**Software that communicates with machine hardware.**
26
42
27
-
- Can you name some popular examples?
43
+
- Can you name some popular examples?
28
44
29
45
---
30
46
31
47
# Operating systems
32
48
33
-
- Some include a graphical user interface (GUI) for manipulation (Windows, MAC OS)
49
+
- Some include a graphical user interface (GUI) for manipulation (Windows, MAC OS).
34
50
35
-
- Linux has multiple distributions - some can include a GUI (e.g. Ubuntu) while some don’t.
51
+
- Linux has multiple distributions - some can include a GUI (e.g. Ubuntu), while some don’t.
36
52
37
53
- When would we want or not want to have a GUI?
38
54
39
55
---
40
56
41
57
# Linux
42
58
43
-
- Popular operating system based on UNIX
59
+
- Popular operating system based on **UNIX.**
44
60
45
-
- Open-source, multiple distributions
61
+
-**Open-source, multiple distributions.**
46
62
47
-
- Commonly used for hosting web servers and scientific computing
63
+
- Commonly used for **hosting web servers and scientific computing.**
48
64
49
65
---
50
66
51
-
# [fit]Command-line Interface (CLI) and Bash
67
+
# Command-line interface (CLI) and Bash
52
68
53
69
---
54
70
55
71
56
-
# CLI - Command Line Interface
72
+
# CLI - Command-line interface
57
73
58
-
- Also referred to as the ‘Console’ or ‘Terminal’.
74
+
- Also referred to as the **‘Console’** or **‘Terminal’**.
59
75
60
-
-Terminal app on your Mac (you will have it by default because Mac OS is UNIX based) or Git Bash on your Windows (needs downloading)
76
+
-**Used to run programs, manage files and interact with the computer.**
61
77
62
78
---
63
79
64
80
# Bash - Bourne Again SHell
65
81
66
-
- Command Language for most Linux distributions
82
+
-**Command Language for most Linux distributions.**
67
83
68
-
- sh = Bourne Shell
84
+
-**sh = Bourne Shell**
69
85
70
-
- The Shell is the layer between the Operating System and the User (or other services)
86
+
- The Shell is the **layer between** the Operating System (OS) and the User (or other services).
87
+
88
+
- Can be found it in the **Terminal app** on your Mac (you will have it by default because Mac OS is UNIX based) or in **Git Bash** on your Windows (not native -> needs to be installed).
71
89
72
90
---
73
91
@@ -139,56 +157,61 @@ clear # Clears the terminal screen
139
157
140
158
- TAB - autocompletes commands, file names, or directory names for you.
141
159
142
-
- UP/DOWN Arrows - Scroll backward and forwards through previous commands you’ve typed in the current session.
160
+
- UP / DOWN Arrows - Scroll backward and forwards through previous commands you’ve typed in the current session.
143
161
144
162
- F3 - Repeat the previous command.
145
163
146
-
- CTRL + C - Abort the current line you’re typing or a command that is currently executing.
164
+
- CTRL + C - Abort the current line you’re typing or a command that is currently executing.
147
165
148
166
149
167
---
150
168
151
-
# [fit] Source Control Management(SCM) and Git
169
+
# Coding Time
170
+
## Section A
171
+
172
+
---
173
+
174
+
# Source Control Management(SCM) and Git
152
175
153
176
---
154
177
155
178
156
179
# Source Control Management(SCM)
157
180
158
-
- Refers to tools used to track modifications to a source code repository.
181
+
- Refers to **tools used to track modifications** to a source code repository.
159
182
160
-
- Source Control Management = Version Control
183
+
-**Source Control Management = Version Control**
161
184
162
185
---
163
186
164
187
# Why do we use Source Control?
165
188
166
-
- Helps teams work collaboratively.
189
+
- Helps teams work **collaboratively.**
167
190
168
-
- Developers can edit shared code without unknowingly overwriting each other’s work.
191
+
- Developers can edit shared code **without unknowingly overwriting each other’s work**.
169
192
170
-
- Serves as a protection mechanism.
193
+
- Serves as a **protection mechanism.**
171
194
172
195
173
196
---
174
197
175
198
# Git
176
199
177
-
- Git (Global Information Tracker) = a version control system.
200
+
-**Git (Global Information Tracker) = a version control system.**
178
201
179
-
- Why Git? -> Because of its popularity, community, opensource nature, and decentralised approach.
202
+
-**Why Git?** - Because of its popularity, community, opensource nature, and decentralised approach.
180
203
181
204
---
182
205
183
206
# Git - What does it do?
184
207
185
-
- Allows you to *collaborate* on a project without interfering with each other’s work.
208
+
- Allows you to **collaborate** on a project w**ithout interfering with each other’s work.**
186
209
187
-
- Keeps a historical record of everyone's work so you can go back to previous records.
210
+
- Keeps a **historical record of everyone's work** so you can go back to previous records.
188
211
189
-
- You can work on your local copy of the codebase and then merge your changes with the main codebase.
212
+
- You can work on your **local copy of the codebase** and then **merge your changes with the main codebase.**
190
213
191
-
- Uses a series of snapshots, called commits, to track changes to the codebase over time along with the timestamp and user who made the changes.
214
+
- Uses a **series of snapshots**, called **commits**, to **track changes** to the codebase over time, along with the timestamp and user who made the changes.
192
215
193
216
---
194
217
@@ -208,13 +231,15 @@ clear # Clears the terminal screen
208
231
# Basic Git commmands
209
232
210
233
```bash
211
-
git clone <https://github.com/sergiuHudrea/intro-to-python.git># Copies an existing Git repository from a remote location to your local machine.
# Copies an existing Git repository from a remote location to your local machine.
212
236
213
237
214
238
git init # Initializes an existing directory as a Git repository.
215
239
216
240
217
-
git status # Shows the current status of the repository, including which files have been modified, which files have been added to the staging area, and which files are not being tracked by Git.
241
+
git status # Shows the current status of the repository, including which files have been modified,
242
+
# which files have been added to the staging area, and which files are not being tracked by Git.
218
243
```
219
244
220
245
---
@@ -225,11 +250,13 @@ git status # Shows the current status of the repository, including which files
225
250
226
251
git add .# Adds ALL changes to the staging area in preparation for committing them to the repository.
227
252
228
-
git commit -m "<Short description of what you have worked on.>"# Saves changes to the local repository, along with your commit message, usually describing the changes.
253
+
git commit -m "<Short description of what you have worked on.>"
254
+
# Saves changes to the local repository, along with your commit message, usually describing the changes.
229
255
230
256
git push origin main # Uploads local changes to your remote repository, on the main branch.
231
257
232
-
git pull origin main # Downloads changes from the remote repository (main branch) and incorporates them into your local repository.
258
+
git pull origin main # Downloads changes from the remote repository (main branch)
259
+
# and incorporates them into your local repository.
233
260
234
261
```
235
262
@@ -243,23 +270,21 @@ git pull origin main # Downloads changes from the remote repository (main branc
243
270
244
271
- When creating a repository, you usually start off by writing a **README.md** file in a Markup language called Markdown.
245
272
246
-
- The **README.md** summarises important information about the contents of the repo, instructions on how to edit or run the software, etc.
247
-
248
-
-*Markdown* is a lightweight markup language for creating formatted text using a plain-text editor.
273
+
- The **README.md****summaris
F71C
es important information** about the contents of the repo, **instructions** on how to edit or run the software, etc.
249
274
275
+
-***Markdown* is a lightweight markup language for creating formatted text using a plain-text editor.**
250
276
251
277
---
252
278
253
279
# IDEs
254
280
255
-
-**IDE** = An Integrated development environment is a software for application building. It combines tools into a single graphical user interface (GUI).
281
+
-**IDE** = An **Integrated development environment** is a software for application building. It combines tools into a single graphical user interface (GUI).
256
282
257
-
- Why use an IDE? --> The tools needed are already there and ready to use. It is efficient and makes life easier.
283
+
-**Why use an IDE?** - The tools needed are already there and ready to use. It is efficient and makes life easier.
258
284
259
285
- Imagine repairing a car in a parking lot VS repairing it in a garage.
260
286
261
-
- You can develop applications without an IDE, but the you would have to build your own IDE by manually integrating the tools you need.
287
+
-**You can develop applications without an IDE**, but the you would have to build your own IDE by manually integrating the tools you need.
262
288
263
-
- Replit = a cloud IDE --> No need for downloading software and configuring local environments. No more "But it works on my machine".
289
+
-**Replit** = a **cloud IDE** --> No need for downloading software and configuring local environments. No more "But it works on my machine".
0 commit comments