Welcome to CS2043, Spring 2020 edition!

This site is a work in progress. Stay tuned for more details!

Course Syllabus


Download Course Syllabus (not final version)


About the Course


The goal of CS2043 is to introduce you to the UNIX/Linux "command line" and its accompanying tools. UNIX and UNIX-like systems are increasingly being used on personal computers, mobile phones, web servers and many other systems. In additional to traditional UNIX and Linux distributions, MacOS X, Android, and iOS are all based on UNIX systems. Microsoft also supports the WSL (Windows Subsystem for Linux) which allows you to, among other things, run a UNIX shell on your Windows machine. When done with this class you should feel comfortable navigating any UNIX shell prompt, installing UNIX/Linux systems and understanding any shell script that you may encounter down the road. We'll cover basic commands through script writing and visit some of the more common tools used today!

Course Staff and Office Hours


Ron DiNapoli, Lecturer — 441B Gates Hall

rd29@cornell.edu
Wednesdays 12:30 - 1:30PM
Thursdays 7 - 8:30PM



Kaitlyn Li, Undergraduate TA


kml284@cornell.edu
Tuesdays 11:30AM - 12:30PM Rhodes 574
Thursdays 11:30am - 12:30PM Rhodes 574



Jason Huang, Undergraduate TA


jh2424@cornell.edu
Thursday, 1/23 3PM - 4PM Rhodes 406
After 1/28:
Tuesdays 4:30PM - 6PM Rhodes 597
Thursdays 4:30PM - 6PM Rhodes 597


Course Management


Most of the day to day operation of the class will be handled through the Computer Science department's CMS Course Management System. Just before our first class I will add everyone on the course roster into CMS. If you do not find CS2043 as a class you have access to in CMS after Wednesday's lecture, please contact me!

I have also enabled Piazza for this class. You will need to self-enroll here if you'd like to participate!



Virtualization


Many of you will already be familiar with installing Linux and running it either as a primary operating system on your personal machines or through virtualization. Even though users of MacOS machines and Linux machines have access to a shell natively, I'd recommend you consider installing a virtualization environment on your machine so that course work (which may entail changing permissions, writing scripts that may delete things, etc.) doesn't have an (accidental) negative or sometimes destructive impact on your machine! For more information on virtualization, please visit Get a Virtualization Environment on this site!