You will be responsible for forming a group of 4-5 students. The worst possible thing you can do is choose a set of your friends. We won't put any actual restrictions (other than the size, for which no exceptions will be made), but we strongly recommend you keep the following goals in mind when forming your group:
If you are taking this course because "you needed one more credit and this seemed easy enough", please drop now. I did my best to filter out these students in the application process, but, seriously, this is not the right course if that's your goal. This course is about learning, and we expect you to care more about some weeks than others. This means that you will very likely do almost no work some weeks and much more than 1 credit of work in others.
This course is not about grading, but the policy is simple: "your group must finish all the projects". Many weeks will literally build on previous weeks, and if your group falls three weeks behind, there's not really any point in continuing the course. The projects are mostly set up to be deliberately "divvy-able"--we *want* you to work on one piece of a larger machine! That's how real life is! If you find yourself doing most of the projects by yourself (and you are not okay with that), then let us know.
There is no standard "lecture" or "homework" in this class. "Lecture" is usually mostly "work time" and "homework" is "finish what you didn't get done for next week". We reserve the right to (very rarely) give you small expectations outside of lecture, but 90% of the time, they will be to finish what you didn't get done.
Many of you will have used SSH before, but very few of you will have used Mosh. Mosh is a "Remote terminal application that allows roaming, supports
intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes." The tl;dr is "you don't lose your SSH connection when you're in a Starbucks and
you lose internet for a couple seconds when you're using mosh." We think this is a valuable piece of technology; so, we've provided a way for you to use it on
telnetlibthat allows you to make client telnet connections. We recommend you look at the following methods in the documentation:
telnet = telnetlib.Telnet(HOST, PORT)
nmap(Network Mapper), a security scanner, which does this on
attu. Google and
manare your friends.