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
What are the key topics that will be covered in the workshop?
Knowing when the following tools are useful, and how to use them
ps
strace
The /proc filesystem
lsof
And maybe some others - generally how to look into processes and understand what they're doing.
Note that some of our trainees will have Linux computers, and others will have macOS computers, and that several of these tools don't work properly when run via qemu (e.g. when running a Linux container in macOS), so we may need to provide environments somehow. We can either lend people laptops, or provide some EC2 machines they can ssh to or something.
What knowledge does the trainee need before starting?
They will have completed the ITP and Piscine courses, so will have learnt JavaScript and written several non-trivial projects in JavaScript. They will also have written some Python before. They have probably never consciously used the terms thread or file descriptor. They may be a bit vague on what a process actually is in the first place.
They will have done the following sections of prep:
https://sdc.codeyourfuture.io/tools/sprints/2/prep/ - reading How Computers Really Work chapter 9, written a bunch of JS, a bit of Python, and read a very small amount of C. Familiarity with shell pipelines, and some more simple shell tools.
https://sdc.codeyourfuture.io/tools/sprints/3/prep/ - reading How Computers Really Work chapter 10 - should be able to vaguely describe what a process is and what a syscall is, but without much depth of understanding. Have implemented wc in NodeJS, and used dependencies from npm.
Any C code we write/use will need to be super simple and explained.
What are the topics that will not be covered in the workshop?
We probably don't want to go super deep into OS internals, but the boundaries are a bit fuzzy.
Any other notes?
Ideally I'd like this to fit inside 90 minutes, less is fine too.
Workshop Request
What is the title of your workshop
Process spelunking
What are the key topics that will be covered in the workshop?
Knowing when the following tools are useful, and how to use them
ps
strace
/proc
filesystemlsof
And maybe some others - generally how to look into processes and understand what they're doing.
Note that some of our trainees will have Linux computers, and others will have macOS computers, and that several of these tools don't work properly when run via qemu (e.g. when running a Linux container in macOS), so we may need to provide environments somehow. We can either lend people laptops, or provide some EC2 machines they can ssh to or something.
What knowledge does the trainee need before starting?
They will have completed the ITP and Piscine courses, so will have learnt JavaScript and written several non-trivial projects in JavaScript. They will also have written some Python before. They have probably never consciously used the terms thread or file descriptor. They may be a bit vague on what a process actually is in the first place.
They will have done the following sections of prep:
wc
in NodeJS, and used dependencies from npm.Any C code we write/use will need to be super simple and explained.
What are the topics that will not be covered in the workshop?
We probably don't want to go super deep into OS internals, but the boundaries are a bit fuzzy.
Any other notes?
Ideally I'd like this to fit inside 90 minutes, less is fine too.
Completion
When completed the lesson plan and exercises should be added as a markdown file to https://github.com/CodeYourFuture/CYF-Workshops
The text was updated successfully, but these errors were encountered: