What's New at CSMC?

Vim Night 2018

Have you chosen Vim as your editor for 241 but aren't really comfortable using it?

Have you been meaning to start using Vim or Emacs for your 241 assignments but need a nudge in the right direction?

Have you been steered toward Emacs by professor Hoyle but through deep introspection decided to reform your ways and switch to Vim, the One True Editor?

Are you interested in picking up some cool new Unix skills?

If so, then come to Vim Night!

  • Where: King 135
  • When: 7:30p Saturday March 10, 2018
  • What: A crash course on Vim including a lesson on some useful commands, and time to practice putting them to use.
  • Who: Anybody! No prior experience with Vim or the command line required.

Hosted by Jakob Cornell

Git Night 2017

Come learn the basics of git and GitHub! The event is at 4:30p on Friday, February 17 in King 135. Install git on your computer and bring it with, or use a lab machine to follow along.

If you'd like to participate in the GitHub activity to apply your git skills, send us your GitHub username before the event (to jbregsto or jcornell at oberlin.edu).

Hosted by Puck Bregstone and Jakob Cornell

End of the Year Picnic
Saturday, May 7th, 12:00pm

Annual CS Departmental Potluck! Super fun! Yay!

Hosted by Tom and Alexa - their house (check email for address)

Game Night!
Friday, May 6th, 7:30pm

Come hang out with the CS department! Play board and card games and complain about how much you still have to do for finals!

Hosted by Noel Warford - Math Library

CS Art Show
Saturday, December 5th, 8:00pm

The CS Art Show was great!
Shiying and her hedgehog art Shiying and Kat enjoying Prof. Ben Kuperman's art

Hosted by the Elizabeth Bentivegna - King 135

Game Night!
Friday, November 13th, 7:30pm

Come hang out with the CS department! Play board and card games and complain about how much you still have to do on you lab for this week!

Hosted by the CSMC - King 135

Git Night!
Monday, November 9th, 7:00pm - Introductory Git
Wednesday, Nobember 11th, 7pm - Intermediate Git

Want to learn all about git? Come to both nights or just one!

Day 1

  • Git History
    • version control systems
    • diff vs snapshot
  • Git Basics (getting started)
    • first-time git setup
    • cloning an existing repository (status, add, diff, commit)
    • starting a new repository (init)
  • Lonely Git (using git with one local repositoy)
    • recording changes to a repository (status, add, diff, commit)
    • ignoring files (.gitignore)
    • branching (branch, checkout)
    • merging (merge)
    • viewing git logs (log)

Day 2

  • Sociable Git (using git with multiple people on a remote repository)
    • remote repositories (remote, push, pull, fetch)
    • workflows (master, develop)
    • rebasing (rebase)
    • merge vs rebase
  • GitHub (contributing to the ecosystem)
    • forking
    • creating pull requests
    • issue tracking
    • writing in (github flavored) markdown
  • Git Flow (acquiring a professional convention)
    • using Git for full production cycles
  • Advanced Git Tools (some of many)
    • alias
    • stash
    • submodule
    • patch
    • pull --rebase
    • Vim Fugitive


Hosted by Katherine Chan and Alix Ryu

Netflix XOR Chill Night!
Wednesday, October 28th, 8:00pm

Have you always wanted to Netflix and Chill in the lab? Well don't, there are cameras. But you can Netflix XOR Chill this Wednesday with Kat, she will mostly be chilling but Imitation Game may also be playing!

Hosted by Kat Chan and only her and not the CSMC - King 135

Vim Night!
Wednesday, October 7th, 7:00pm

At Vim night, you'll learn why you might want to use a command line editor instead of an IDE, how to save yourself time and keystrokes when coding, Vim basics, and how to customize Vim for your specific needs.

Hosted by Ben Stern in King 135

Machine Setup Workshop!
Sunday, September 13th, 3:00pm - Windows
Wednesday, September 16th, 5:00pm - Mac and Linux

Do you want to work on your labs without leaving the comfort of your bed (especially during the winter)? We will teach you how to work from your machine! You will learn about how to connect remotely to your OCCS account, how to transfer files between your machine and your OCCS account, and how to hand in your labs from your own computer.

Hosted by Elizabeth Bentivegna, Meghan McCreary, Lauren Wong and Aaron Young

Git Night!
Thursday, October 10th, 8:30pm

Have you ever had more than one copy of a file just to make sure you wouldn't lose good code? Want to work with other people without ever emailing files/Google docs/flash key/etc? Want a system to automatically track all the things you do and integrate changes other people make into one file? Come to Git night, where you'll learn to do all the above (and more) and become a Kit-Kat certified octo-wizard.

Hosted by Dan Barella & Peter Fogg

Unix Night!
Thursday, October 3rd, 8:00pm

Want to learn about *NIX, how to customize your terminal experience, and nifty tips and tricks for workflow in the terminal? Then come to Unix Night!

See you there!

First Programming Skills Workshop!
Saturday, November 6 from 4-6pm

Remember to bring a pencil and paper as we will be working out a lot of these problems by hand.

See you there!

What are the workshops about?

Here's a challenge for all of you: code up a program that will implement quick sort. You can't refer to any resources and you can't ask for any hints. Oh, and do it in five minutes. On paper. But don't make any mistakes! This is the kind of pressure that most of us will find ourselves in sooner or later. We are most likely to run into situations like this when applying for jobs or applying to grad schools. As some of you may or may not know, when you apply to a software engineering position, as an intern or full-time, a standard portion of the interview process will involve answering technical questions. Usually you only have a few minutes and you almost always have to write your solution on a whiteboard or piece of paper. The technical questions will almost always involve algorithms that you used to know but are a little rusty on. They will involve data structures that you learned in 151 but haven't since touched. They will probably involve recursion. The same thing applies to those of you who are taking the GRE subject test.

But never fear! Because these skills are not hard to learn--they just take practice. Since we want the Oberlin CS department to do as well as possible on their job interviews/standardized tests, the CSMC has decided to host, for the first time ever, Programming Skills Workshops! During these workshops we will tackle a variety of problems, write our solutions on paper, and then discuss the solutions. As a group, we'll learn what challenges we face, what approaches to take, and what solutions work the best. Most importantly, however, we will become the best programmers we can be.

So whether you are graduating soon, applying for internships, or just want to hone your programming skills, you should definitely be seriously considering attending these workshops.