Welcome to CS2043, Spring 2023 edition!

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

Course Syllabus, Schedule

Download Course Syllabus
Download Course Schedule (subject to change)

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 — 445 Gates Hall

Mondays: 4:30PM - 5:30PM (in office)
Tuesdays: 7:00PM - 8:30PM Zoom: Ron's Office Hours

Emily Robinson, Undergraduate Consultant

Thursdays (starting 2/2/23): 2:45PM - 3:40PM Rhodes 576
Fridays (starting 1/27/23): 2:45PM - 4:45PM Zoom: Emily's Office Hours
Sundays: 2:45PM - 3:45PM. Zoom: Emily's Office Hours

Joshua Caplan, Undergraduate Consultant

Mondays: 3:00PM - 5:00PM Rhodes 400
Fridays (starting 1/27/23): 3:00PM - 5:00PM Rhodes 400

Woosang Kang, Undergraduate Consultant

Tuesdays: 4:30PM - 6:30PM Rhodes 576
Thursdays (starting 2/2/23): 5:00PM - 7:00PM Rhodes 402

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 will also use Canvas to distribute lecture notes and online videos for classes that are not held in person. In Canvas you will find a link to Ed Discussions which can be used for asking questions about the course throughout the semester.


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!

Use the link below to get started!