Skip to content

ForeverNewb/shell

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

100 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unix

Contents

  1. Description
  2. Learning Outcomes
  3. Course Contacts
  4. Pre-Course Work
  5. Design
  6. Schedule
  7. Prerequisites
  8. Expectations
  9. Policies
  10. Folder Structure
  11. Acknowledgements

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.

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.

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.

Course Contacts

Questions can be submitted to the #questions channel on Slack

Pre-Course Work

Before the first class please get your computer set up by following these instructions: https://github.com/UofT-DSI/Onboarding

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. 

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.

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.  

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"
  • 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.  

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

Assignments

  • 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.

  • Homework: Homework is not graded but it is highly recommended.

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.
  • Assignment 1: This assignment is graded.
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

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published