forked from UofT-DSI/shell
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updating the directory to be aligned with the Python repo
- Loading branch information
Showing
284 changed files
with
77 additions
and
139 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
File renamed without changes.
This file was deleted.
Oops, something went wrong.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,92 +1,104 @@ | ||
# Unix | ||
|
||
## Contents | ||
1. [Description](#description) | ||
2. [Learning Outcomes](#learning-outcomes) | ||
3. [Course Contacts](#course-contacts) | ||
4. [Pre-Course Work](#pre-course-work) | ||
5. [Design](#design) | ||
6. [Schedule](#schedule) | ||
7. [Prerequisites](#prerequisites) | ||
7. [Expectations](#expectations) | ||
8. [Policies](#policies) | ||
9. [Folder Structure](#folder-structure) | ||
10. [Acknowledgements](#acknowledgements) | ||
## Content | ||
* [Description](#description) | ||
* [Learning Outcomes](#learning-outcomes) | ||
* [Assignments](#assignments) | ||
* [module Contacts](#module-contacts) | ||
* [Delivery of Module](#delivery-of-module) | ||
+ [How the Instructor will deliver](#how-the-instructor-will-deliver) | ||
+ [Expectations](#expectations) | ||
* [Schedule](#schedule) | ||
* [Policies](#policies) | ||
* [Requirements](#requirements) | ||
* [Resources](#resources) | ||
+ [Cheatsheet](#cheatsheet) | ||
+ [Videos](#videos) | ||
+ [How to get help](#how-to-get-help) | ||
* [Folder Structure](#folder-structure) | ||
|
||
## Description | ||
This section of the course will start by introducing the fundamental language of Unix shell, covering topics such as file and directory navigation and manipulation. Following this, students will gain proficiency in various commands, script creation, and the development of basic functions utilizing pipes, filters, and loops. | ||
This section of the module will start by introducing the fundamental language of Unix shell, covering topics such as file and directory navigation and manipulation. Following this, students will gain proficiency in various commands, script creation, and the development of basic functions utilizing pipes, filters, and loops. | ||
|
||
Throughout this section of the course, participants will acquire problem-solving skills through live coding sessions. Additionally, they will explore the concept of reproducibility and its integration into their work. | ||
Throughout this section of the module, participants will acquire problem-solving skills through live coding sessions. Additionally, they will explore the concept of reproducibility and its integration into their work. | ||
|
||
## Learning Outcomes | ||
After completing this section of the course, the students will: | ||
1. Comfortably access the terminal and write scripts using basic commands, variables, pipes, filters and loops. This will be assessed in Assignment 1. | ||
2. Self-problem solve by identifying issues, researching, or properly formulating questions using components of reproducibility. This will be assessed in Assignment 1. | ||
By the end of the module, learners will: | ||
* Develop the ability to comfortably access and navigate the terminal | ||
* Develop the skills to independently troubleshoot issues by identifying problems, conducting research, and formulating questions using components of reproducibility. | ||
|
||
## Course Contacts | ||
**Questions can be submitted to the #questions channel on Slack** | ||
|
||
* Instructor: **Kaylie Lau** (she/her). Emails to the instructor can be sent to [email protected]. | ||
* Instructor: **Simeon Wong** (he/him). Emails to the instructor can be sent to [email protected]. | ||
* TA: **Tong Su** (she/her). Emails to the teaching assistant can be sent to [email protected]. | ||
* TA: **Julia Gallucci** (she/her). Emails to the teaching assistant can be sent to [email protected]. | ||
## Assignments | ||
**The Secret Password Assignment:** You are stuck in a virtual room and can only leave if you figure out the password! Fortunately, somebody left behind 5 clues for you to find the secret password, but the messaging are not that clear. It is your job to discover what the secret password is! | ||
|
||
## Pre-Course Work | ||
Before the first class please get your computer set up by following these instructions: https://github.com/UofT-DSI/Onboarding | ||
## Contacts | ||
**Questions can be submitted to the #questions channel on Slack** | ||
|
||
## Design | ||
The course runs synchronously over Zoom. The Unix section consists of four classes over one week. Classes are 6:00 PM - 8:30 PM EDT on weekdays, and 9:00 AM - 11:30 AM EDT on Saturday. Being mindful of online fatigue, there will be one or two breaks during each class where students are encouraged to stretch, grab a drink and snacks, or ask any additional questions. | ||
* Instructor: **{Name}** {Pronouns}. Emails to the instructor can be sent to {first_name.last_name}@mail.utoronto.ca. | ||
* TA: **{Name}** {Pronouns}. Emails to the instructor can be sent to {first_name.last_name}@mail.utoronto.ca. | ||
|
||
## Delivery of Module | ||
The module will run sychronously twice a week on Zoom. The first two days are used as "lectures" and will last a maximum of 3 hours. During this time, the instructor will introduce the concepts for the week. The last two days are used for as optional, asychronous work periods. The work periods will also last for up to 3 hours. During these two days, an instructor or TA will be present on Zoom to assist learners reach the intended learning outcomes. | ||
|
||
Tutorial sessions with a TA will also be offered over Zoom. These will take place from 5:30 PM - 6:00 PM EDT and 8:30 PM - 9:00 PM on weekdays, and 8:30 AM - 9:00 AM EDT and 11:30 AM - 12:00 PM EDT on Saturdays. | ||
### How the Instructor will deliver | ||
The instructors will introduce the concepts through a collaborative demonstration along with the use of the slides. | ||
|
||
### Expectations | ||
Learners are encouraged to be active participants while coding and are encouraged to ask questions throughout the module. | ||
|
||
## Schedule | ||
The schedule is tentative and may be modified as needed. Learners will be notified of schedule changes. | ||
* **Day 1 (Tuesday, January 16, 6:00 PM - 8:30 PM):** Unix Shell I (introducing the Shell, introductory commands) | ||
* **Day 2 (Wednesday, January 17, 6:00 PM - 8:30 PM):** Unix Shell I (files and directories) | ||
* **Day 3 (Thursday, January 18, 6:00 PM - 8:30 PM):** Unix Shell II (input/output and pipes/filters) | ||
* **Day 4 (Saturday, January 20, 9:00 AM - 11:30 AM):** Unix Shell III (shell scripts, shell functions, parameters, flow control) | ||
|
||
## Prerequisites | ||
Learners are expected to know how to operate a computer. No prior programming knowledge is required. | ||
|
||
## Expectations | ||
The course is a live coding class. Learners are expected to follow along with the coding in their own shell. Learners should be active participants while coding and are encouraged to ask questions throughout. Although slides will be available, they should be referenced before or after class, as the class will be dedicated to coding with the instructor. | ||
|
||
### Technology requirements | ||
* Learners must have a computer and an internet connection to participate in online activities. | ||
* Learners must have set up their computer using this [link](https://github.com/UofT-DSI/Onboarding). | ||
||Day 1|Day 2|Day 3|Day 4| | ||
|---|---|---|---|---| | ||
|Week 1|Lecture 1 (Shell)|Work Period 1|Lecture 2 (Git & Github)|Work Period 2| | ||
|
||
## Policies | ||
* **Accessibility:** We want to provide an accessible learning environment for all. If there is something we can do to make this course more accessible to you, please let us know. | ||
* **Course communications:** Communications take place over email or on Slack. If communicating over email, please include "DSI-Shell" or similar in the subject line, e.g. "DSI-Shell: mv question" | ||
* **Accessibility:** We want to provide an accessible learning environment for all. If there is something we can do to make this module more accessible to you, please let us know. | ||
* **module communications:** Communications take place over email or on Slack. If communicating over email, please include "DSI-Git" or similar in the subject line, e.g. "DSI-Git: pandas question" | ||
* **Camera:** Keeping your camera on is optional. | ||
* **Microphone:** Please keep microphones muted unless you need to speak. Please indicate your name before speaking as some Zoom configurations make it hard to tell who is talking! | ||
* **Assessment:** There will be homework which **is not** graded, but highly recommended, and there will be an assignment which **is** graded. | ||
* **Assessment:** There will be homework which **is not** graded, but highly recommended, and there will be two assignments which **are** graded. | ||
|
||
## Folder Structure | ||
* **01-slides:** Course slides as Markdown and PDF files | ||
* **02-homework:** Homework to practice concepts covered in class as Markdown and PDF files | ||
* **03-assignments:** Graded assignments as Markdown and PDF files | ||
* **04-guides:** Instructions related to configuring a Windows environment for specific tasks | ||
* README: This file! | ||
* LICENSE: Copyright information for these materials | ||
* .gitignore: Files to exclude from this folder, specified by the instructor | ||
## Requirements | ||
* Learners are not expected to have any coding experience, we designed the learning contents for beginners. | ||
* Learners are encouraged to ask questions, and collaborate with others to enhance learning. | ||
* Learners must have a computer and an internet connection to participate in online activities. | ||
* Learners must not use generative AI such as ChatGPT to generate code in order to complete assignments. It should be use as a supportive tool to seek out answers to questions you may have. | ||
* We expect learners to have completed the [onboarding repo](https://github.com/UofT-DSI/Onboarding/tree/tech-onboarding-docs). | ||
* Camera is optional although highly encouraged. We understand that not everyone may have the space at home to have the camera on. | ||
|
||
### Assignments | ||
## Resources | ||
Feel free to use the following as resources: | ||
|
||
* **Class attendance**: To ensure everyone actively participates in class activities, attendance is mandatory and will be monitored. If you are unable to attend class, it is your responsibility to make up the work that was covered. | ||
### Cheatsheet | ||
- [Devhints](https://devhints.io/bash) | ||
- [Another cheatsheet](https://github.com/RehanSaeed/Bash-Cheat-Sheet) | ||
|
||
* **Homework**: Homework **is not** graded but it is highly recommended. | ||
### Videos | ||
- [Change Directory](https://www.youtube.com/watch?v=6U4XV4w8qtE) | ||
- [Deleting Files and Directories](https://www.youtube.com/watch?v=-L3XeZPwj_Y) | ||
- [Bash in 100 seconds](https://www.youtube.com/watch?v=I4EWvMFj37g) | ||
|
||
| Format | Details | Submission Instructions | | ||
| :----: | :----- | :---------------------- | | ||
| Homework | Can be submitted on the day of the next class | Submit homework via your Google Drive. Upload your files using the convention LASTNAME_FIRSTNAME_shell_homework_DAY. | | ||
### How to get help | ||
![image](/Steps%20to%20ask%20for%20help.png) | ||
|
||
* **Assignment 1**: This assignment **is** graded. | ||
<hr> | ||
|
||
| Format | Details | Submission Instructions | | ||
| :----: | :----- | :---------------------- | | ||
| Assignment 1 | Due on **Monday, January 22 at 11:59pm** | Submit assignment via your Google Drive. Upload your shell script file using the convention LASTNAME_FIRSTNAME_shell_assignment1.sh | | ||
## Folder Structure | ||
|
||
## Acknowledgements | ||
Course materials were originally developed by Rachael Lam under the supervision of Rohan Alexander. Materials have been modified by Delaram Pouyabahar, Kaylie Lau, and Simeon Wong for 2023, and 2024. | ||
```markdown | ||
|-- 01 - slides | ||
| |-- instructor-notes | ||
| |-- live-coding | ||
|-- 02 - assignments | ||
|-- 03 - homework | ||
|-- .gitignore | ||
``` | ||
|
||
* **slides:** module slides as PDFs | ||
* **live-coding:** Notebooks from class live coding sessions | ||
* **homework:** Optional homework to practice concepts covered in class | ||
* **assignments:** Graded assignments | ||
* **instructor-notes:** Instructions for the Instructor on what to teach | ||
* README: This file! | ||
* .gitignore: Files to exclude from this folder, specified by the instructor |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
This file was deleted.
Oops, something went wrong.
Binary file not shown.