Introduction
COMS 3995 NOS is a new course that introduces core systems concepts in networks, operating systems and security. It answers questions such as:
- Why do I see an hour glass or spinning beach ball?
- How can I share the CPU so that I can still play a game while compiling a new Linux kernel?
- What's a file system and how does it work?
- How does the Internet work?
- How does data get from sender to destination, and why doesn't it sometimes?
- How can the Internet work without anybody in charge?
- What happens when there's an Internet traffic jam?
- What are the fundamental limits of networks?
- Can cloud computing replace traditional computing?
- What's a protocol and how does it relate to an API?
- How is a web browser and an operating system similar?
- What is cross-site scripting?
- How can I send you a secure letter without knowing your secret?
- How can I sign a contract without a pen?
- How can I prove to a computer that it's really me?
What will you do in the course?
The course consists of lectures, discussions, review homeworks and a set of mini-projects (in Java and/or C) that explore topics in the course.
Who should take NOS?
The course is tailored to two kinds of students:
- You are interested in exploring how the core "behind the scenes" software and infrastructure works, how to build software that scales and why security is challenging, but you don't have the time or room in your schedule to take the three core systems courses (COMS 4118, COMS 4119, COMS 4180).
- You are interested in taking one or more of the 4xxx systems courses, but would prefer a broader perspective first.